|
|
@@ -561,6 +561,7 @@ handlingProportion,
|
|
|
InsPlyIncome insPlyIncome = new InsPlyIncome();
|
|
|
insPlyIncome.setHandlingFeesStatus("1");
|
|
|
insPlyIncome.setSettlementTime(LocalDate.now());
|
|
|
+ insPlyIncome.setSettlementUserId(BaseController.getUser().getId());
|
|
|
insPlyIncome.setId(id);
|
|
|
baseMapper.updateById(insPlyIncome);
|
|
|
}
|
|
|
@@ -1196,10 +1197,11 @@ handlingProportion,
|
|
|
InsPlyIncome insPlyIncome = new InsPlyIncome();
|
|
|
BeanUtils.copyProperties(insPlyIncomeVo, insPlyIncome);
|
|
|
|
|
|
+ InsPlyIncome byId = baseMapper.getById(insPlyIncomeVo.getId());
|
|
|
InsPlyIncomeLog insPlyIncomeLog = new InsPlyIncomeLog();
|
|
|
insPlyIncomeLog.setIncomeId(insPlyIncome.getId());
|
|
|
insPlyIncome.setId(null);
|
|
|
- BeanUtils.copyProperties(insPlyIncome,insPlyIncomeLog);
|
|
|
+ BeanUtils.copyProperties(byId,insPlyIncomeLog);
|
|
|
insPlyIncomeLog.setOperationStatus("2");
|
|
|
insPlyIncomeLogService.saveLog(insPlyIncomeLog); //添加日志
|
|
|
|
|
|
@@ -1366,11 +1368,10 @@ handlingProportion,
|
|
|
private static BigDecimal getBigDecimal(BigDecimal jqNoTaxPremium, BigDecimal proportion) {
|
|
|
BigDecimal divisor = new BigDecimal("1.06"); // 示例除数
|
|
|
// 先进行除法,保留5位小数,不进行四舍五入(使用RoundingMode.DOWN)
|
|
|
- BigDecimal dividedAmount = jqNoTaxPremium.divide(divisor, 5, RoundingMode.DOWN);
|
|
|
+ BigDecimal dividedAmount = jqNoTaxPremium.divide(divisor, 5, RoundingMode.HALF_UP);
|
|
|
// 将比例除以100,假设proportion是一个百分比值
|
|
|
- BigDecimal scaledProportion = proportion.divide(new BigDecimal(100));
|
|
|
// 然后进行乘法,并进行舍入到5位小数
|
|
|
- BigDecimal result = dividedAmount.multiply(scaledProportion).setScale(5, RoundingMode.DOWN);
|
|
|
+ BigDecimal result = dividedAmount.multiply( proportion.divide(new BigDecimal(100))).setScale(5, BigDecimal.ROUND_DOWN);
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
@@ -1380,9 +1381,8 @@ handlingProportion,
|
|
|
* @return 费用
|
|
|
*/
|
|
|
private BigDecimal algorithmAmount(BigDecimal value1, BigDecimal value2) {
|
|
|
- BigDecimal divide = value2.divide(new BigDecimal(100),5,RoundingMode.DOWN);
|
|
|
- return value1.multiply(divide);
|
|
|
-
|
|
|
+ BigDecimal divide = value2.divide(new BigDecimal(100));
|
|
|
+ return value1.multiply(divide).setScale(5,BigDecimal.ROUND_DOWN);
|
|
|
}
|
|
|
|
|
|
private BigDecimal initializationBigdecimal(BigDecimal value) {
|
|
|
@@ -1413,14 +1413,6 @@ handlingProportion,
|
|
|
insPlyIncomeVo.setSignDate(null);
|
|
|
BeanUtils.copyProperties(insPlyIncomeVo, insPlyIncome);
|
|
|
|
|
|
- InsPlyIncomeLog insPlyIncomeLog = new InsPlyIncomeLog();
|
|
|
- insPlyIncomeLog.setIncomeId(insPlyIncome.getId());
|
|
|
- insPlyIncome.setId(null);
|
|
|
- BeanUtils.copyProperties(insPlyIncome,insPlyIncomeLog);
|
|
|
- insPlyIncomeLog.setOperationStatus("1");
|
|
|
- insPlyIncomeLogService.saveLog(insPlyIncomeLog); //添加日志
|
|
|
-
|
|
|
-
|
|
|
insPlyIncome.setUserId(BaseController.getUser().getId());
|
|
|
insPlyIncome.setDocumentaryFeesStatus("0");
|
|
|
insPlyIncome.setHandlingFeesStatus("0");
|
|
|
@@ -1468,6 +1460,13 @@ handlingProportion,
|
|
|
insPlyIncome.setAgreementId(ptlAgreement.getId());
|
|
|
baseMapper.insert(insPlyIncome);
|
|
|
|
|
|
+ InsPlyIncomeLog insPlyIncomeLog = new InsPlyIncomeLog();
|
|
|
+ insPlyIncomeLog.setIncomeId(insPlyIncome.getId());
|
|
|
+ insPlyIncome.setId(null);
|
|
|
+ BeanUtils.copyProperties(insPlyIncome,insPlyIncomeLog);
|
|
|
+ insPlyIncomeLog.setOperationStatus("1");
|
|
|
+ insPlyIncomeLogService.saveLog(insPlyIncomeLog); //添加日志
|
|
|
+
|
|
|
return HttpResult.ok();
|
|
|
}
|
|
|
|
|
|
@@ -1517,7 +1516,7 @@ handlingProportion,
|
|
|
insPlyIncomeLog.setIncomeId(insPlyIncome.getId());
|
|
|
insPlyIncome.setId(null);
|
|
|
BeanUtils.copyProperties(insPlyIncome,insPlyIncomeLog);
|
|
|
- insPlyIncomeLog.setOperationStatus("1");
|
|
|
+ insPlyIncomeLog.setOperationStatus("3");
|
|
|
insPlyIncomeLogService.saveLog(insPlyIncomeLog); //添加日志
|
|
|
|
|
|
baseMapper.deleteById(insPlyIncomeVo.getId()); //删除 结算 然后删除结算表
|
|
|
@@ -2580,14 +2579,8 @@ handlingProportion,
|
|
|
BigDecimal syOtherCostsProportion = item.getSyOtherCostsProportion();
|
|
|
|
|
|
|
|
|
- BigDecimal divisor = new BigDecimal("1.06"); // 最好是使用字符串来避免精度损失
|
|
|
- // 计算交强保费和商业保费(四舍五入到5位小数)
|
|
|
- BigDecimal jqNoTaxPremium = byBxLicenseno.getJqPremium().divide(divisor, 5, RoundingMode.DOWN); // 交强保费 / 1.06
|
|
|
- BigDecimal syNoTaxPremium = byBxLicenseno.getSyPremium().divide(divisor, 5, RoundingMode.DOWN); // 商业保费 / 1.06
|
|
|
- // 计算交强跟单费用和商业跟单费用(不进行四舍五入,而是截断到5位小数)
|
|
|
- BigDecimal jqOtherAmount = jqNoTaxPremium.multiply(item.getJqOtherCostsProportion().divide(new BigDecimal(100))).setScale(5, RoundingMode.DOWN);
|
|
|
- // 交强跟单费用
|
|
|
- BigDecimal syOtherAmount = syNoTaxPremium.multiply(item.getSyOtherCostsProportion().divide(new BigDecimal(100))).setScale(5, RoundingMode.DOWN);
|
|
|
+ BigDecimal jqOtherAmount = getBigDecimal( byBxLicenseno.getJqPremium(),item.getJqOtherCostsProportion());
|
|
|
+ BigDecimal syOtherAmount = getBigDecimal( byBxLicenseno.getSyPremium(),item.getSyOtherCostsProportion());
|
|
|
|
|
|
byBxLicenseno.setJqOtherCostsPremium(jqOtherAmount);
|
|
|
byBxLicenseno.setSyOtherCostsPremium(syOtherAmount);
|
|
|
@@ -2664,11 +2657,8 @@ handlingProportion,
|
|
|
|
|
|
BigDecimal divisor = new BigDecimal("1.06"); // 最好是使用字符串来避免精度损失
|
|
|
|
|
|
- BigDecimal noPremium = noNoTaxPremium.divide(divisor, 5, RoundingMode.DOWN);//交强保费 / 1.06
|
|
|
-
|
|
|
-
|
|
|
- BigDecimal noOtherAmount = noPremium.multiply(item.getNoOtherCostsProportion().divide(new BigDecimal(100))).setScale(5, RoundingMode.DOWN); //交强跟单费用
|
|
|
|
|
|
+ BigDecimal noOtherAmount = getBigDecimal( noNoTaxPremium,item.getNoOtherCostsProportion());
|
|
|
|
|
|
byBxLicenseno.setNoOtherCostsPremium(noOtherAmount);
|
|
|
byBxLicenseno.setNoOtherCostsProportion(item.getNoOtherCostsProportion());
|