diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWriteoffApplyController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWriteoffApplyController.java index 628672a24..dc4171547 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWriteoffApplyController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWriteoffApplyController.java @@ -84,9 +84,13 @@ public class EmisWriteoffApplyController extends EmisBaseController { // 提取账单名称列表(去重) List billNames = apply.getDetailList().stream() .filter(detail -> detail != null) - .map(detail -> detail.getEmisSettleBill() != null - ? detail.getEmisSettleBill().getSettleBillName() - : null) + .map(detail -> { + if (detail.getEmisSettleBill() != null + && detail.getEmisSettleBill().getSettleBillName() != null) { + return detail.getEmisSettleBill().getSettleBillName(); + } + return null; + }) .filter(name -> name != null && !name.trim().isEmpty()) .distinct() .collect(Collectors.toList()); @@ -95,7 +99,7 @@ public class EmisWriteoffApplyController extends EmisBaseController { // 提取账单号列表(去重) List billNos = apply.getDetailList().stream() .filter(detail -> detail != null) - .map(detail -> detail.getSettleBillNo()) + .map(detail -> detail.getSettleBillNo() != null ? detail.getSettleBillNo() : "") .filter(no -> no != null && !no.trim().isEmpty()) .distinct() .collect(Collectors.toList()); @@ -104,8 +108,13 @@ public class EmisWriteoffApplyController extends EmisBaseController { // 计算账单金额总和 BigDecimal totalAmount = apply.getDetailList().stream() .filter(detail -> detail != null) - .map(detail -> detail.getEmisSettleBill() != null ? detail.getEmisSettleBill().getRecMoney() - : BigDecimal.ZERO) + .map(detail -> { + if (detail.getEmisSettleBill() != null + && detail.getEmisSettleBill().getRecMoney() != null) { + return detail.getEmisSettleBill().getRecMoney(); + } + return BigDecimal.ZERO; + }) .reduce(BigDecimal.ZERO, BigDecimal::add); apply.setApplyRecMoney(totalAmount); }