From 8693a61129ff355add8ff0ebe6f087670b18bf0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A3=E5=9C=A3=E5=8D=8E?= <752718920@qq.com> Date: Tue, 5 Dec 2023 23:36:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=8D=95=E6=8D=AE=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E7=9A=84=E6=97=B6=E5=80=99=E7=9A=84=E5=88=A4=E6=96=AD?= =?UTF-8?q?=E9=80=BB=E8=BE=91=EF=BC=9A=E5=A6=82=E6=9E=9C=E5=BC=80=E5=90=AF?= =?UTF-8?q?=E5=87=BA=E5=85=A5=E5=BA=93=E7=AE=A1=E7=90=86=EF=BC=8C=E5=88=99?= =?UTF-8?q?=E5=9C=A8=E9=87=87=E8=B4=AD=E9=94=80=E5=94=AE=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E5=8D=95=E6=8D=AE=E6=83=85=E5=86=B5=E4=B8=8B=E5=88=99=E8=B7=B3?= =?UTF-8?q?=E8=BF=87=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/depotItem/DepotItemService.java | 45 +++++++++++++++---- .../systemConfig/SystemConfigService.java | 17 +++++++ 2 files changed, 53 insertions(+), 9 deletions(-) diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java index f4d38930..a09d1543 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java @@ -464,12 +464,21 @@ public class DepotItemService { } } else { //入库或出库 - if(BusinessConstants.DEPOTHEAD_TYPE_IN.equals(depotHead.getType()) || + if (BusinessConstants.DEPOTHEAD_TYPE_IN.equals(depotHead.getType()) || BusinessConstants.DEPOTHEAD_TYPE_OUT.equals(depotHead.getType())) { //序列号不能为空 - if(BusinessConstants.ENABLE_SERIAL_NUMBER_ENABLED.equals(material.getEnableSerialNumber())) { - throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_SERIAL_NUMBERE_EMPTY_CODE, - String.format(ExceptionConstants.MATERIAL_SERIAL_NUMBERE_EMPTY_MSG, barCode)); + if (BusinessConstants.ENABLE_SERIAL_NUMBER_ENABLED.equals(material.getEnableSerialNumber())) { + //如果开启出入库管理,并且类型等于采购、采购退货、销售、销售退货,则跳过 + if(systemConfigService.getInOutManageFlag() && + (BusinessConstants.SUB_TYPE_PURCHASE.equals(depotHead.getSubType()) + ||BusinessConstants.SUB_TYPE_PURCHASE_RETURN.equals(depotHead.getSubType()) + ||BusinessConstants.SUB_TYPE_SALES.equals(depotHead.getSubType()) + ||BusinessConstants.SUB_TYPE_SALES_RETURN.equals(depotHead.getSubType()))) { + //跳过 + } else { + throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_SERIAL_NUMBERE_EMPTY_CODE, + String.format(ExceptionConstants.MATERIAL_SERIAL_NUMBERE_EMPTY_MSG, barCode)); + } } } } @@ -481,8 +490,17 @@ public class DepotItemService { BusinessConstants.DEPOTHEAD_TYPE_OUT.equals(depotHead.getType())) { //批号不能为空 if (BusinessConstants.ENABLE_BATCH_NUMBER_ENABLED.equals(material.getEnableBatchNumber())) { - throw new BusinessRunTimeException(ExceptionConstants.DEPOT_HEAD_BATCH_NUMBERE_EMPTY_CODE, - String.format(ExceptionConstants.DEPOT_HEAD_BATCH_NUMBERE_EMPTY_MSG, barCode)); + //如果开启出入库管理,并且类型等于采购、采购退货、销售、销售退货,则跳过 + if(systemConfigService.getInOutManageFlag() && + (BusinessConstants.SUB_TYPE_PURCHASE.equals(depotHead.getSubType()) + ||BusinessConstants.SUB_TYPE_PURCHASE_RETURN.equals(depotHead.getSubType()) + ||BusinessConstants.SUB_TYPE_SALES.equals(depotHead.getSubType()) + ||BusinessConstants.SUB_TYPE_SALES_RETURN.equals(depotHead.getSubType()))) { + //跳过 + } else { + throw new BusinessRunTimeException(ExceptionConstants.DEPOT_HEAD_BATCH_NUMBERE_EMPTY_CODE, + String.format(ExceptionConstants.DEPOT_HEAD_BATCH_NUMBERE_EMPTY_MSG, barCode)); + } } } } @@ -629,9 +647,18 @@ public class DepotItemService { if(!BusinessConstants.SUB_TYPE_TRANSFER.equals(depotHead.getSubType())) { //判断商品是否开启序列号,开启的售出序列号,未开启的跳过 if(BusinessConstants.ENABLE_SERIAL_NUMBER_ENABLED.equals(material.getEnableSerialNumber())) { - //售出序列号,获得当前操作人 - User userInfo=userService.getCurrentUser(); - serialNumberService.checkAndUpdateSerialNumber(depotItem, depotHead.getNumber(), userInfo, StringUtil.toNull(depotItem.getSnList())); + //如果开启出入库管理,并且类型等于采购、采购退货、销售、销售退货,则跳过 + if(systemConfigService.getInOutManageFlag() && + (BusinessConstants.SUB_TYPE_PURCHASE.equals(depotHead.getSubType()) + ||BusinessConstants.SUB_TYPE_PURCHASE_RETURN.equals(depotHead.getSubType()) + ||BusinessConstants.SUB_TYPE_SALES.equals(depotHead.getSubType()) + ||BusinessConstants.SUB_TYPE_SALES_RETURN.equals(depotHead.getSubType()))) { + //跳过 + } else { + //售出序列号,获得当前操作人 + User userInfo = userService.getCurrentUser(); + serialNumberService.checkAndUpdateSerialNumber(depotItem, depotHead.getNumber(), userInfo, StringUtil.toNull(depotItem.getSnList())); + } } } } diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/systemConfig/SystemConfigService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/systemConfig/SystemConfigService.java index 6cb5decf..9d87838a 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/systemConfig/SystemConfigService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/systemConfig/SystemConfigService.java @@ -464,4 +464,21 @@ public class SystemConfigService { } return multiLevelApprovalFlag; } + + /** + * 获取出入库管理开关 + * @return + * @throws Exception + */ + public boolean getInOutManageFlag() throws Exception { + boolean inOutManageFlag = false; + List list = getSystemConfig(); + if(list.size()>0) { + String flag = list.get(0).getInOutManageFlag(); + if(("1").equals(flag)) { + inOutManageFlag = true; + } + } + return inOutManageFlag; + } } \ No newline at end of file