Commit 4d3dc5a6 by jianan

新单跟进106

parent 0141903e
...@@ -81,6 +81,21 @@ public class Commission implements Serializable { ...@@ -81,6 +81,21 @@ public class Commission implements Serializable {
*/ */
private String exchangeRate; private String exchangeRate;
/**
* 当前来佣比例
*/
private BigDecimal currentCommissionRatio;
/**
* 当期已入账来佣比例
*/
private BigDecimal periodPaidRatio;
/**
* 当期剩余来佣比例
*/
private BigDecimal periodPendingRatio;
/** /**
* 来佣日期 * 来佣日期
*/ */
......
...@@ -96,10 +96,15 @@ public class CommissionExpected implements Serializable { ...@@ -96,10 +96,15 @@ public class CommissionExpected implements Serializable {
private BigDecimal expectedAmount; private BigDecimal expectedAmount;
/** /**
* 已入账金额 * 已入账来佣金额
*/ */
private BigDecimal paidAmount; private BigDecimal paidAmount;
/**
* 已入账来佣比例
*/
private BigDecimal paidRatio;
/** /**
* 通用备注 * 通用备注
*/ */
......
...@@ -436,9 +436,25 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss ...@@ -436,9 +436,25 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
commission.setPaidAmount(paidAmount.setScale(2, RoundingMode.HALF_UP)); commission.setPaidAmount(paidAmount.setScale(2, RoundingMode.HALF_UP));
// 待入账金额 = 预计来佣总金额 - 已入账金额 // 待入账金额 = 预计来佣总金额 - 已入账金额
commission.setPendingAmount(expectedAmount.subtract(paidAmount).setScale(2, RoundingMode.HALF_UP)); commission.setPendingAmount(expectedAmount.subtract(paidAmount).setScale(2, RoundingMode.HALF_UP));
// 当前来佣比例
commission.setCurrentCommissionRatio(currentCommissionRatio.setScale(2, RoundingMode.HALF_UP));
// 当期已入账来佣比例 = 当前来佣比例 + 已入账来佣比例
commission.setPeriodPaidRatio(currentCommissionRatio.add(ObjectUtils.defaultIfNull(expected.getPaidRatio(), BigDecimal.ZERO)).setScale(2, RoundingMode.HALF_UP));
// 当期剩余来佣比例 = 预计来佣来佣比例 - 当期已入账来佣比例
commission.setPeriodPendingRatio(expectedCommissionRatio.subtract(commission.getPeriodPaidRatio()).setScale(2, RoundingMode.HALF_UP));
// 预计来佣的已入账金额更新为 已入账金额 // 预计来佣的已入账金额更新为 已入账金额
expected.setExpectedAmount(expectedAmount.setScale(2, RoundingMode.HALF_UP)); expected.setExpectedAmount(expectedAmount.setScale(2, RoundingMode.HALF_UP));
expected.setPaidAmount(paidAmount.setScale(2, RoundingMode.HALF_UP)); expected.setPaidAmount(paidAmount.setScale(2, RoundingMode.HALF_UP));
// 已入账来佣比例 = 当前来佣比例 + 已入账来佣比例
expected.setPaidRatio(currentCommissionRatio.add(ObjectUtils.defaultIfNull(expected.getPaidRatio(), BigDecimal.ZERO)).setScale(2, RoundingMode.HALF_UP));
// 达到预计比例时,待入账金额设置为 0
if (commission.getPeriodPendingRatio().compareTo(BigDecimal.ZERO) == 0) {
commission.setPendingAmount(BigDecimal.ZERO.setScale(2, RoundingMode.HALF_UP));
expected.setPaidAmount(paidAmount.setScale(2, RoundingMode.HALF_UP));
expected.setPaidRatio(commission.getPeriodPaidRatio());
}
// 保存比对记录 // 保存比对记录
saveCompareRecord(commission, expected); saveCompareRecord(commission, expected);
......
...@@ -81,6 +81,24 @@ public class CommissionVO implements Serializable { ...@@ -81,6 +81,24 @@ public class CommissionVO implements Serializable {
private Date commissionDate; private Date commissionDate;
/** /**
* 当前来佣比例
*/
@Schema(description = "当前来佣比例")
private BigDecimal currentCommissionRatio;
/**
* 当期已入账比例
*/
@Schema(description = "已入账来佣比例")
private BigDecimal periodPaidRatio;
/**
* 待入账来佣比例
*/
@Schema(description = "当期剩余来佣比例")
private BigDecimal periodPendingRatio;
/**
* 来佣状态 * 来佣状态
*/ */
@Schema(description = "来佣状态 0=未比对 1=比对成功 2=比对失败 字典值: csf_commission_status") @Schema(description = "来佣状态 0=未比对 1=比对成功 2=比对失败 字典值: csf_commission_status")
......
...@@ -18,6 +18,9 @@ ...@@ -18,6 +18,9 @@
<result property="amount" column="amount" /> <result property="amount" column="amount" />
<result property="currency" column="currency" /> <result property="currency" column="currency" />
<result property="commissionDate" column="commission_date" /> <result property="commissionDate" column="commission_date" />
<result property="currentCommissionRatio" column="current_commission_ratio" />
<result property="periodPaidRatio" column="period_paid_ratio" />
<result property="periodPendingRatio" column="period_pending_ratio" />
<result property="status" column="status" /> <result property="status" column="status" />
<result property="remark" column="remark" /> <result property="remark" column="remark" />
<result property="isDeleted" column="is_deleted" /> <result property="isDeleted" column="is_deleted" />
...@@ -30,7 +33,7 @@ ...@@ -30,7 +33,7 @@
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id,commission_biz_id,policy_no,premium,reconciliation_company,reconciliation_company_biz_id,commission_period, id,commission_biz_id,policy_no,premium,reconciliation_company,reconciliation_company_biz_id,commission_period,
total_period,commission_name,commission_type,amount,currency, total_period,commission_name,commission_type,amount,currency,
commission_date,status,remark,is_deleted,creator_id, commission_date,current_commission_ratio,period_paid_ratio,period_pending_ratio,status,remark,is_deleted,creator_id,
updater_id,create_time,update_time updater_id,create_time,update_time
</sql> </sql>
......
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