|
|
@@ -1102,22 +1102,27 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
|
|
|
if (vo.getCostsStartDate() != null) {
|
|
|
item.setCostsStartDate(vo.getCostsStartDate());
|
|
|
}
|
|
|
- updateProportion(item, vo.getJqCostsProportion(), item::getJqCostsProportion, item::setJqCostsProportion);
|
|
|
- updateProportion(item, vo.getSyCostsProportion(), item::getSyCostsProportion, item::setSyCostsProportion);
|
|
|
- updateProportion(item, vo.getNoCostsProportion(), item::getNoCostsProportion, item::setNoCostsProportion);
|
|
|
+ updateProportion(item, vo.getJqCostsProportion(), item::getJqCostsProportion, item::setJqCostsProportion, "交强险总费用");
|
|
|
+ updateProportion(item, vo.getSyCostsProportion(), item::getSyCostsProportion, item::setSyCostsProportion, "商业险总费用");
|
|
|
+ updateProportion(item, vo.getNoCostsProportion(), item::getNoCostsProportion, item::setNoCostsProportion, "非车险总费用");
|
|
|
//更新其他费用比例
|
|
|
- updateOtherCostsProportion(item, vo.getJqCostsProportion(), item::getJqCarOtherCostsProportion, item::setJqCarOtherCostsProportion);
|
|
|
- updateOtherCostsProportion(item, vo.getSyCostsProportion(), item::getSyCarOtherCostsProportion, item::setSyCarOtherCostsProportion);
|
|
|
- updateOtherCostsProportion(item, vo.getNoCostsProportion(), item::getNoCarOtherCostsProportion, item::setNoCarOtherCostsProportion);
|
|
|
+ updateOtherCostsProportion(item, vo.getJqCostsProportion(), item::getJqCarOtherCostsProportion, item::setJqCarOtherCostsProportion, "交强险其他费用");
|
|
|
+ updateOtherCostsProportion(item, vo.getSyCostsProportion(), item::getSyCarOtherCostsProportion, item::setSyCarOtherCostsProportion, "商业险其他费用");
|
|
|
+ updateOtherCostsProportion(item, vo.getNoCostsProportion(), item::getNoCarOtherCostsProportion, item::setNoCarOtherCostsProportion, "非车险其他费用");
|
|
|
}
|
|
|
|
|
|
//更新总比费用
|
|
|
- private void updateProportion(PtlAgreementProductCostsNew item, String proportionToAdd, Supplier<String> getter, Consumer<String> setter) {
|
|
|
+ private void updateProportion(PtlAgreementProductCostsNew item, String proportionToAdd, Supplier<String> getter, Consumer<String> setter, String desc) {
|
|
|
if (proportionToAdd != null) {
|
|
|
try {
|
|
|
BigDecimal current = new BigDecimal(getter.get());
|
|
|
BigDecimal add = new BigDecimal(proportionToAdd);
|
|
|
- setter.accept(current.add(add).toString());
|
|
|
+ BigDecimal updatedValue = current.add(add);
|
|
|
+ // 检查更新后的值是否小于零
|
|
|
+ if (updatedValue.compareTo(BigDecimal.ZERO) < 0) {
|
|
|
+ throw new SystemException(desc + "比例值不能小于零");
|
|
|
+ }
|
|
|
+ setter.accept(updatedValue.toString());
|
|
|
} catch (NumberFormatException e) {
|
|
|
throw new SystemException("比例值格式错误");
|
|
|
}
|
|
|
@@ -1125,14 +1130,18 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
|
|
|
}
|
|
|
|
|
|
//更新其他费用比例
|
|
|
- private void updateOtherCostsProportion(PtlAgreementProductCostsNew item, String otherProportionToAdd, Supplier<String> getter, Consumer<String> setter) {
|
|
|
+ private void updateOtherCostsProportion(PtlAgreementProductCostsNew item, String otherProportionToAdd, Supplier<String> getter, Consumer<String> setter, String desc) {
|
|
|
if (otherProportionToAdd != null) {
|
|
|
try {
|
|
|
BigDecimal currentOther = new BigDecimal(getter.get());
|
|
|
BigDecimal addOther = new BigDecimal(otherProportionToAdd);
|
|
|
+ BigDecimal updatedValue = currentOther.add(addOther);
|
|
|
|
|
|
- // 调整其他费用比例相同的值
|
|
|
- setter.accept(currentOther.add(addOther).toString());
|
|
|
+ // 检查更新后的值是否小于零
|
|
|
+ if (updatedValue.compareTo(BigDecimal.ZERO) < 0) {
|
|
|
+ throw new SystemException(desc + "比例值不能小于零");
|
|
|
+ }
|
|
|
+ setter.accept(updatedValue.toString());
|
|
|
} catch (NumberFormatException e) {
|
|
|
throw new SystemException("其他费用比例值格式错误");
|
|
|
}
|
|
|
@@ -1141,27 +1150,34 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
|
|
|
|
|
|
//更新1-5级比例
|
|
|
private void updateExportItem(AgreementProductCostsVo vo, PtlAgreementProductCostsExport item) {
|
|
|
- updateExportRadios(item, vo.getJqExportRadioLevel1(), item::getJqExportRadioLevel1, item::setJqExportRadioLevel1);
|
|
|
- updateExportRadios(item, vo.getJqExportRadioLevel2(), item::getJqExportRadioLevel2, item::setJqExportRadioLevel2);
|
|
|
- updateExportRadios(item, vo.getJqExportRadioLevel3(), item::getJqExportRadioLevel3, item::setJqExportRadioLevel3);
|
|
|
- updateExportRadios(item, vo.getJqExportRadioLevel4(), item::getJqExportRadioLevel4, item::setJqExportRadioLevel4);
|
|
|
- updateExportRadios(item, vo.getJqExportRadioLevel5(), item::getJqExportRadioLevel5, item::setJqExportRadioLevel5);
|
|
|
- updateExportRadios(item, vo.getSyExportRadioLevel1(), item::getSyExportRadioLevel1, item::setSyExportRadioLevel1);
|
|
|
- updateExportRadios(item, vo.getSyExportRadioLevel2(), item::getSyExportRadioLevel2, item::setSyExportRadioLevel2);
|
|
|
- updateExportRadios(item, vo.getSyExportRadioLevel3(), item::getSyExportRadioLevel3, item::setSyExportRadioLevel3);
|
|
|
- updateExportRadios(item, vo.getSyExportRadioLevel4(), item::getSyExportRadioLevel4, item::setSyExportRadioLevel4);
|
|
|
- updateExportRadios(item, vo.getSyExportRadioLevel5(), item::getSyExportRadioLevel5, item::setSyExportRadioLevel5);
|
|
|
- updateExportRadios(item, vo.getNoCarExportRadioLevel1(), item::getNoCarExportRadioLevel1, item::setNoCarExportRadioLevel1);
|
|
|
- updateExportRadios(item, vo.getNoCarExportRadioLevel2(), item::getNoCarExportRadioLevel2, item::setNoCarExportRadioLevel2);
|
|
|
- updateExportRadios(item, vo.getNoCarExportRadioLevel3(), item::getNoCarExportRadioLevel3, item::setNoCarExportRadioLevel3);
|
|
|
- updateExportRadios(item, vo.getNoCarExportRadioLevel4(), item::getNoCarExportRadioLevel4, item::setNoCarExportRadioLevel4);
|
|
|
- updateExportRadios(item, vo.getNoCarExportRadioLevel5(), item::getNoCarExportRadioLevel5, item::setNoCarExportRadioLevel5);
|
|
|
+ updateExportRadios(item, vo.getJqExportRadioLevel1(), item::getJqExportRadioLevel1, item::setJqExportRadioLevel1, "交强险一级比例");
|
|
|
+ updateExportRadios(item, vo.getJqExportRadioLevel2(), item::getJqExportRadioLevel2, item::setJqExportRadioLevel2, "交强险二级比例");
|
|
|
+ updateExportRadios(item, vo.getJqExportRadioLevel3(), item::getJqExportRadioLevel3, item::setJqExportRadioLevel3, "交强险三级比例");
|
|
|
+ updateExportRadios(item, vo.getJqExportRadioLevel4(), item::getJqExportRadioLevel4, item::setJqExportRadioLevel4, "交强险四级比例");
|
|
|
+ updateExportRadios(item, vo.getJqExportRadioLevel5(), item::getJqExportRadioLevel5, item::setJqExportRadioLevel5, "交强险五级比例");
|
|
|
+ updateExportRadios(item, vo.getSyExportRadioLevel1(), item::getSyExportRadioLevel1, item::setSyExportRadioLevel1, "商业险一级比例");
|
|
|
+ updateExportRadios(item, vo.getSyExportRadioLevel2(), item::getSyExportRadioLevel2, item::setSyExportRadioLevel2, "商业险二级比例");
|
|
|
+ updateExportRadios(item, vo.getSyExportRadioLevel3(), item::getSyExportRadioLevel3, item::setSyExportRadioLevel3, "商业险三级比例");
|
|
|
+ updateExportRadios(item, vo.getSyExportRadioLevel4(), item::getSyExportRadioLevel4, item::setSyExportRadioLevel4, "商业险四级比例");
|
|
|
+ updateExportRadios(item, vo.getSyExportRadioLevel5(), item::getSyExportRadioLevel5, item::setSyExportRadioLevel5, "商业险五级比例");
|
|
|
+ updateExportRadios(item, vo.getNoCarExportRadioLevel1(), item::getNoCarExportRadioLevel1, item::setNoCarExportRadioLevel1, "非车险一级比例");
|
|
|
+ updateExportRadios(item, vo.getNoCarExportRadioLevel2(), item::getNoCarExportRadioLevel2, item::setNoCarExportRadioLevel2, "非车险二级比例");
|
|
|
+ updateExportRadios(item, vo.getNoCarExportRadioLevel3(), item::getNoCarExportRadioLevel3, item::setNoCarExportRadioLevel3, "非车险三级比例");
|
|
|
+ updateExportRadios(item, vo.getNoCarExportRadioLevel4(), item::getNoCarExportRadioLevel4, item::setNoCarExportRadioLevel4, "非车险四级比例");
|
|
|
+ updateExportRadios(item, vo.getNoCarExportRadioLevel5(), item::getNoCarExportRadioLevel5, item::setNoCarExportRadioLevel5, "非车险五级比例");
|
|
|
}
|
|
|
|
|
|
//更新1-5级比例
|
|
|
- private void updateExportRadios(PtlAgreementProductCostsExport item, BigDecimal valueToAdd, Supplier<BigDecimal> getter, Consumer<BigDecimal> setter) {
|
|
|
+ private void updateExportRadios(PtlAgreementProductCostsExport item, BigDecimal valueToAdd, Supplier<BigDecimal> getter, Consumer<BigDecimal> setter,String desc) {
|
|
|
if (valueToAdd != null) {
|
|
|
- setter.accept(getter.get().add(valueToAdd));
|
|
|
+ BigDecimal currentValue = getter.get();
|
|
|
+ BigDecimal updatedValue = currentValue.add(valueToAdd);
|
|
|
+
|
|
|
+ // 检查更新后的值是否小于零
|
|
|
+ if (updatedValue.compareTo(BigDecimal.ZERO) < 0) {
|
|
|
+ throw new SystemException(desc + "比例值不能小于零");
|
|
|
+ }
|
|
|
+ setter.accept(updatedValue);
|
|
|
}
|
|
|
}
|
|
|
|