Commit 91ac4423 by zhangxingmin

push

parent 3b19051a
......@@ -849,7 +849,6 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
commission.setCommissionBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_COMMISSION.getCode()));
// 关联业务id
if ("R".equals(request.getCommissionBizType())) {
if (MapUtils.isNotEmpty(policyMap)) {
Policy policy = policyMap.get(request.getPolicyNo());
if (policy != null) {
commission.setReconciliationCompany(policy.getReconciliationCompany());
......@@ -869,7 +868,6 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
} else {
throw new BusinessException(ResultCode.PARAMS_ERROR.getCode(), "保单不存在, policyNo: " + request.getPolicyNo());
}
}
} else {
commission.setPolicyNo(null);
}
......
......@@ -317,6 +317,7 @@ public class FortuneVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 对象转封装类
*
......@@ -329,21 +330,33 @@ public class FortuneVO implements Serializable {
}
FortuneVO fortuneVO = new FortuneVO();
BeanUtils.copyProperties(fortune, fortuneVO);
// 计算已出账金额和待出账金额
BigDecimal currentPaymentHkdAmount = "2".equals(fortune.getStatus()) ? fortune.getCurrentPaymentHkdAmount() : BigDecimal.ZERO;
// 安全获取港币金额,避免 null
BigDecimal hkdAmount = ObjectUtil.defaultIfNull(fortune.getHkdAmount(), BigDecimal.ZERO);
// 已出账金额(status=2 时取 currentPaymentHkdAmount,否则为 0)
BigDecimal currentPaymentHkdAmount = "2".equals(fortune.getStatus())
? ObjectUtil.defaultIfNull(fortune.getCurrentPaymentHkdAmount(), BigDecimal.ZERO)
: BigDecimal.ZERO;
fortuneVO.setFortunePaidAmount(currentPaymentHkdAmount);
fortuneVO.setFortuneUnpaidAmount(NumberUtil.sub(fortune.getHkdAmount(), currentPaymentHkdAmount));
// 计算已出账比例
BigDecimal currentPaymentRatio = NumberUtil
.div(currentPaymentHkdAmount, fortune.getHkdAmount(), 4)
fortuneVO.setFortuneUnpaidAmount(NumberUtil.sub(hkdAmount, currentPaymentHkdAmount));
// 计算已出账比例,分母为 0 时直接设为 0%
BigDecimal currentPaymentRatio;
if (hkdAmount.compareTo(BigDecimal.ZERO) == 0) {
currentPaymentRatio = BigDecimal.ZERO;
} else {
currentPaymentRatio = NumberUtil.div(currentPaymentHkdAmount, hkdAmount, 4)
.multiply(BigDecimal.valueOf(100));
}
fortuneVO.setCurrentPaymentRatio(currentPaymentRatio);
// 计算剩余出账比例
fortuneVO.setFortuneUnpaidRatio(BigDecimal.valueOf(100).subtract(currentPaymentRatio));
fortuneVO.setCurrency(CurrencyEnum.toLabel(fortune.getCurrency()));
fortuneVO.setPolicyCurrency((CurrencyEnum.toLabel(fortune.getPolicyCurrency())));
fortuneVO.setPolicyCurrency(CurrencyEnum.toLabel(fortune.getPolicyCurrency()));
return fortuneVO;
}
}
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