Commit bec30421 by zhangxingmin

push

parent 8c94081a
...@@ -244,7 +244,11 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte ...@@ -244,7 +244,11 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
vo.setCommissionDateMonth(expected.getCommissionDate()); vo.setCommissionDateMonth(expected.getCommissionDate());
vo.setType(1); vo.setType(1);
vo.setNo(StringUtils.isNotBlank(expected.getReceivableNo()) ? expected.getReceivableNo() : expected.getCommissionExpectedBizId()); vo.setNo(StringUtils.isNotBlank(expected.getReceivableNo()) ? expected.getReceivableNo() : expected.getCommissionExpectedBizId());
//入账年月实
vo.setCommissionDate(null); vo.setCommissionDate(null);
//本次入账比例
vo.setRevenueRatio(null);
// 填充保单信息 // 填充保单信息
Policy policy = policyMap.get(expected.getPolicyNo()); Policy policy = policyMap.get(expected.getPolicyNo());
if (policy != null) { if (policy != null) {
...@@ -278,17 +282,17 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte ...@@ -278,17 +282,17 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
// 达成率缺口 = 1 - 实佣率/产品来佣率 // 达成率缺口 = 1 - 实佣率/产品来佣率
BigDecimal gap = BigDecimal.ONE.subtract(paidRatio.divide(commissionRatio, 4, RoundingMode.HALF_UP)); BigDecimal gap = BigDecimal.ONE.subtract(paidRatio.divide(commissionRatio, 4, RoundingMode.HALF_UP));
vo.setGapRate(gap.compareTo(BigDecimal.ZERO) < 0 ? BigDecimal.ZERO : gap); 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); BigDecimal totalRevenueRatio = paidRatio.divide(commissionRatio, 4, RoundingMode.HALF_UP);
vo.setTotalRevenueRatio(totalRevenueRatio.multiply(BigDecimal.valueOf(100)) vo.setTotalRevenueRatio(totalRevenueRatio.multiply(BigDecimal.valueOf(100))
.setScale(2, RoundingMode.HALF_UP)); .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) { if (commissionRatio != null && paidRatio.compareTo(commissionRatio) >= 0) {
...@@ -372,13 +376,15 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte ...@@ -372,13 +376,15 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
if (productRatio != null && productRatio.compareTo(BigDecimal.ZERO) != 0) { if (productRatio != null && productRatio.compareTo(BigDecimal.ZERO) != 0) {
// 本次入账比例 = 本次实佣率 / 产品来佣率 // 本次入账比例 = 本次实佣率 / 产品来佣率
BigDecimal revenue = currentRatio.divide(productRatio, 4, RoundingMode.HALF_UP); 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 - (实佣率(本次) / 产品来佣率) // 本次达成率缺口 = 1 - (实佣率(本次) / 产品来佣率)
BigDecimal cumulativePaidRatio = currentRatio != null ? currentRatio : BigDecimal.ZERO; BigDecimal cumulativePaidRatio = currentRatio != null ? currentRatio : BigDecimal.ZERO;
BigDecimal gap = BigDecimal.ONE.subtract(cumulativePaidRatio.divide(productRatio, 4, RoundingMode.HALF_UP)); BigDecimal gap = BigDecimal.ONE.subtract(cumulativePaidRatio.divide(productRatio, 4, RoundingMode.HALF_UP));
vo.setGapRate(gap.compareTo(BigDecimal.ZERO) < 0 ? BigDecimal.ZERO : gap); vo.setGapRate(gap.compareTo(BigDecimal.ZERO) < 0 ? BigDecimal.ZERO : gap);
} else { } else {
vo.setRevenueRatio(null); vo.setRevenueRatio(BigDecimal.ZERO);
vo.setGapRate(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