Commit 3e4064aa by jianan

Merge branch 'dev_20201217_lifeCommissionUpdate' into dev

parents 413b9d05 1906d4c3
...@@ -2,10 +2,7 @@ package com.yd.api.commission; ...@@ -2,10 +2,7 @@ package com.yd.api.commission;
import com.yd.api.commission.service.LifeCommissionService; import com.yd.api.commission.service.LifeCommissionService;
import com.yd.api.commission.vo.lifecommission.CheckComeCommissionRequestVO; import com.yd.api.commission.vo.lifecommission.*;
import com.yd.api.commission.vo.lifecommission.CheckComeCommissionResponseVO;
import com.yd.api.commission.vo.lifecommission.ComeCommissionListResponseVO;
import com.yd.api.commission.vo.lifecommission.QueryComeCommissionListRequestVO;
import com.yd.api.result.JsonResult; import com.yd.api.result.JsonResult;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
...@@ -49,4 +46,18 @@ public class LifeCommissionController { ...@@ -49,4 +46,18 @@ public class LifeCommissionController {
return result; return result;
} }
/**
* 来佣比对-历史比对年月列表查询
*
* @return
*/
@RequestMapping("/querycheckBatchList")
public Object querycheckBatchList(){
JsonResult result = new JsonResult();
QuerycheckBatchListResponseVO responseVO = lifeCommissionService.querycheckBatchList();
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
} }
\ No newline at end of file
...@@ -7,4 +7,5 @@ public interface LifeCommissionService { ...@@ -7,4 +7,5 @@ public interface LifeCommissionService {
CheckComeCommissionResponseVO updateCommissionCheckStatus(CheckComeCommissionRequestVO requestVO); CheckComeCommissionResponseVO updateCommissionCheckStatus(CheckComeCommissionRequestVO requestVO);
QuerycheckBatchListResponseVO querycheckBatchList();
} }
...@@ -71,6 +71,10 @@ public class LifeCommissionServiceImpl implements LifeCommissionService { ...@@ -71,6 +71,10 @@ public class LifeCommissionServiceImpl implements LifeCommissionService {
String status = requestVO.getCheckStatus(); String status = requestVO.getCheckStatus();
String loginId = requestVO.getLoginId(); String loginId = requestVO.getLoginId();
String checkBatch = requestVO.getCheckBatch(); String checkBatch = requestVO.getCheckBatch();
if (StringUtils.isBlank(checkBatch)) {
resp.setCommonResult(new CommonResult(false, "检核日期不能为空"));
return resp;
}
try { try {
// 操作前先检查是否已关账 // 操作前先检查是否已关账
// 查询对应订单记录 // 查询对应订单记录
...@@ -114,6 +118,30 @@ public class LifeCommissionServiceImpl implements LifeCommissionService { ...@@ -114,6 +118,30 @@ public class LifeCommissionServiceImpl implements LifeCommissionService {
return resp; return resp;
} }
@Override
public QuerycheckBatchListResponseVO querycheckBatchList() {
QuerycheckBatchListResponseVO resp = new QuerycheckBatchListResponseVO();
try {
List<String> checkBatchList = lifeCommissionMapper.querycheckBatchList();
// 将["2020-12","2020-11"]转为[{“key”:"2020-12","value":null}]
List<Map<String, String>> dataList = new ArrayList<>();
for (int i = 0; i < checkBatchList.size(); i++) {
Map<String, String> map = new HashMap<>();
map.put("key", checkBatchList.get(i));
map.put("value", null);
dataList.add(map);
}
resp.setCheckBatchList(dataList);
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
} catch (Exception e) {
e.printStackTrace();
resp.setCommonResult(new CommonResult(false, e.getMessage()));
}
return resp;
}
private void orderCommissionCheckCancelSendMail(List<PoOrder> orders) { private void orderCommissionCheckCancelSendMail(List<PoOrder> orders) {
//发送邮件 //发送邮件
List<String> ccList = systemConfigService.getListConfigValue("CancelPolicyNotifyCommissionChecking"); List<String> ccList = systemConfigService.getListConfigValue("CancelPolicyNotifyCommissionChecking");
...@@ -207,11 +235,8 @@ public class LifeCommissionServiceImpl implements LifeCommissionService { ...@@ -207,11 +235,8 @@ public class LifeCommissionServiceImpl implements LifeCommissionService {
if (orderCommissonCheck == null){ if (orderCommissonCheck == null){
// 获取当前时间 // 获取当前时间
Date curDate = new Date(); Date curDate = new Date();
// 获取代表批次的年月
String yearmonth = CommonUtil.dateParseString(curDate, "yyyy-MM");
orderCommissonCheck = new OrderCommissonCheck(); orderCommissonCheck = new OrderCommissonCheck();
orderCommissonCheck.setCheckYearmonth(yearmonth); orderCommissonCheck.setCheckYearmonth(OrderCommissionCheckBatch);
orderCommissonCheck.setCreatedAt(curDate); orderCommissonCheck.setCreatedAt(curDate);
orderCommissonCheck.setCreatedBy(loginId); orderCommissonCheck.setCreatedBy(loginId);
orderCommissonCheck.setUpdatedAt(curDate); orderCommissonCheck.setUpdatedAt(curDate);
......
...@@ -8,6 +8,7 @@ public class QueryComeCommissionListRequestVO { ...@@ -8,6 +8,7 @@ public class QueryComeCommissionListRequestVO {
private String compareDate; private String compareDate;
private String historyDate; private String historyDate;
private Long insurerId; private Long insurerId;
private Long practitionerTypeId;
private String commissionCheckStatus; private String commissionCheckStatus;
private PageInfo<ComeCommissionVO> page; private PageInfo<ComeCommissionVO> page;
} }
package com.yd.api.commission.vo.lifecommission;
import com.yd.api.result.CommonResult;
import lombok.Data;
import java.util.List;
import java.util.Map;
@Data
public class QuerycheckBatchListResponseVO {
private CommonResult commonResult;
private List<Map<String, String>> checkBatchList;
}
...@@ -5,7 +5,6 @@ import com.yd.api.commission.vo.lifecommission.QueryComeCommissionListRequestVO; ...@@ -5,7 +5,6 @@ import com.yd.api.commission.vo.lifecommission.QueryComeCommissionListRequestVO;
import com.yd.dal.entity.commission.OrderCommissonCheck; import com.yd.dal.entity.commission.OrderCommissonCheck;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -19,4 +18,6 @@ public interface LifeCommissionMapper { ...@@ -19,4 +18,6 @@ public interface LifeCommissionMapper {
List<OrderCommissonCheck> findByCheckYearmonth(String orderCommissionCheckBatch); List<OrderCommissonCheck> findByCheckYearmonth(String orderCommissionCheckBatch);
Map<String, Object> getSummaries(QueryComeCommissionListRequestVO requestVO); Map<String, Object> getSummaries(QueryComeCommissionListRequestVO requestVO);
List<String> querycheckBatchList();
} }
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
CONCAT(payment_term, (case payment_term_unit when 'Y' then '年' when 'M' then '月' else '日' END)) payTerm, CONCAT(payment_term, (case payment_term_unit when 'Y' then '年' when 'M' then '月' else '日' END)) payTerm,
CONCAT(cover_term, cover_term_type) coverageTerm CONCAT(cover_term, cover_term_type) coverageTerm
from ag_po_order t from ag_po_order t
where t.status in (3,4) and policy_no is not null where t.status = 3 and policy_no is not null
and (t.plan_id not in (424,453,464) or t.plan_id is null) and (t.plan_id not in (424,453,464) or t.plan_id is null)
) o ) o
left join ag_po_order_commission_check c on o.commission_check_id = c.id left join ag_po_order_commission_check c on o.commission_check_id = c.id
...@@ -60,21 +60,22 @@ ...@@ -60,21 +60,22 @@
GROUP BY order_id GROUP BY order_id
) e on e.order_id = o.id ) e on e.order_id = o.id
where 1=1 where 1=1
<if test="insurerId != null">
and o.insurer_id = #{insurerId}
</if>
<if test="practitionerTypeId != null">
and f.practitioner_type_id = #{practitionerTypeId}
</if>
<if test="commissionCheckStatus != null">
and o.commission_check_status = #{commissionCheckStatus}
</if>
<choose> <choose>
<when test="historyDate != null "> <when test="historyDate != null ">
and c.check_yearmonth = #{historyDate} and c.check_yearmonth = #{historyDate}
</when> </when>
<otherwise> <when test="compareDate != null ">
<if test="compareDate != null"> and date_format(o.order_date, '%Y-%m') &lt; #{compareDate}
and date_format(o.order_date, '%Y-%m') &lt; #{compareDate} </when>
</if>
<if test="insurerId != null">
and o.insurer_id = #{insurerId}
</if>
<if test="commissionCheckStatus != null">
and o.commission_check_status = #{commissionCheckStatus}
</if>
</otherwise>
</choose> </choose>
</select> </select>
...@@ -123,30 +124,45 @@ ...@@ -123,30 +124,45 @@
IFNULL(sum(o.order_price),0) totalOrderPrice, IFNULL(sum(o.order_price),0) totalOrderPrice,
IFNULL(sum(o.commission_amount),0) totalCommission IFNULL(sum(o.commission_amount),0) totalCommission
from (SELECT order_price, commission_amount, commission_check_status, commission_check_id, order_date, from (SELECT order_price, commission_amount, commission_check_status, commission_check_id, order_date,
insurer_id insurer_id,id
from ag_po_order t from ag_po_order t
where t.status in (3,4) and policy_no is not null where t.status = 3 and policy_no is not null
and (t.plan_id not in (424,453,464) or t.plan_id is null) and (t.plan_id not in (424,453,464) or t.plan_id is null)
) o ) o
left join ag_po_order_commission_check c on o.commission_check_id = c.id left join ag_po_order_commission_check c on o.commission_check_id = c.id
left join (SELECT order_id, name, practitioner_type_id, f.customer_id
from (
select *
from (select order_id, customer_id from ag_acl_customer_fortune order by referral_amount desc) f
group by f.order_id
) f
left join ag_acl_practitioner practitioner on f.customer_id = practitioner.customer_id
left join ag_acl_practitioner_setting setting on setting.practitioner_id = practitioner.id
) f on f.order_id = o.id
where 1=1 where 1=1
<if test="insurerId != null">
and o.insurer_id = #{insurerId}
</if>
<if test="practitionerTypeId != null">
and f.practitioner_type_id = #{practitionerTypeId}
</if>
<if test="commissionCheckStatus != null">
and o.commission_check_status = #{commissionCheckStatus}
</if>
<choose> <choose>
<when test="historyDate != null "> <when test="historyDate != null ">
and c.check_yearmonth = #{historyDate} and c.check_yearmonth = #{historyDate}
</when> </when>
<otherwise> <when test="compareDate != null ">
<if test="compareDate != null"> and date_format(o.order_date, '%Y-%m') &lt; #{compareDate}
and date_format(o.order_date, '%Y-%m') &lt; #{compareDate} </when>
</if>
<if test="insurerId != null">
and o.insurer_id = #{insurerId}
</if>
<if test="commissionCheckStatus != null">
and o.commission_check_status = #{commissionCheckStatus}
</if>
</otherwise>
</choose> </choose>
</select> </select>
<select id="querycheckBatchList" resultType="java.lang.String">
select distinct check_yearmonth from ag_po_order_commission_check
order by check_yearmonth desc
</select>
</mapper> </mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment