From 06f6c4a4fb7d3096e52052cb629845196f8e3ea6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A3=E5=9C=A3=E5=8D=8E?= <752718920@qq.com> Date: Thu, 17 Mar 2022 00:11:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=9D=A1=E7=A0=81=E9=87=8D?= =?UTF-8?q?=E5=A4=8D=E7=9A=84=E6=A0=A1=E9=AA=8C=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datasource/mappers/MaterialMapperEx.java | 4 ++ .../erp/service/material/MaterialService.java | 52 +++++++++++-------- .../resources/mapper_xml/MaterialMapperEx.xml | 17 ++++++ 3 files changed, 50 insertions(+), 23 deletions(-) diff --git a/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/MaterialMapperEx.java b/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/MaterialMapperEx.java index 711af239..d4605b21 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/MaterialMapperEx.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/MaterialMapperEx.java @@ -88,6 +88,10 @@ public interface MaterialMapperEx { List getMaterialByBarCode(@Param("barCodeArray") String [] barCodeArray); + List getMaterialByBarCodeAndWithOutMId( + @Param("barCodeArray") String [] barCodeArray, + @Param("mId") Long mId); + List getListWithStock( @Param("depotList") List depotList, @Param("idList") List idList, diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/material/MaterialService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/material/MaterialService.java index e1b3b5b0..8b16fb4c 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/material/MaterialService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/material/MaterialService.java @@ -506,17 +506,6 @@ public class MaterialService { throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_BARCODE_NOT_INTEGER_CODE, String.format(ExceptionConstants.MATERIAL_BARCODE_NOT_INTEGER_MSG, manyBarCode)); } - //校验条码是否存在 - List basicMaterialList = getMaterialByBarCode(barCode); - if(basicMaterialList!=null && basicMaterialList.size()>0) { - throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_BARCODE_EXISTS_CODE, - String.format(ExceptionConstants.MATERIAL_BARCODE_EXISTS_MSG, barCode)); - } - List otherMaterialList = getMaterialByBarCode(manyBarCode); - if(otherMaterialList!=null && otherMaterialList.size()>0) { - throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_BARCODE_EXISTS_CODE, - String.format(ExceptionConstants.MATERIAL_BARCODE_EXISTS_MSG, manyBarCode)); - } JSONObject materialExObj = new JSONObject(); JSONObject basicObj = new JSONObject(); basicObj.put("barCode", barCode); @@ -603,12 +592,7 @@ public class MaterialService { basicMaterialExtend.setCreateSerial(user.getLoginName()); basicMaterialExtend.setUpdateSerial(user.getLoginName()); Long meId = materialExtendService.selectIdByMaterialIdAndDefaultFlag(mId, "1"); - if(meId==0L){ - materialExtendMapper.insertSelective(basicMaterialExtend); - } else { - basicMaterialExtend.setId(meId); - materialExtendMapper.updateByPrimaryKeySelective(basicMaterialExtend); - } + changeMaterialExtend(mId, basicMaterialExtend, meId); } if(StringUtil.isExist(materialExObj.get("other"))) { String otherStr = materialExObj.getString("other"); @@ -620,12 +604,7 @@ public class MaterialService { otherMaterialExtend.setCreateSerial(user.getLoginName()); otherMaterialExtend.setUpdateSerial(user.getLoginName()); Long meId = materialExtendService.selectIdByMaterialIdAndDefaultFlag(mId, "0"); - if(meId==0L){ - materialExtendMapper.insertSelective(otherMaterialExtend); - } else { - otherMaterialExtend.setId(meId); - materialExtendMapper.updateByPrimaryKeySelective(otherMaterialExtend); - } + changeMaterialExtend(mId, otherMaterialExtend, meId); } //给商品初始化库存getAllListWithStock Map stockMap = m.getStockMap(); @@ -657,6 +636,28 @@ public class MaterialService { return info; } + @Transactional(value = "transactionManager", rollbackFor = Exception.class) + public void changeMaterialExtend(Long mId, MaterialExtend materialExtend, Long meId) { + if(meId==0L){ + //校验条码是否存在 + List basicMaterialList = getMaterialByBarCode(materialExtend.getBarCode()); + if(basicMaterialList!=null && basicMaterialList.size()>0) { + throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_BARCODE_EXISTS_CODE, + String.format(ExceptionConstants.MATERIAL_BARCODE_EXISTS_MSG, materialExtend.getBarCode())); + } + materialExtendMapper.insertSelective(materialExtend); + } else { + //校验条码是否存在 + List basicMaterialList = getMaterialByBarCodeAndWithOutMId(materialExtend.getBarCode(), mId); + if(basicMaterialList!=null && basicMaterialList.size()>0) { + throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_BARCODE_EXISTS_CODE, + String.format(ExceptionConstants.MATERIAL_BARCODE_EXISTS_MSG, materialExtend.getBarCode())); + } + materialExtend.setId(meId); + materialExtendMapper.updateByPrimaryKeySelective(materialExtend); + } + } + /** * 根据条件返回产品列表 * @param name @@ -884,6 +885,11 @@ public class MaterialService { return materialMapperEx.getMaterialByBarCode(barCodeArray); } + public List getMaterialByBarCodeAndWithOutMId(String barCode, Long mId) { + String [] barCodeArray=barCode.split(","); + return materialMapperEx.getMaterialByBarCodeAndWithOutMId(barCodeArray, mId); + } + public List getListWithStock(List depotList, List idList, String materialParam, Integer zeroStock, String column, String order, Integer offset, Integer rows) { return materialMapperEx.getListWithStock(depotList, idList, materialParam, zeroStock, column, order, offset, rows); diff --git a/jshERP-boot/src/main/resources/mapper_xml/MaterialMapperEx.xml b/jshERP-boot/src/main/resources/mapper_xml/MaterialMapperEx.xml index 988b214d..9f7c4251 100644 --- a/jshERP-boot/src/main/resources/mapper_xml/MaterialMapperEx.xml +++ b/jshERP-boot/src/main/resources/mapper_xml/MaterialMapperEx.xml @@ -319,6 +319,23 @@ order by me.id desc + + update jsh_material set unit_id = null