diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java index c52069554..e03689ea2 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java @@ -252,18 +252,22 @@ public class EmisBaseService { if(changeMoney.compareTo(BigDecimal.ZERO)>0){ if("2".equals(newSettleType)){ EmisCreditCustomer creditCustomer = getEmisCreditCustomerByCond(newBill.getCustNo(),newBill.getSendDate(),newBill.getCarryType()); - BigDecimal preBalance=creditCustomer.getCreditMoney().subtract(creditCustomer.getUseMoney()); - if(changeMoney.compareTo(preBalance) > 0 ){ - // 提示异常 - throw new EmisBizError(EmisBizErrorType.FAIL, "超出信用额度"); - } + if(creditCustomer!=null) { + BigDecimal preBalance = creditCustomer.getCreditMoney().subtract(creditCustomer.getUseMoney()); + if (changeMoney.compareTo(preBalance) > 0) { + // 提示异常 + throw new EmisBizError(EmisBizErrorType.FAIL, "超出信用额度"); + } + } } else if("1".equals(newSettleType)){ EmisCreditSalesmen creditSalesmen = getEmisCreditSalesmenByCond(newBill.getSalesmen(),newBill.getSendDate(),newBill.getCarryType()); - BigDecimal preBalance=creditSalesmen.getCreditMoney().subtract(creditSalesmen.getUseMoney()); - if(changeMoney.compareTo(preBalance) > 0 ){ - // 提示异常 - throw new EmisBizError(EmisBizErrorType.FAIL, "超出信用额度"); + if(creditSalesmen!=null) { + BigDecimal preBalance = creditSalesmen.getCreditMoney().subtract(creditSalesmen.getUseMoney()); + if (changeMoney.compareTo(preBalance) > 0) { + // 提示异常 + throw new EmisBizError(EmisBizErrorType.FAIL, "超出信用额度"); + } } } } @@ -273,18 +277,22 @@ public class EmisBaseService { BigDecimal changeMoney=newBill.getFreight(); if("2".equals(newSettleType)){ EmisCreditCustomer creditCustomer = getEmisCreditCustomerByCond(newBill.getCustNo(),newBill.getSendDate(),newBill.getCarryType()); - BigDecimal preBalance=creditCustomer.getCreditMoney().subtract(creditCustomer.getUseMoney()); - if(changeMoney.compareTo(preBalance) > 0 ){ - // 提示异常 - throw new EmisBizError(EmisBizErrorType.FAIL, "超出信用额度"); + if(creditCustomer!=null) { + BigDecimal preBalance = creditCustomer.getCreditMoney().subtract(creditCustomer.getUseMoney()); + if (changeMoney.compareTo(preBalance) > 0) { + // 提示异常 + throw new EmisBizError(EmisBizErrorType.FAIL, "超出信用额度"); + } } } else if("1".equals(newSettleType)){ EmisCreditSalesmen creditSalesmen = getEmisCreditSalesmenByCond(newBill.getSalesmen(),newBill.getSendDate(),newBill.getCarryType()); - BigDecimal preBalance=creditSalesmen.getCreditMoney().subtract(creditSalesmen.getUseMoney()); - if(changeMoney.compareTo(preBalance) > 0 ){ - // 提示异常 - throw new EmisBizError(EmisBizErrorType.FAIL, "超出信用额度"); + if(creditSalesmen!=null) { + BigDecimal preBalance = creditSalesmen.getCreditMoney().subtract(creditSalesmen.getUseMoney()); + if (changeMoney.compareTo(preBalance) > 0) { + // 提示异常 + throw new EmisBizError(EmisBizErrorType.FAIL, "超出信用额度"); + } } } } @@ -299,18 +307,22 @@ public class EmisBaseService { if(changeMoney.compareTo(BigDecimal.ZERO)>0){ if("2".equals(newSettleType)){ EmisCreditCustomer creditCustomer = getEmisCreditCustomerByCond(newBill.getCustNo(),newBill.getSendDate(),newBill.getCarryType()); - BigDecimal preBalance=creditCustomer.getCreditMoney().subtract(creditCustomer.getUseMoney()); - if(changeMoney.compareTo(preBalance) > 0 ){ - // 提示异常 - throw new EmisBizError(EmisBizErrorType.FAIL, "超出信用额度"); + if(creditCustomer!=null) { + BigDecimal preBalance = creditCustomer.getCreditMoney().subtract(creditCustomer.getUseMoney()); + if (changeMoney.compareTo(preBalance) > 0) { + // 提示异常 + throw new EmisBizError(EmisBizErrorType.FAIL, "超出信用额度"); + } } } else if("1".equals(newSettleType)){ EmisCreditSalesmen creditSalesmen = getEmisCreditSalesmenByCond(newBill.getSalesmen(),newBill.getSendDate(),newBill.getCarryType()); - BigDecimal preBalance=creditSalesmen.getCreditMoney().subtract(creditSalesmen.getUseMoney()); - if(changeMoney.compareTo(preBalance) > 0 ){ - // 提示异常 - throw new EmisBizError(EmisBizErrorType.FAIL, "超出信用额度"); + if(creditSalesmen!=null) { + BigDecimal preBalance = creditSalesmen.getCreditMoney().subtract(creditSalesmen.getUseMoney()); + if (changeMoney.compareTo(preBalance) > 0) { + // 提示异常 + throw new EmisBizError(EmisBizErrorType.FAIL, "超出信用额度"); + } } } }