From 6cd19dc94d7dfde3cdc213108870ac82fd49021d 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, 16 Aug 2020 21:18:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=95=86=E5=93=81=E5=AF=BC?= =?UTF-8?q?=E5=85=A5=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MaterialExtend/MaterialExtendService.java | 13 +++++++++++++ .../erp/service/material/MaterialService.java | 16 ++++++++++++++-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/jsh/erp/service/MaterialExtend/MaterialExtendService.java b/src/main/java/com/jsh/erp/service/MaterialExtend/MaterialExtendService.java index 67d2f143..4863ad97 100644 --- a/src/main/java/com/jsh/erp/service/MaterialExtend/MaterialExtendService.java +++ b/src/main/java/com/jsh/erp/service/MaterialExtend/MaterialExtendService.java @@ -296,4 +296,17 @@ public class MaterialExtendService { } return list; } + + @Transactional(value = "transactionManager", rollbackFor = Exception.class) + public Long selectIdByMaterialIdAndDefaultFlag(Long materialId, String defaultFlag)throws Exception { + Long id = 0L; + MaterialExtendExample example = new MaterialExtendExample(); + example.createCriteria().andMaterialIdEqualTo(materialId).andDefaultFlagEqualTo(defaultFlag) + .andDeleteFlagNotEqualTo(BusinessConstants.DELETE_FLAG_DELETED); + List list = materialExtendMapper.selectByExample(example); + if(list!=null && list.size()>0) { + id = list.get(0).getId(); + } + return id; + } } diff --git a/src/main/java/com/jsh/erp/service/material/MaterialService.java b/src/main/java/com/jsh/erp/service/material/MaterialService.java index fb4fd4d4..47dc7fff 100644 --- a/src/main/java/com/jsh/erp/service/material/MaterialService.java +++ b/src/main/java/com/jsh/erp/service/material/MaterialService.java @@ -493,7 +493,13 @@ public class MaterialService { basicMaterialExtend.setUpdateTime(System.currentTimeMillis()); basicMaterialExtend.setCreateSerial(user.getLoginName()); basicMaterialExtend.setUpdateSerial(user.getLoginName()); - materialExtendMapper.insertSelective(basicMaterialExtend); + Long meId = materialExtendService.selectIdByMaterialIdAndDefaultFlag(mId, "1"); + if(meId==0L){ + materialExtendMapper.insertSelective(basicMaterialExtend); + } else { + basicMaterialExtend.setId(meId); + materialExtendMapper.updateByPrimaryKeySelective(basicMaterialExtend); + } } if(StringUtil.isExist(materialExObj.get("other"))) { String otherStr = materialExObj.getString("other"); @@ -504,7 +510,13 @@ public class MaterialService { otherMaterialExtend.setUpdateTime(System.currentTimeMillis()); otherMaterialExtend.setCreateSerial(user.getLoginName()); otherMaterialExtend.setUpdateSerial(user.getLoginName()); - materialExtendMapper.insertSelective(otherMaterialExtend); + Long meId = materialExtendService.selectIdByMaterialIdAndDefaultFlag(mId, "0"); + if(meId==0L){ + materialExtendMapper.insertSelective(otherMaterialExtend); + } else { + otherMaterialExtend.setId(meId); + materialExtendMapper.updateByPrimaryKeySelective(otherMaterialExtend); + } } //给商品初始化库存 Map stockMap = m.getStockMap();