Commit bec30421 by zhangxingmin

push

parent 8c94081a
......@@ -244,7 +244,11 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
vo.setCommissionDateMonth(expected.getCommissionDate());
vo.setType(1);
vo.setNo(StringUtils.isNotBlank(expected.getReceivableNo()) ? expected.getReceivableNo() : expected.getCommissionExpectedBizId());
//入账年月实
vo.setCommissionDate(null);
//本次入账比例
vo.setRevenueRatio(null);
// 填充保单信息
Policy policy = policyMap.get(expected.getPolicyNo());
if (policy != null) {
......@@ -278,17 +282,17 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
// 达成率缺口 = 1 - 实佣率/产品来佣率
BigDecimal gap = BigDecimal.ONE.subtract(paidRatio.divide(commissionRatio, 4, RoundingMode.HALF_UP));
vo.setGapRate(gap.compareTo(BigDecimal.ZERO) < 0 ? BigDecimal.ZERO : gap);
// 本次入账比例(主记录无意义)
vo.setRevenueRatio(null);
} else {
vo.setRealRate(BigDecimal.ZERO);
vo.setGapRate(BigDecimal.ZERO);
}
//计算累积已入账比例 = 总实佣率/产品对应来佣率
// 计算累积已入账比例 = 总实佣率/产品对应来佣率
BigDecimal totalRevenueRatio = paidRatio.divide(commissionRatio, 4, RoundingMode.HALF_UP);
vo.setTotalRevenueRatio(totalRevenueRatio.multiply(BigDecimal.valueOf(100))
.setScale(2, RoundingMode.HALF_UP));
} else {
vo.setRealRate(BigDecimal.ZERO);
vo.setGapRate(BigDecimal.ZERO);
// 当产品来佣率为零或 null 时,总入账比例无意义,设置为 0
vo.setTotalRevenueRatio(BigDecimal.ZERO);
}
// 待入账金额(已实现归零逻辑)
if (commissionRatio != null && paidRatio.compareTo(commissionRatio) >= 0) {
......@@ -372,13 +376,15 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
if (productRatio != null && productRatio.compareTo(BigDecimal.ZERO) != 0) {
// 本次入账比例 = 本次实佣率 / 产品来佣率
BigDecimal revenue = currentRatio.divide(productRatio, 4, RoundingMode.HALF_UP);
vo.setRevenueRatio(revenue.compareTo(BigDecimal.ONE) > 0 ? BigDecimal.ONE : revenue);
BigDecimal revenueRatio = revenue.compareTo(BigDecimal.ONE) > 0 ? BigDecimal.ONE : revenue;
vo.setRevenueRatio(revenueRatio.multiply(BigDecimal.valueOf(100))
.setScale(2, RoundingMode.HALF_UP));
// 本次达成率缺口 = 1 - (实佣率(本次) / 产品来佣率)
BigDecimal cumulativePaidRatio = currentRatio != null ? currentRatio : BigDecimal.ZERO;
BigDecimal gap = BigDecimal.ONE.subtract(cumulativePaidRatio.divide(productRatio, 4, RoundingMode.HALF_UP));
vo.setGapRate(gap.compareTo(BigDecimal.ZERO) < 0 ? BigDecimal.ZERO : gap);
} else {
vo.setRevenueRatio(null);
vo.setRevenueRatio(BigDecimal.ZERO);
vo.setGapRate(BigDecimal.ZERO);
}
......
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