Commit 7257f474 by hongzhong

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

parents 990a4969 a01f2a10
...@@ -6,7 +6,6 @@ import com.yd.api.order.vo.SurrenderFortuneResponseVO; ...@@ -6,7 +6,6 @@ import com.yd.api.order.vo.SurrenderFortuneResponseVO;
import com.yd.dal.entity.customer.AclCustomerFortune; import com.yd.dal.entity.customer.AclCustomerFortune;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
...@@ -50,7 +49,7 @@ public interface AgmsFortuneService { ...@@ -50,7 +49,7 @@ public interface AgmsFortuneService {
SurrenderFortuneResponseVO surrenderFortune(SurrenderFortuneRequestVO requestVO); SurrenderFortuneResponseVO surrenderFortune(SurrenderFortuneRequestVO requestVO);
public void canPaymentUpDate(Date predictMonthPeriod, String paymentStatus, Long payoutBatchId , Long loginId, List<AclCustomerFortune> customerFortunes); public void canPaymentUpDate(String paymentStatus, Long payoutBatchId , Long loginId, List<AclCustomerFortune> customerFortunes);
/** /**
* AGMS -- 导出财富文档 * AGMS -- 导出财富文档
......
...@@ -110,7 +110,7 @@ public class AgmsFortuneServiceImpl implements AgmsFortuneService { ...@@ -110,7 +110,7 @@ public class AgmsFortuneServiceImpl implements AgmsFortuneService {
CommissionPayoutStatusUpdateResponseVO responseVO = new CommissionPayoutStatusUpdateResponseVO(); CommissionPayoutStatusUpdateResponseVO responseVO = new CommissionPayoutStatusUpdateResponseVO();
CommonResult commonResult = check(requestVO); CommonResult commonResult = check(requestVO);
Long[] fortuneIds = requestVO.getFortuneIds(); Long[] fortuneIds = requestVO.getFortuneIds();
//1.暂不可发 2.可发放 3.保留 4.已发放 //2.可发放 3.保留
String paymentStatus = requestVO.getPaymentStatus(); String paymentStatus = requestVO.getPaymentStatus();
Long loginId = requestVO.getLoginId(); Long loginId = requestVO.getLoginId();
//查询出需修改的佣金发放状态的财富 //查询出需修改的佣金发放状态的财富
...@@ -130,14 +130,13 @@ public class AgmsFortuneServiceImpl implements AgmsFortuneService { ...@@ -130,14 +130,13 @@ public class AgmsFortuneServiceImpl implements AgmsFortuneService {
String payoutBatch = requestVO.getPayoutBatch(); String payoutBatch = requestVO.getPayoutBatch();
//通过payoutBatch查询此批次是否再库中,在库中直接获取id,不在进行保存,获取id //通过payoutBatch查询此批次是否再库中,在库中直接获取id,不在进行保存,获取id
Long payoutBatchId = findPayoutBatchIdByPayoutBatch(payoutBatch, loginId); Long payoutBatchId = findPayoutBatchIdByPayoutBatch(payoutBatch, loginId);
Date predictMonthPeriod = CommonUtil.stringParseDate(payoutBatch, "yyyy-MM");//预计发佣年月(YYYY-MM)
if (("2").equals(paymentStatus)) { if (("2").equals(paymentStatus)) {
//如paymentStatus = 2(可发放),只需统计Fortune对应Customer最后一笔未支付的Withdraw,重新计算,如没有Withdraw生成一条新的Withdraw记录 //如paymentStatus = 2(可发放),只需统计Fortune对应Customer最后一笔未支付的Withdraw,重新计算,如没有Withdraw生成一条新的Withdraw记录
canPaymentUpDate(predictMonthPeriod, paymentStatus, payoutBatchId, loginId, customerFortunes); canPaymentUpDate(paymentStatus, payoutBatchId, loginId, customerFortunes);
} else { } else {
//如paymentStatus != 2(暂不可发,保留),只需统计原Fortune对应的Withdraw,重新计算 //如paymentStatus != 2(暂不可发,保留),只需统计原Fortune对应的Withdraw,重新计算
noPaymentUpDate(predictMonthPeriod, paymentStatus, payoutBatchId, loginId, customerFortunes); noPaymentUpDate(paymentStatus, payoutBatchId, loginId, customerFortunes);
} }
responseVO.setCommonResult(commonResult); responseVO.setCommonResult(commonResult);
...@@ -190,7 +189,7 @@ public class AgmsFortuneServiceImpl implements AgmsFortuneService { ...@@ -190,7 +189,7 @@ public class AgmsFortuneServiceImpl implements AgmsFortuneService {
} }
@Override @Override
public void canPaymentUpDate(Date predictMonthPeriod, String paymentStatus, Long payoutBatchId , Long loginId, List<AclCustomerFortune> customerFortunes) { public void canPaymentUpDate(String paymentStatus, Long payoutBatchId , Long loginId, List<AclCustomerFortune> customerFortunes) {
System.out.println("canPaymentUpDate"); System.out.println("canPaymentUpDate");
//将查询出来的财富列表根据customerId经行分类 //将查询出来的财富列表根据customerId经行分类
...@@ -221,7 +220,6 @@ public class AgmsFortuneServiceImpl implements AgmsFortuneService { ...@@ -221,7 +220,6 @@ public class AgmsFortuneServiceImpl implements AgmsFortuneService {
if (!paymentStatus.equals(fortune.getCommissionPayoutStatus())) { if (!paymentStatus.equals(fortune.getCommissionPayoutStatus())) {
fortune.setCommissionPayoutStatus(paymentStatus); fortune.setCommissionPayoutStatus(paymentStatus);
fortune.setStatus("2"); fortune.setStatus("2");
fortune.setPredictMonthPeriod(predictMonthPeriod);
fortune.setCommissionPayoutBy(loginId); fortune.setCommissionPayoutBy(loginId);
fortune.setCommissionPayoutAt(new Date()); fortune.setCommissionPayoutAt(new Date());
fortune.setPayoutBatchId(payoutBatchId); fortune.setPayoutBatchId(payoutBatchId);
...@@ -243,7 +241,6 @@ public class AgmsFortuneServiceImpl implements AgmsFortuneService { ...@@ -243,7 +241,6 @@ public class AgmsFortuneServiceImpl implements AgmsFortuneService {
fortune.setCommissionPayoutBy(loginId); fortune.setCommissionPayoutBy(loginId);
fortune.setPayoutBatchId(payoutBatchId); fortune.setPayoutBatchId(payoutBatchId);
fortune.setStatus("2"); fortune.setStatus("2");
fortune.setPredictMonthPeriod(predictMonthPeriod);
if (CommonUtil.isNullOrZero(withdrawId)){ if (CommonUtil.isNullOrZero(withdrawId)){
//需生成新的withdraw //需生成新的withdraw
newFortunes.add(fortune); newFortunes.add(fortune);
...@@ -302,7 +299,7 @@ public class AgmsFortuneServiceImpl implements AgmsFortuneService { ...@@ -302,7 +299,7 @@ public class AgmsFortuneServiceImpl implements AgmsFortuneService {
return customerWithdrawMap; return customerWithdrawMap;
} }
private void noPaymentUpDate(Date predictMonthPeriod, String paymentStatus,Long payoutBatchId, Long loginId, List<AclCustomerFortune> customerFortunes) { private void noPaymentUpDate(String paymentStatus,Long payoutBatchId, Long loginId, List<AclCustomerFortune> customerFortunes) {
System.out.println("noPaymentUpDate"); System.out.println("noPaymentUpDate");
//需要修改的fortune记录(需修改佣金发放状态) //需要修改的fortune记录(需修改佣金发放状态)
List<AclCustomerFortune> fortuneUpdates = new ArrayList<>(); List<AclCustomerFortune> fortuneUpdates = new ArrayList<>();
...@@ -317,7 +314,6 @@ public class AgmsFortuneServiceImpl implements AgmsFortuneService { ...@@ -317,7 +314,6 @@ public class AgmsFortuneServiceImpl implements AgmsFortuneService {
fortune.setCommissionPayoutAt(new Date()); fortune.setCommissionPayoutAt(new Date());
if (!CommonUtil.isNullOrZero(payoutBatchId)){ if (!CommonUtil.isNullOrZero(payoutBatchId)){
fortune.setPayoutBatchId(payoutBatchId); fortune.setPayoutBatchId(payoutBatchId);
fortune.setPredictMonthPeriod(predictMonthPeriod);
} }
Long withdrawId = fortune.getWithdrawedId(); Long withdrawId = fortune.getWithdrawedId();
fortune.setWithdrawedId(null); fortune.setWithdrawedId(null);
......
...@@ -15,7 +15,7 @@ public class CommissionPayoutStatusUpdateRequestVO { ...@@ -15,7 +15,7 @@ public class CommissionPayoutStatusUpdateRequestVO {
/** /**
* 佣金发放状态 * 佣金发放状态
* 1.暂不可发 2.可发放 3.保留 * 2.可发放 3.保留
*/ */
private String paymentStatus; private String paymentStatus;
......
...@@ -39,6 +39,7 @@ public class ComeCommissionVO { ...@@ -39,6 +39,7 @@ public class ComeCommissionVO {
private String name; private String name;
private String practitionerTypeId; private String practitionerTypeId;
private Long commissionId;
private String commissionNo; private String commissionNo;
private String amount; private String amount;
private String commissionYear; private String commissionYear;
......
...@@ -90,10 +90,13 @@ public class CommissionPayoutStatus { ...@@ -90,10 +90,13 @@ public class CommissionPayoutStatus {
* 发佣状态 * 发佣状态
*/ */
private String commissionPayoutStatus; private String commissionPayoutStatus;
/** /**
* 预计发佣年月 * 预计发佣年月
*/ */
private String predictMonthPeriod;
/**
* 发佣年月
*/
private String monthPeriod; private String monthPeriod;
public String getCommissionPayoutYearmonth() { public String getCommissionPayoutYearmonth() {
...@@ -272,4 +275,12 @@ public class CommissionPayoutStatus { ...@@ -272,4 +275,12 @@ public class CommissionPayoutStatus {
", monthPeriod='" + monthPeriod + '\'' + ", monthPeriod='" + monthPeriod + '\'' +
'}'; '}';
} }
public String getPredictMonthPeriod() {
return predictMonthPeriod;
}
public void setPredictMonthPeriod(String predictMonthPeriod) {
this.predictMonthPeriod = predictMonthPeriod;
}
} }
...@@ -34,7 +34,7 @@ public class CommissionPayoutStatusQueryInfo { ...@@ -34,7 +34,7 @@ public class CommissionPayoutStatusQueryInfo {
private Long practitionerId; private Long practitionerId;
/** /**
* 发佣状态 暂不开放 可发 保留 已发并关账 * 发佣状态 2-可发 3-保留 4-已发并关账
*/ */
private Long commissionPayoutStatus; private Long commissionPayoutStatus;
......
...@@ -79,6 +79,7 @@ ...@@ -79,6 +79,7 @@
t.commission_type commissionType, t.commission_type commissionType,
t.referral_rate referralRate, t.referral_rate referralRate,
t.referral_amount referralAmount, t.referral_amount referralAmount,
t.predict_month_period predictMonthPeriod,
op.drop_option_name commissionPayoutStatus, op.drop_option_name commissionPayoutStatus,
pb.payout_yearmonth monthPeriod pb.payout_yearmonth monthPeriod
FROM ag_acl_customer_fortune t FROM ag_acl_customer_fortune t
...@@ -93,12 +94,12 @@ ...@@ -93,12 +94,12 @@
LEFT JOIN ag_acl_practitioner_subordinate_system sub ON sub.id = pra.subordinate_system_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_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_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 = oc.commission_status 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_options op1 ON op1.id = setting.practitioner_level
LEFT JOIN ag_md_drop_master mas1 ON mas1.id = op1.drop_master_id LEFT JOIN ag_md_drop_master mas1 ON mas1.id = op1.drop_master_id
WHERE t.settlement_type = '1' WHERE t.settlement_type = '1' AND t.status != '4'
AND mas.drop_code = 'Commission_Payout_Status' AND mas.drop_code = 'Fortune_Payout_Status'
AND mas1.scenario_code = 'practitioner_level' AND mas1.scenario_code = 'practitioner_level'
AND oc.commission_status = '2' AND oc.commission_status = '2'
and setting.practitioner_type_id = 28 and setting.practitioner_type_id = 28
...@@ -124,13 +125,13 @@ ...@@ -124,13 +125,13 @@
and pra.id = #{item.practitionerId,jdbcType=BIGINT} and pra.id = #{item.practitionerId,jdbcType=BIGINT}
</if> </if>
<if test="item.commissionPayoutStatus != null"> <if test="item.commissionPayoutStatus != null">
and t.commission_payout_status = #{item.commissionPayoutStatus,jdbcType=BIGINT} and t.status = #{item.commissionPayoutStatus,jdbcType=BIGINT}
</if> </if>
<if test="item.commissionPayoutYearmonth != null"> <if test="item.commissionPayoutYearmonth != null">
and c.check_yearmonth = #{item.commissionPayoutYearmonth,jdbcType=VARCHAR} and c.check_yearmonth = #{item.commissionPayoutYearmonth,jdbcType=VARCHAR}
</if> </if>
<if test="item.payoutYearmonth != null"> <if test="item.payoutYearmonth != null">
and pb.payout_yearmonth = #{item.payoutYearmonth,jdbcType=VARCHAR} and DATE_FORMAT(t.predict_month_period, '%Y-%m') = #{item.payoutYearmonth,jdbcType=VARCHAR}
</if> </if>
UNION ALL UNION ALL
SELECT '' orderId,t.id fortuneId,'' commissionPayoutYearmonth,'' insurerName,'' productName, SELECT '' orderId,t.id fortuneId,'' commissionPayoutYearmonth,'' insurerName,'' productName,
...@@ -147,6 +148,7 @@ ...@@ -147,6 +148,7 @@
t.commission_type commissionType, t.commission_type commissionType,
t.referral_rate referralRate, t.referral_rate referralRate,
t.referral_amount referralAmount, t.referral_amount referralAmount,
t.predict_month_period predictMonthPeriod,
op.drop_option_name commissionPayoutStatus, op.drop_option_name commissionPayoutStatus,
pb.payout_yearmonth monthPeriod pb.payout_yearmonth monthPeriod
FROM ag_acl_customer_fortune t FROM ag_acl_customer_fortune t
...@@ -155,12 +157,12 @@ ...@@ -155,12 +157,12 @@
LEFT JOIN ag_acl_practitioner_subordinate_system sub ON sub.id = pra.subordinate_system_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_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_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.commission_payout_status 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_options op1 ON op1.id = setting.practitioner_level
LEFT JOIN ag_md_drop_master mas1 ON mas1.id = op1.drop_master_id LEFT JOIN ag_md_drop_master mas1 ON mas1.id = op1.drop_master_id
WHERE t.settlement_type = '2' WHERE t.settlement_type = '2' AND t.status != '4'
AND mas.drop_code = 'Commission_Payout_Status' AND mas.drop_code = 'Fortune_Payout_Status'
AND mas1.scenario_code = 'practitioner_level' AND mas1.scenario_code = 'practitioner_level'
and setting.practitioner_type_id = 28 and setting.practitioner_type_id = 28
<if test="item.insurerBranchId != null"> <if test="item.insurerBranchId != null">
...@@ -182,13 +184,13 @@ ...@@ -182,13 +184,13 @@
and pra.id = #{item.practitionerId,jdbcType=BIGINT} and pra.id = #{item.practitionerId,jdbcType=BIGINT}
</if> </if>
<if test="item.commissionPayoutStatus != null"> <if test="item.commissionPayoutStatus != null">
and t.commission_payout_status = #{item.commissionPayoutStatus,jdbcType=BIGINT} and t.status = #{item.commissionPayoutStatus,jdbcType=BIGINT}
</if> </if>
<!-- <if test="item.commissionPayoutYearmonth != null"> --> <!-- <if test="item.commissionPayoutYearmonth != null"> -->
<!-- and c.check_yearmonth = #{item.commissionPayoutYearmonth,jdbcType=VARCHAR} --> <!-- and c.check_yearmonth = #{item.commissionPayoutYearmonth,jdbcType=VARCHAR} -->
<!-- </if> --> <!-- </if> -->
<if test="item.payoutYearmonth != null"> <if test="item.payoutYearmonth != null">
and pb.payout_yearmonth = #{item.payoutYearmonth,jdbcType=VARCHAR} and DATE_FORMAT(t.predict_month_period, '%Y-%m') = #{item.payoutYearmonth,jdbcType=VARCHAR}
</if> </if>
</select> </select>
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
o.commissionCheckStatus, o.commissionCheckStatus,
o.order_date orderDate, o.order_date orderDate,
o.commission_no commissionNo, o.commission_no commissionNo,
o.commissionId,
o.amount , o.amount ,
date_format(o.commissionYear, '%Y-%m-%d') commissionYear, date_format(o.commissionYear, '%Y-%m-%d') commissionYear,
o.commissionCheckStatus commissionStatus, o.commissionCheckStatus commissionStatus,
...@@ -31,7 +32,7 @@ ...@@ -31,7 +32,7 @@
(case o.config_level when 2 then p2.pName2 else p3.pName3 END) categoryName, (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 (case o.config_level when 2 then p2.cName2 else p3.cName3 END) planCategoryName
from (SELECT o.*, from (SELECT o.*,
policyNo, commission_no, amount, commission_time, rate, commission_check_id, policyNo, commission_no, amount, commission_time, rate, commission_check_id, commissionId,
commission_year commissionYear, commission_year commissionYear,
commission_status commissionCheckStatus, commission_status commissionCheckStatus,
amount commissionAmount, amount commissionAmount,
...@@ -50,7 +51,7 @@ ...@@ -50,7 +51,7 @@
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 LEFT JOIN
(SELECT policy_no policyNo, commission_no, commission_year, amount, commission_status, commission_time, commission_check_id, (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,
commission_period, rate, order_id, commission_category commission_period, rate, order_id, commission_category
from ag_po_order_commission t from ag_po_order_commission t
...@@ -276,6 +277,7 @@ ...@@ -276,6 +277,7 @@
o.created_at orderDate, o.created_at orderDate,
o.commission_no commissionNo, o.commission_no commissionNo,
o.commissionId,
date_format(o.commission_year, '%Y-%m-%d') commissionYear, date_format(o.commission_year, '%Y-%m-%d') commissionYear,
...@@ -292,7 +294,7 @@ ...@@ -292,7 +294,7 @@
(case o.config_level when 2 then p2.pName2 else p3.pName3 END) categoryName, (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 (case o.config_level when 2 then p2.cName2 else p3.cName3 END) planCategoryName
from from
(SELECT policy_no, commission_no, commission_year, amount, commission_status, commission_time, commission_check_id,premium,t.insurer_id, (SELECT t.id commissionId, policy_no, commission_no, commission_year, amount, commission_status, commission_time, commission_check_id,premium,t.insurer_id,
t.commission_type,t.commission_item, t.commission_type,t.commission_item,
commission_period, rate, order_id, commission_category, t.created_at, b.product_id, b.plan_id, b.config_level commission_period, rate, order_id, commission_category, t.created_at, b.product_id, b.plan_id, b.config_level
from ag_po_order_commission t left join ag_product_life_commission_base b on t.commission_base_id = b.id from ag_po_order_commission t left join ag_product_life_commission_base b on t.commission_base_id = b.id
......
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