From b3e32de3f9bf6eff94dcc4638307ffd914b5aeec Mon Sep 17 00:00:00 2001 From: cjl Date: Thu, 31 Jan 2019 10:05:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=9C=AA=E5=BC=80=E5=90=AF?= =?UTF-8?q?=E5=BA=8F=E5=88=97=E5=8F=B7=E7=9A=84=E5=95=86=E5=93=81=E4=B9=9F?= =?UTF-8?q?=E5=BC=BA=E5=88=B6=E4=BD=BF=E7=94=A8=E5=BA=8F=E5=88=97=E5=8F=B7?= =?UTF-8?q?=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/depotItem/DepotItemService.java | 64 ++++++++++++++++--- 1 file changed, 56 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java b/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java index 63b5dfac..e63664d2 100644 --- a/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java +++ b/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java @@ -246,8 +246,20 @@ public class DepotItemService { if(BusinessConstants.DEPOTHEAD_TYPE_OUT.equals(depotHead.getType()) &&!BusinessConstants.SUB_TYPE_TRANSFER.equals(depotHead.getSubtype())){ DepotItem depotItem = getDepotItem(tempDeletedJson.getLong("Id")); - serialNumberMapperEx.cancelSerialNumber(depotItem.getMaterialid(),depotItem.getHeaderid(),depotItem.getOpernumber().intValue(), - new Date(),userInfo==null?null:userInfo.getId()); + if(depotItem==null){ + continue; + } + /** + * 判断商品是否开启序列号,开启的收回序列号,未开启的跳过 + * */ + Material material= materialService.getMaterial(depotItem.getMaterialid()); + if(material==null){ + continue; + } + if(BusinessConstants.ENABLE_SERIAL_NUMBER_ENABLED.equals(material.getEnableSerialNumber())){ + serialNumberMapperEx.cancelSerialNumber(depotItem.getMaterialid(),depotItem.getHeaderid(),depotItem.getOpernumber().intValue(), + new Date(),userInfo==null?null:userInfo.getId()); + } } this.deleteDepotItem(tempDeletedJson.getLong("Id")); } @@ -332,8 +344,20 @@ public class DepotItemService { /**出库时处理序列号*/ if(BusinessConstants.DEPOTHEAD_TYPE_OUT.equals(depotHead.getType()) &&!BusinessConstants.SUB_TYPE_TRANSFER.equals(depotHead.getSubtype())){ - //查询单据子表中开启序列号的数据列表 - serialNumberService.checkAndUpdateSerialNumber(depotItem,userInfo); + if(depotItem==null){ + continue; + } + /** + * 判断商品是否开启序列号,开启的收回序列号,未开启的跳过 + * */ + Material material= materialService.getMaterial(depotItem.getMaterialid()); + if(material==null){ + continue; + } + if(BusinessConstants.ENABLE_SERIAL_NUMBER_ENABLED.equals(material.getEnableSerialNumber())) { + //查询单据子表中开启序列号的数据列表 + serialNumberService.checkAndUpdateSerialNumber(depotItem, userInfo); + } } } } @@ -345,8 +369,20 @@ public class DepotItemService { //首先回收序列号 if(BusinessConstants.DEPOTHEAD_TYPE_OUT.equals(depotHead.getType()) &&!BusinessConstants.SUB_TYPE_TRANSFER.equals(depotHead.getSubtype())) { - serialNumberMapperEx.cancelSerialNumber(depotItem.getMaterialid(), depotItem.getHeaderid(), depotItem.getOpernumber().intValue(), - new Date(),userInfo==null?null:userInfo.getId()); + if(depotItem==null){ + continue; + } + /** + * 判断商品是否开启序列号,开启的收回序列号,未开启的跳过 + * */ + Material material= materialService.getMaterial(depotItem.getMaterialid()); + if(material==null){ + continue; + } + if(BusinessConstants.ENABLE_SERIAL_NUMBER_ENABLED.equals(material.getEnableSerialNumber())) { + serialNumberMapperEx.cancelSerialNumber(depotItem.getMaterialid(), depotItem.getHeaderid(), depotItem.getOpernumber().intValue(), + new Date(), userInfo == null ? null : userInfo.getId()); + } } depotItem.setId(tempUpdatedJson.getLong("Id")); depotItem.setMaterialid(tempUpdatedJson.getLong("MaterialId")); @@ -412,8 +448,20 @@ public class DepotItemService { /**出库时处理序列号*/ if(BusinessConstants.DEPOTHEAD_TYPE_OUT.equals(depotHead.getType()) &&!BusinessConstants.SUB_TYPE_TRANSFER.equals(depotHead.getSubtype())){ - //查询单据子表中开启序列号的数据列表 - serialNumberService.checkAndUpdateSerialNumber(depotItem,userInfo); + if(depotItem==null){ + continue; + } + /** + * 判断商品是否开启序列号,开启的收回序列号,未开启的跳过 + * */ + Material material= materialService.getMaterial(depotItem.getMaterialid()); + if(material==null){ + continue; + } + if(BusinessConstants.ENABLE_SERIAL_NUMBER_ENABLED.equals(material.getEnableSerialNumber())) { + //查询单据子表中开启序列号的数据列表 + serialNumberService.checkAndUpdateSerialNumber(depotItem, userInfo); + } } } }