From ebc766304439d72c69b580eaef83681096e4ee3d Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期四, 18 六月 2020 16:06:56 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 49 ++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 42 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java index 449f603..9185303 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -44,6 +44,8 @@ private StaDescService staDescService; @Autowired private LocDetlService locDetlService; + @Autowired + private MatCodeService matCodeService; @Override @Transactional @@ -466,16 +468,49 @@ if (Cools.isEmpty(locMast)) { throw new CoolException("搴撲綅涓嶅瓨鍦�"); } - // 娓呴櫎鏃у簱瀛樻槑缁� - locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo())); - // 淇濆瓨鏂板簱瀛樻槑缁� for (LocDetlAdjustParam.LocDetlAdjust adjust : param.getList()) { - LocDetl locDetl = new LocDetl(); - if (!locDetlService.insert(locDetl)) { - throw new CoolException("淇濆瓨搴撳瓨鏄庣粏澶辫触"); + LocDetl sqlParam = new LocDetl(); + sqlParam.setLocNo(locMast.getLocNo()); + sqlParam.setMatnr(adjust.getMatNo()); + LocDetl one = locDetlService.selectOne(new EntityWrapper<>(sqlParam)); + // 淇濆瓨鏂板簱瀛樻槑缁� + if (Cools.isEmpty(one)) { + MatCode matCode = matCodeService.selectById(adjust.getMatNo()); + LocDetl locDetl = new LocDetl(); + locDetl.setLocNo(locMast.getLocNo()); + locDetl.setMatnr(matCode.getMatNo()); + locDetl.setMaktx(matCode.getMatName()); // 鐗╂枡鎻忚堪 + locDetl.setAnfme(adjust.getCount()); // 鏁伴噺 + locDetl.setAltme(matCode.getStr1()); // 鍗曚綅 + // todo:luxiaoao + locDetl.setModiUser(userId); // 鎿嶄綔浜哄憳淇℃伅 + locDetl.setModiTime(new Date()); + locDetl.setAppeUser(userId); + locDetl.setAppeTime(new Date()); + if (!locDetlService.insert(locDetl)) { + throw new CoolException("淇濆瓨搴撳瓨鏄庣粏澶辫触"); + } + // 淇敼鍘熷簱瀛樻槑缁� + } else { + // 濡傛灉鏁伴噺淇敼锛屽垯鏇存柊搴撳瓨鏄庣粏 + if (!adjust.getCount().equals(one.getAnfme())) { + // 褰撴暟閲忚淇敼涓� 0 鏃讹紝鐩存帴娓呴櫎搴撳瓨鏄庣粏 + if (adjust.getCount() == 0) { + if (!locDetlService.delete(new EntityWrapper<>(one))) { + throw new CoolException("娓呴櫎搴撳瓨鏄庣粏澶辫触"); + } + } else { + one.setAnfme(adjust.getCount()); + one.setModiTime(new Date()); + one.setModiUser(userId); + if (!locDetlService.updateById(one)) { + throw new CoolException("淇敼搴撳瓨鏄庣粏澶辫触"); + } + } + } } - } + } } @Override -- Gitblit v1.9.1