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