From 9f2be3b81b3f4c6ec5539c5a094d0b2c49feb022 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A3=E5=9C=A3=E5=8D=8E?= <752718920@qq.com> Date: Sun, 29 May 2022 15:46:35 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3bug=EF=BC=9A=E4=BC=9A?= =?UTF-8?q?=E5=91=98=E7=9A=84=E9=A2=84=E4=BB=98=E6=AC=BE=E8=83=BD=E6=89=A3?= =?UTF-8?q?=E6=88=90=E8=B4=9F=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/depotHead/DepotHeadService.java | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java index 8406f0b5..093438bf 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/depotHead/DepotHeadService.java @@ -132,6 +132,9 @@ public class DepotHeadService { if(dh.getTotalPrice() != null) { dh.setTotalPrice(dh.getTotalPrice().abs()); } + if(dh.getDeposit() == null) { + dh.setDeposit(BigDecimal.ZERO); + } if(StringUtil.isNotEmpty(dh.getSalesMan())) { dh.setSalesManStr(personService.getPersonByMapAndIds(personMap,dh.getSalesMan())); } @@ -750,7 +753,13 @@ public class DepotHeadService { /**入库和出库处理预付款信息*/ if(BusinessConstants.PAY_TYPE_PREPAID.equals(depotHead.getPayType())){ if(depotHead.getOrganId()!=null) { - supplierService.updateAdvanceIn(depotHead.getOrganId(), BigDecimal.ZERO.subtract(depotHead.getTotalPrice())); + BigDecimal currentAdvanceIn = supplierService.getSupplier(depotHead.getOrganId()).getAdvanceIn(); + if(currentAdvanceIn.compareTo(depotHead.getTotalPrice())>=0) { + supplierService.updateAdvanceIn(depotHead.getOrganId(), BigDecimal.ZERO.subtract(depotHead.getTotalPrice())); + } else { + throw new BusinessRunTimeException(ExceptionConstants.DEPOT_HEAD_MEMBER_PAY_LACK_CODE, + String.format(ExceptionConstants.DEPOT_HEAD_MEMBER_PAY_LACK_MSG)); + } } } //根据单据编号查询单据id @@ -817,7 +826,13 @@ public class DepotHeadService { /**入库和出库处理预付款信息*/ if(BusinessConstants.PAY_TYPE_PREPAID.equals(depotHead.getPayType())){ if(depotHead.getOrganId()!=null){ - supplierService.updateAdvanceIn(depotHead.getOrganId(), BigDecimal.ZERO.subtract(depotHead.getTotalPrice().subtract(preTotalPrice))); + BigDecimal currentAdvanceIn = supplierService.getSupplier(depotHead.getOrganId()).getAdvanceIn(); + if(currentAdvanceIn.compareTo(depotHead.getTotalPrice())>=0) { + supplierService.updateAdvanceIn(depotHead.getOrganId(), BigDecimal.ZERO.subtract(depotHead.getTotalPrice().subtract(preTotalPrice))); + } else { + throw new BusinessRunTimeException(ExceptionConstants.DEPOT_HEAD_MEMBER_PAY_LACK_CODE, + String.format(ExceptionConstants.DEPOT_HEAD_MEMBER_PAY_LACK_MSG)); + } } } /**入库和出库处理单据子表信息*/ @@ -937,6 +952,9 @@ public class DepotHeadService { if(dh.getTotalPrice() != null) { dh.setTotalPrice(dh.getTotalPrice().abs()); } + if(dh.getDeposit() == null) { + dh.setDeposit(BigDecimal.ZERO); + } if(dh.getOperTime() != null) { dh.setOperTimeStr(getCenternTime(dh.getOperTime())); }