Commit baf660f8 by jianan

分期出账优化、应收款应付款金额精度2

parent 8ce75748
...@@ -668,7 +668,7 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService ...@@ -668,7 +668,7 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
//原币种 //原币种
updateObj.setOriginalCurrency(policyCurrency); updateObj.setOriginalCurrency(policyCurrency);
//原币种金额 //原币种金额
BigDecimal ruleAmount = expectedFortune.getRuleAmount().setScale(2, RoundingMode.HALF_UP); BigDecimal ruleAmount = expectedFortune.getRuleAmount().setScale(0, RoundingMode.HALF_UP);
updateObj.setOriginalAmount(ruleAmount); updateObj.setOriginalAmount(ruleAmount);
//原币种 -> 港币汇率 //原币种 -> 港币汇率
updateObj.setOriginalToHkdRate(originalToHkdRate); updateObj.setOriginalToHkdRate(originalToHkdRate);
...@@ -677,8 +677,8 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService ...@@ -677,8 +677,8 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
//默认保单币种 -> 港币汇率 //默认保单币种 -> 港币汇率
updateObj.setDefaultExchangeRate(originalToHkdRate); updateObj.setDefaultExchangeRate(originalToHkdRate);
//应发港币金额(估)(标准发佣金额 * 默认保单币种 -> 港币汇率);出的钱保留整数 //应发港币金额(估)(标准发佣金额 * 默认保单币种 -> 港币汇率);出的钱保留整数
BigDecimal hkdAmount = ruleAmount.multiply(originalToHkdRate); BigDecimal hkdAmount = ruleAmount.multiply(originalToHkdRate).setScale(0, RoundingMode.HALF_UP);
updateObj.setHkdAmount(hkdAmount.setScale(0, RoundingMode.HALF_UP)); updateObj.setHkdAmount(hkdAmount);
//发放币种 //发放币种
updateObj.setPayoutCurrency(currency); updateObj.setPayoutCurrency(currency);
//发放币种金额;出的钱保留整数 //发放币种金额;出的钱保留整数
...@@ -688,10 +688,10 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService ...@@ -688,10 +688,10 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
//默认值 //默认值
updateObj.setPaidRuleAmount(BigDecimal.ZERO); updateObj.setPaidRuleAmount(BigDecimal.ZERO);
updateObj.setUnpaidRuleAmount(ruleAmount); updateObj.setUnpaidRuleAmount(ruleAmount);
updateObj.setUnpaidRuleAmountHkd(hkdAmount.setScale(0, RoundingMode.HALF_UP)); updateObj.setUnpaidRuleAmountHkd(hkdAmount);
updateObj.setPaidAmount(BigDecimal.ZERO); updateObj.setPaidAmount(BigDecimal.ZERO);
updateObj.setPaidRatio(BigDecimal.ZERO); updateObj.setPaidRatio(BigDecimal.ZERO);
updateObj.setUnpaidAmount(hkdAmount.setScale(0, RoundingMode.HALF_UP)); updateObj.setUnpaidAmount(hkdAmount);
updateObj.setUnpaidRatio(BigDecimal.valueOf(100)); updateObj.setUnpaidRatio(BigDecimal.valueOf(100));
} }
......
...@@ -812,14 +812,13 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss ...@@ -812,14 +812,13 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
// 入账检核汇率 — 仅审计追溯,始终写入 // 入账检核汇率 — 仅审计追溯,始终写入
fortune.setExchangeRate(exchangeRate); fortune.setExchangeRate(exchangeRate);
// 判断 expectedFortune.originalCurrency 、入账币种-fortune.currency 是否都等于 HKD // 判断来佣入账币种-Commission.currency 是否为 HKD
Commission matchedCommission = commissionByPolicyPeriod.get(key); Commission matchedCommission = commissionByPolicyPeriod.get(key);
boolean isAllHkd = matchedCommission != null boolean isAllHkd = matchedCommission != null
&& "HKD".equalsIgnoreCase(expectedFortune.getOriginalCurrency())
&& "HKD".equalsIgnoreCase(matchedCommission.getCurrency()); && "HKD".equalsIgnoreCase(matchedCommission.getCurrency());
if (isAllHkd) { if (isAllHkd) {
// 原币种 = HKD 时,exchangeRate = 保单币种 → 港币,可安全使用 // 入账币种 = HKD 时,exchangeRate = 保单币种 → 港币
fortune.setOriginalToHkdRate(exchangeRate); fortune.setOriginalToHkdRate(exchangeRate);
BigDecimal hkdAmount = fortune.getRuleAmount() BigDecimal hkdAmount = fortune.getRuleAmount()
.multiply(exchangeRate).setScale(0, RoundingMode.HALF_UP); .multiply(exchangeRate).setScale(0, RoundingMode.HALF_UP);
......
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