diff --git a/mhd_bms/src/main/java/com/mhd/bms/application/server/billManage/BillManageApplicationService.java b/mhd_bms/src/main/java/com/mhd/bms/application/server/billManage/BillManageApplicationService.java index 85a86ef91..2d417baae 100644 --- a/mhd_bms/src/main/java/com/mhd/bms/application/server/billManage/BillManageApplicationService.java +++ b/mhd_bms/src/main/java/com/mhd/bms/application/server/billManage/BillManageApplicationService.java @@ -333,7 +333,10 @@ public class BillManageApplicationService { BigDecimal billingDiscountAmount = billDetailDTOList.stream().map(BillDetailDTO::getBillingDiscountAmount).reduce(BigDecimal.ZERO, BigDecimal::add); //比较传来的账单总额、账单金额、账单优惠金额与计算的是否一致,不一致则报错 if(billingTotalAmount.compareTo(billManageDTO.getBillTotalAmount())!=0 || billingAmount.compareTo(billManageDTO.getBillAmount())!=0 || billingDiscountAmount.compareTo(billManageDTO.getBillDiscountAmount())!=0){ - throw new ServiceException("账单金额不一致,调整失败,请重试"); + // 金额不一致时,用明细累加值覆盖前端传值,不再抛异常 + billManageDTO.setBillTotalAmount(billingTotalAmount); + billManageDTO.setBillAmount(billingAmount); + billManageDTO.setBillDiscountAmount(billingDiscountAmount); } //将集合中没有计费流水id的过滤到另一个集合,将添加费用的集合保存到计费流水并返回计费流水id List billDetailDTOListNoBillingStatementId = billDetailDTOList.stream().filter(billDetailDTO -> billDetailDTO.getBillingStatementId()==null).collect(Collectors.toList());