Commit 611e01a6 by hongzhong

Merge remote-tracking branch 'origin/dev_20210330' into dev_20210330

parents 3edb7631 da933ee4
......@@ -8,6 +8,10 @@ import com.yd.dal.entity.agms.fortune.CommissionPayoutStatus;
*/
public class CommissionPayoutStatusQueryRequestVO {
/**
* 保单号
*/
private String policyNo;
/**
* 保险公司
*/
private Long insurerId;
......@@ -50,7 +54,6 @@ public class CommissionPayoutStatusQueryRequestVO {
* 预计发佣年月
*/
private String predictMonthPeriod;
/**
* 系统标志,区分公司营业部和体系,1,分公司,2营业部,3,S1分部,4,S2体系,5,S3纵队
*/
......@@ -187,5 +190,13 @@ public class CommissionPayoutStatusQueryRequestVO {
public void setPredictMonthPeriod(String predictMonthPeriod) {
this.predictMonthPeriod = predictMonthPeriod;
}
public String getPolicyNo() {
return policyNo;
}
public void setPolicyNo(String policyNo) {
this.policyNo = policyNo;
}
}
......@@ -8,6 +8,7 @@ public class QueryComeCommissionListRequestVO {
private String startDate;
private String endDate;
private String historyDate;
private String policyNo;
private Long insurerId;
private Long insurerBranchId;
private Long practitionerTypeId;
......
......@@ -392,14 +392,14 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe
List<PayScaleInfo> resultList = new ArrayList<>();
//如果是预览薪资单,则跳过权限校验
if(!"AGMS".equals(requestVO.getPreFlag())){
//等保调整
List<AclCustomer> findByObjSortable = aclPractitionerDALService.getAclCustomers(requestVO.getPractitionerId(),null);
if(null == findByObjSortable ){
responseVO.setCommonResult(new CommonResult(false,ZHBErrorConfig.getErrorInfo("630028")));
return responseVO;
}
}
// if(!"AGMS".equals(requestVO.getPreFlag())){
// //等保调整
// List<AclCustomer> findByObjSortable = aclPractitionerDALService.getAclCustomers(requestVO.getPractitionerId(),null);
// if(null == findByObjSortable ){
// responseVO.setCommonResult(new CommonResult(false,ZHBErrorConfig.getErrorInfo("630028")));
// return responseVO;
// }
// }
try {
if ("0".equals(isHistory)) {
// 查询本年
......@@ -422,9 +422,12 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe
}
private List<PayScaleInfo> queryNew(PayScaleQueryRequestVO requestVO) throws Exception {
Long practitionerId = requestVO.getPractitionerId();
Integer isActive = requestVO.getIsActive();
String isHistory = requestVO.getIsHistory();
// 1.先查本地新基本法的薪资
List<AgAclLifePractitionerSalary> list = practitionerSalaryMapper.queryListByPractitionerIdAndIsbasic(requestVO.getPractitionerId(), 1,requestVO.getIsActive());
List<AgAclLifePractitionerSalary> list = practitionerSalaryMapper.queryListByPractitionerIdAndIsbasic(practitionerId, 1, isActive, isHistory);
List<PayScaleInfo> salaryList = this.translateAgAclLifePractitionerSalaryToPayScaleInfo(list,requestVO.getPreFlag());
// 2.再查N22
......
......@@ -9,6 +9,10 @@ import java.util.List;
*/
public class CommissionPayoutStatusQueryInfo {
/**
* 保单号
*/
private String policyNo;
/**
* 保险公司
*/
private Long insurerId;
......@@ -160,4 +164,12 @@ public class CommissionPayoutStatusQueryInfo {
public void setPredictMonthPeriod(String predictMonthPeriod) {
this.predictMonthPeriod = predictMonthPeriod;
}
public String getPolicyNo() {
return policyNo;
}
public void setPolicyNo(String policyNo) {
this.policyNo = policyNo;
}
}
......@@ -20,7 +20,8 @@ public interface AgAclLifePractitionerSalaryMapper {
List<AgAclLifePractitionerSalary> queryListByPractitionerId(@Param("practitionerId") Long practitionerId,@Param("isActive") Integer isActive);
List<AgAclLifePractitionerSalary> queryListByPractitionerIdAndIsbasic(@Param("practitionerId") Long practitionerId, @Param("isBasic") Integer isBasic,@Param("isActive") Integer isActive);
List<AgAclLifePractitionerSalary> queryListByPractitionerIdAndIsbasic(@Param("practitionerId") Long practitionerId, @Param("isBasic") Integer isBasic,
@Param("isActive") Integer isActive, @Param("isHistory") String isHistory);
List<AgAclLifePractitionerSalary> queryByRecord(AgAclLifePractitionerSalary lifePractitionerSalary);
}
......@@ -82,8 +82,8 @@
t.predict_month_period predictMonthPeriod,
op.drop_option_name commissionPayoutStatus,
pb.payout_yearmonth monthPeriod
FROM ag_acl_customer_fortune t
LEFT JOIN ag_po_order o ON o.id = t.order_id
FROM ag_acl_customer_fortune t
LEFT JOIN ag_po_order o ON o.id = t.order_id
LEFT JOIN ag_product p ON p.id = o.product_id
LEFT JOIN ag_product_plan pp ON pp.id = o.plan_id
LEFT JOIN ag_po_order_commission oc ON oc.order_id = t.order_id AND oc.id = t.commission_id
......@@ -95,7 +95,7 @@
LEFT JOIN ag_acl_practitioner_setting setting ON setting.practitioner_id = pra.id
LEFT JOIN ag_acl_customer_fortune_payout_batch pb ON pb.id = t.payout_batch_id
LEFT JOIN ag_md_drop_options op ON op.drop_option_code = t.status
LEFT JOIN ag_md_drop_master mas ON mas.id = op.drop_master_id
LEFT JOIN ag_md_drop_master mas ON mas.id = op.drop_master_id
LEFT JOIN ag_md_drop_options op1 ON op1.id = setting.practitioner_level
LEFT JOIN ag_md_drop_master mas1 ON mas1.id = op1.drop_master_id
WHERE t.settlement_type = '1'
......@@ -103,6 +103,9 @@
AND mas1.scenario_code = 'practitioner_level'
AND oc.commission_status = '2'
and setting.practitioner_type_id = 28
<if test="item.policyNo != null">
and o.policy_no like concat(concat('%',#{item.policyNo,jdbcType=VARCHAR}),'%')
</if>
<if test="item.insurerId != null">
AND i.id = #{item.insurerId,jdbcType=BIGINT}
</if>
......@@ -139,68 +142,70 @@
<if test="item.payoutYearmonth != null">
and pb.payout_yearmonth = #{item.payoutYearmonth,jdbcType=VARCHAR}
</if>
UNION ALL
SELECT '' orderId,t.id fortuneId,'' commissionPayoutYearmonth,'' insurerName,'' productName,
'' policyNo,
'' paymentTermUnit,
'' coverTermType,
'0.00' orderPrice,
pra.name practitionerName,
dept.name insurerBranchDeptName,
sub.name subordinateSystemName,
<!-- t.practitioner_level practitionerLevel, -->
op1.drop_option_name practitionerLevel,
t.commission_amount commissionAmount,
t.commission_type commissionType,
t.referral_rate referralRate,
t.referral_amount referralAmount,
t.predict_month_period predictMonthPeriod,
op.drop_option_name commissionPayoutStatus,
pb.payout_yearmonth monthPeriod
FROM ag_acl_customer_fortune t
LEFT JOIN ag_acl_practitioner pra ON pra.id = t.practitioner_id
LEFT JOIN ag_acl_insurer_branch_dept dept ON pra.dept_id = dept.id
LEFT JOIN ag_acl_practitioner_subordinate_system sub ON sub.id = pra.subordinate_system_id
LEFT JOIN ag_acl_practitioner_setting setting ON setting.practitioner_id = pra.id
LEFT JOIN ag_acl_customer_fortune_payout_batch pb ON pb.id = t.payout_batch_id
LEFT JOIN ag_md_drop_options op ON op.drop_option_code = t.status
LEFT JOIN ag_md_drop_master mas ON mas.id = op.drop_master_id
LEFT JOIN ag_md_drop_options op1 ON op1.id = setting.practitioner_level
LEFT JOIN ag_md_drop_master mas1 ON mas1.id = op1.drop_master_id
WHERE t.settlement_type = '2'
AND mas.drop_code = 'Fortune_Payout_Status'
AND mas1.scenario_code = 'practitioner_level'
and setting.practitioner_type_id = 28
<if test="item.insurerBranchId != null">
and pra.insurer_branch_id = #{item.insurerBranchId,jdbcType=BIGINT}
</if>
<if test="item.insurerBranchDeptId != null">
and dept.id = #{item.insurerBranchDeptId,jdbcType=BIGINT}
</if>
<!-- <if test="item.subordinateSystemId != null">
and sub.id = #{item.subordinateSystemId,jdbcType=BIGINT}
</if>-->
<if test="item.subsystemIdList != null and item.subsystemIdList.size() > 0">
and sub.id in
<foreach collection="item.subsystemIdList" index="index" item="subordinateSystemId" open="(" separator="," close=")">
#{subordinateSystemId}
</foreach>
</if>
<if test="item.practitionerId != null">
and pra.id = #{item.practitionerId,jdbcType=BIGINT}
</if>
<if test="item.commissionPayoutStatus != null">
and t.status = #{item.commissionPayoutStatus,jdbcType=BIGINT}
</if>
<!-- <if test="item.commissionPayoutYearmonth != null"> -->
<!-- and c.check_yearmonth = #{item.commissionPayoutYearmonth,jdbcType=VARCHAR} -->
<!-- </if> -->
<if test="item.predictMonthPeriod != null">
and DATE_FORMAT(t.predict_month_period, '%Y-%m') = #{item.predictMonthPeriod,jdbcType=VARCHAR}
</if>
<if test="item.payoutYearmonth != null">
and pb.payout_yearmonth = #{item.payoutYearmonth,jdbcType=VARCHAR}
</if>
<if test="item.policyNo == null">
UNION ALL
SELECT '' orderId,t.id fortuneId,'' commissionPayoutYearmonth,'' insurerName,'' productName,
'' policyNo,
'' paymentTermUnit,
'' coverTermType,
'0.00' orderPrice,
pra.name practitionerName,
dept.name insurerBranchDeptName,
sub.name subordinateSystemName,
<!-- t.practitioner_level practitionerLevel, -->
op1.drop_option_name practitionerLevel,
t.commission_amount commissionAmount,
t.commission_type commissionType,
t.referral_rate referralRate,
t.referral_amount referralAmount,
t.predict_month_period predictMonthPeriod,
op.drop_option_name commissionPayoutStatus,
pb.payout_yearmonth monthPeriod
FROM ag_acl_customer_fortune t
LEFT JOIN ag_acl_practitioner pra ON pra.id = t.practitioner_id
LEFT JOIN ag_acl_insurer_branch_dept dept ON pra.dept_id = dept.id
LEFT JOIN ag_acl_practitioner_subordinate_system sub ON sub.id = pra.subordinate_system_id
LEFT JOIN ag_acl_practitioner_setting setting ON setting.practitioner_id = pra.id
LEFT JOIN ag_acl_customer_fortune_payout_batch pb ON pb.id = t.payout_batch_id
LEFT JOIN ag_md_drop_options op ON op.drop_option_code = t.status
LEFT JOIN ag_md_drop_master mas ON mas.id = op.drop_master_id
LEFT JOIN ag_md_drop_options op1 ON op1.id = setting.practitioner_level
LEFT JOIN ag_md_drop_master mas1 ON mas1.id = op1.drop_master_id
WHERE t.settlement_type = '2'
AND mas.drop_code = 'Fortune_Payout_Status'
AND mas1.scenario_code = 'practitioner_level'
and setting.practitioner_type_id = 28
<if test="item.insurerBranchId != null">
and pra.insurer_branch_id = #{item.insurerBranchId,jdbcType=BIGINT}
</if>
<if test="item.insurerBranchDeptId != null">
and dept.id = #{item.insurerBranchDeptId,jdbcType=BIGINT}
</if>
<!-- <if test="item.subordinateSystemId != null">
and sub.id = #{item.subordinateSystemId,jdbcType=BIGINT}
</if>-->
<if test="item.subsystemIdList != null and item.subsystemIdList.size() > 0">
and sub.id in
<foreach collection="item.subsystemIdList" index="index" item="subordinateSystemId" open="(" separator="," close=")">
#{subordinateSystemId}
</foreach>
</if>
<if test="item.practitionerId != null">
and pra.id = #{item.practitionerId,jdbcType=BIGINT}
</if>
<if test="item.commissionPayoutStatus != null">
and t.status = #{item.commissionPayoutStatus,jdbcType=BIGINT}
</if>
<!-- <if test="item.commissionPayoutYearmonth != null"> -->
<!-- and c.check_yearmonth = #{item.commissionPayoutYearmonth,jdbcType=VARCHAR} -->
<!-- </if> -->
<if test="item.predictMonthPeriod != null">
and DATE_FORMAT(t.predict_month_period, '%Y-%m') = #{item.predictMonthPeriod,jdbcType=VARCHAR}
</if>
<if test="item.payoutYearmonth != null">
and pb.payout_yearmonth = #{item.payoutYearmonth,jdbcType=VARCHAR}
</if>
</if>
</select>
<select id="fortunePayToOrder" resultType="com.yd.dal.entity.agms.fortune.FortunePayToOrderInfo">
......@@ -352,11 +357,11 @@
i.name insurerName,
p.name productName,
pp.name planName,
o.effective_start_date effectiveStartDate,
if(o.effective_start_date is not null,left(o.effective_start_date,10),o.effective_start_date) effectiveStartDate,
o.policy_no policyNo,
f.order_price orderPrice,
f.fyc_amount fycAmount,
f.grade_commission_rate gradeCommissionRate,
if(f.order_price is null,0,f.order_price) orderPrice,
if(f.fyc_amount is null,0,f.fyc_amount) fycAmount,
if(f.grade_commission_rate is null,0,f.grade_commission_rate) gradeCommissionRate,
(select s.name from ag_acl_practitioner_subordinate_system s where s.id = pra.subordinate_system_id) subordinateSystemName,
pra.name practitionerName,
if(f.commission_rate is null,0,f.commission_rate) commissionRate,
......@@ -365,7 +370,7 @@
f.drop_option_code dropOptionCode,
f.remark remark,
f.commission_type commissionType,
f.referral_amount referralAmount,
if(f.referral_amount is null,0,f.referral_amount) referralAmount,
f.calculation_formula calculationFormula,
f.withdrawed_id withdrawId,
if(f.calculation_rate is null,0,f.calculation_rate) calculationRate
......
......@@ -32,6 +32,7 @@
(case o.config_level when 2 then p2.pName2 else p3.pName3 END) categoryName,
(case o.config_level when 2 then p2.cName2 else p3.cName3 END) planCategoryName
from (SELECT o.*,
IFNULL(o.insurer_id,orderCommission.insurer_id) insurerId,
policyNo, commission_no, amount, commission_time, rate, commission_check_id, commissionId,
commission_year commissionYear,
commission_status commissionCheckStatus,
......@@ -50,9 +51,9 @@
where t.status in (3,4) and policy_no is not null
and (t.plan_id not in (424,453,464) or t.plan_id is null)
) o
LEFT JOIN
RIGHT JOIN
(SELECT id commissionId, policy_no policyNo, commission_no, commission_year, amount, commission_status, commission_time, commission_check_id,
t.commission_type, t.commission_item,
t.commission_type, t.commission_item, insurer_id,
commission_period, rate, order_id, commission_category
from ag_po_order_commission t
) orderCommission
......@@ -64,6 +65,9 @@
<if test="endDate != null ">
and date_format(commission_year, '%Y-%m') &lt;= #{endDate}
</if>
<if test="policyNo != null">
and policyNo like concat(concat('%',#{policyNo,jdbcType=VARCHAR}),'%')
</if>
) o
left join ag_po_order_commission_check c on o.commission_check_id = c.id
left join ag_product_plan a on o.plan_id = a.id
......@@ -82,7 +86,7 @@
where plcl.config_level = 3
) p3
on o.config_level = p3.config_level and o.plan_id = p3.plan_id
left join ag_acl_insurer i on o.insurer_id = i.id
left join ag_acl_insurer i on o.insurerId = i.id
left join (SELECT order_id, name, practitioner_type_id, f.customer_id
from (
select *
......@@ -101,7 +105,7 @@
) e on e.order_id = o.id
where 1=1
<if test="insurerId != null">
and o.insurer_id = #{insurerId}
and o.insurerId = #{insurerId}
</if>
<if test="insurerBranchId != null">
and p.insurer_branch_id = #{insurerBranchId,jdbcType=BIGINT}
......@@ -176,6 +180,7 @@
<sql id="queryLifecommissionList">
(SELECT o.*,
IFNULL(o.insurer_id,orderCommission.insurer_id) insurerId,
policyNo, commission_no, amount, commission_time, rate, commission_check_id,
commission_year commissionYear,
commission_status commissionCheckStatus,
......@@ -194,9 +199,9 @@
where t.status in (3,4) and policy_no is not null
and (t.plan_id not in (424,453,464) or t.plan_id is null)
) o
LEFT JOIN
RIGHT JOIN
(SELECT policy_no policyNo, commission_no, commission_year, amount, commission_status, commission_time, rate, commission_check_id,
t.commission_type,t.commission_item,
t.commission_type,t.commission_item, insurer_id,
commission_period, order_id, commission_category
from ag_po_order_commission t
) orderCommission
......@@ -208,9 +213,12 @@
<if test="endDate != null ">
and date_format(commission_year, '%Y-%m') &lt;= #{endDate}
</if>
<if test="policyNo != null">
and policyNo like concat(concat('%',#{policyNo,jdbcType=VARCHAR}),'%')
</if>
) o
left join ag_po_order_commission_check c on o.commission_check_id = c.id
left join ag_acl_insurer i on o.insurer_id = i.id
left join ag_acl_insurer i on o.insurerId = i.id
left join ag_product_plan a on o.plan_id = a.id
left join ag_product p on o.product_id = p.id
left join (SELECT order_id, name, practitioner_type_id, f.customer_id
......@@ -224,7 +232,7 @@
) f on f.order_id = o.id
where 1=1
<if test="insurerId != null">
and o.insurer_id = #{insurerId}
and o.insurerId = #{insurerId}
</if>
<if test="insurerBranchId != null">
and p.insurer_branch_id = #{insurerBranchId,jdbcType=BIGINT}
......@@ -302,6 +310,9 @@
<if test="endDate != null ">
and date_format(commission_year, '%Y-%m') &lt;= #{endDate}
</if>
<if test="policyNo != null">
and policy_no like concat(concat('%',#{policyNo,jdbcType=VARCHAR}),'%')
</if>
) o
left join ag_po_order_commission_check c on o.commission_check_id = c.id
left join ag_product_plan a on o.plan_id = a.id
......
......@@ -134,14 +134,22 @@
</select>
<select id="queryListByPractitionerIdAndIsbasic" resultMap="BaseResultMap">
select <include refid="Base_Column_List" />
from ag_acl_life_practitioner_salary
select
<include refid="Base_Column_List"/>
from ag_acl_life_practitioner_salary
where practitioner_id = #{practitionerId,jdbcType=BIGINT}
and is_basic = #{isBasic,jdbcType=BIGINT}
and is_basic = #{isBasic,jdbcType=BIGINT}
<if test="isActive != null ">
and is_active = #{isActive,jdbcType=BIGINT}
</if>
<if test="isHistory != null and 0==isHistory">
and left(`year_month`, 4) = left(NOW(), 4)
</if>
<if test="isHistory != null and 1==isHistory">
and left(`year_month`, 4) &lt; left(NOW(), 4)
</if>
</select>
<select id="queryByRecord" resultMap="BaseResultMap">
......
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