Commit 3e4064aa by jianan

Merge branch 'dev_20201217_lifeCommissionUpdate' into dev

parents 413b9d05 1906d4c3
......@@ -2,10 +2,7 @@ package com.yd.api.commission;
import com.yd.api.commission.service.LifeCommissionService;
import com.yd.api.commission.vo.lifecommission.CheckComeCommissionRequestVO;
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.commission.vo.lifecommission.*;
import com.yd.api.result.JsonResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
......@@ -49,4 +46,18 @@ public class LifeCommissionController {
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 {
CheckComeCommissionResponseVO updateCommissionCheckStatus(CheckComeCommissionRequestVO requestVO);
QuerycheckBatchListResponseVO querycheckBatchList();
}
......@@ -71,6 +71,10 @@ public class LifeCommissionServiceImpl implements LifeCommissionService {
String status = requestVO.getCheckStatus();
String loginId = requestVO.getLoginId();
String checkBatch = requestVO.getCheckBatch();
if (StringUtils.isBlank(checkBatch)) {
resp.setCommonResult(new CommonResult(false, "检核日期不能为空"));
return resp;
}
try {
// 操作前先检查是否已关账
// 查询对应订单记录
......@@ -114,6 +118,30 @@ public class LifeCommissionServiceImpl implements LifeCommissionService {
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) {
//发送邮件
List<String> ccList = systemConfigService.getListConfigValue("CancelPolicyNotifyCommissionChecking");
......@@ -207,11 +235,8 @@ public class LifeCommissionServiceImpl implements LifeCommissionService {
if (orderCommissonCheck == null){
// 获取当前时间
Date curDate = new Date();
// 获取代表批次的年月
String yearmonth = CommonUtil.dateParseString(curDate, "yyyy-MM");
orderCommissonCheck = new OrderCommissonCheck();
orderCommissonCheck.setCheckYearmonth(yearmonth);
orderCommissonCheck.setCheckYearmonth(OrderCommissionCheckBatch);
orderCommissonCheck.setCreatedAt(curDate);
orderCommissonCheck.setCreatedBy(loginId);
orderCommissonCheck.setUpdatedAt(curDate);
......
......@@ -8,6 +8,7 @@ public class QueryComeCommissionListRequestVO {
private String compareDate;
private String historyDate;
private Long insurerId;
private Long practitionerTypeId;
private String commissionCheckStatus;
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;
import com.yd.dal.entity.commission.OrderCommissonCheck;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
......@@ -19,4 +18,6 @@ public interface LifeCommissionMapper {
List<OrderCommissonCheck> findByCheckYearmonth(String orderCommissionCheckBatch);
Map<String, Object> getSummaries(QueryComeCommissionListRequestVO requestVO);
List<String> querycheckBatchList();
}
......@@ -26,7 +26,7 @@
CONCAT(payment_term, (case payment_term_unit when 'Y' then '年' when 'M' then '月' else '日' END)) payTerm,
CONCAT(cover_term, cover_term_type) coverageTerm
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)
) o
left join ag_po_order_commission_check c on o.commission_check_id = c.id
......@@ -60,21 +60,22 @@
GROUP BY order_id
) e on e.order_id = o.id
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>
<when test="historyDate != null ">
and c.check_yearmonth = #{historyDate}
</when>
<otherwise>
<if test="compareDate != null">
and date_format(o.order_date, '%Y-%m') &lt; #{compareDate}
</if>
<if test="insurerId != null">
and o.insurer_id = #{insurerId}
</if>
<if test="commissionCheckStatus != null">
and o.commission_check_status = #{commissionCheckStatus}
</if>
</otherwise>
<when test="compareDate != null ">
and date_format(o.order_date, '%Y-%m') &lt; #{compareDate}
</when>
</choose>
</select>
......@@ -123,30 +124,45 @@
IFNULL(sum(o.order_price),0) totalOrderPrice,
IFNULL(sum(o.commission_amount),0) totalCommission
from (SELECT order_price, commission_amount, commission_check_status, commission_check_id, order_date,
insurer_id
insurer_id,id
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)
) o
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
<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>
<when test="historyDate != null ">
and c.check_yearmonth = #{historyDate}
</when>
<otherwise>
<if test="compareDate != null">
and date_format(o.order_date, '%Y-%m') &lt; #{compareDate}
</if>
<if test="insurerId != null">
and o.insurer_id = #{insurerId}
</if>
<if test="commissionCheckStatus != null">
and o.commission_check_status = #{commissionCheckStatus}
</if>
</otherwise>
<when test="compareDate != null ">
and date_format(o.order_date, '%Y-%m') &lt; #{compareDate}
</when>
</choose>
</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>
\ 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