From 61593c7f55cf24d81746aa041e60d0ccccd8b80a Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期五, 19 六月 2020 09:30:08 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 48 +++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 39 insertions(+), 9 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 9185303..e69c42a 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -46,6 +46,8 @@ private LocDetlService locDetlService; @Autowired private MatCodeService matCodeService; + @Autowired + private AdjDetlService adjDetlService; @Override @Transactional @@ -141,8 +143,6 @@ @Override @Transactional public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, Long userId) { - // 鐢熸垚宸ヤ綔鍙� - int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE); // 鍚堝苟鍚岀被椤� Set<String> locNos = new HashSet<>(); locDetlDtos.forEach(dto -> locNos.add(dto.getLocDetl().getLocNo())); @@ -172,6 +172,8 @@ if (Cools.isEmpty(staDesc)) { throw new CoolException("鍑哄簱璺緞涓嶅瓨鍦�"); } + // 鐢熸垚宸ヤ綔鍙� + int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE); // 鐢熸垚宸ヤ綔妗� WrkMast wrkMast = new WrkMast(); wrkMast.setWrkNo(workNo); @@ -469,13 +471,19 @@ throw new CoolException("搴撲綅涓嶅瓨鍦�"); } for (LocDetlAdjustParam.LocDetlAdjust adjust : param.getList()) { + if (Cools.isEmpty(adjust.getMatnr())) { + throw new CoolException(BaseRes.PARAM); + } LocDetl sqlParam = new LocDetl(); sqlParam.setLocNo(locMast.getLocNo()); - sqlParam.setMatnr(adjust.getMatNo()); + sqlParam.setMatnr(adjust.getMatnr()); LocDetl one = locDetlService.selectOne(new EntityWrapper<>(sqlParam)); // 淇濆瓨鏂板簱瀛樻槑缁� if (Cools.isEmpty(one)) { - MatCode matCode = matCodeService.selectById(adjust.getMatNo()); + if (adjust.getCount() == 0){ + continue; + } + MatCode matCode = matCodeService.selectById(adjust.getMatnr()); LocDetl locDetl = new LocDetl(); locDetl.setLocNo(locMast.getLocNo()); locDetl.setMatnr(matCode.getMatNo()); @@ -483,6 +491,12 @@ locDetl.setAnfme(adjust.getCount()); // 鏁伴噺 locDetl.setAltme(matCode.getStr1()); // 鍗曚綅 // todo:luxiaoao + locDetl.setLgnum("寰呭畾"); // 浠撳簱鍙� + locDetl.setTbnum(0); // 杞偍璇锋眰缂栧彿 + locDetl.setTbpos(0); // 琛岄」鐩� + locDetl.setZmatid("寰呭畾"); // 鐗╂枡鏍囩ID + locDetl.setZpallet("寰呭畾"); // 鎵樼洏鏉$爜 + locDetl.setModiUser(userId); // 鎿嶄綔浜哄憳淇℃伅 locDetl.setModiTime(new Date()); locDetl.setAppeUser(userId); @@ -490,6 +504,13 @@ if (!locDetlService.insert(locDetl)) { throw new CoolException("淇濆瓨搴撳瓨鏄庣粏澶辫触"); } + // 淇濆瓨璋冩暣璁板綍 + AdjDetl adjDetl = new AdjDetl(); + adjDetl.setLocNo(locDetl.getLocNo()); + adjDetl.setMatNo(locDetl.getMatnr()); + adjDetl.setOriQty(0.0D); + adjDetl.setAdjQty(adjust.getCount()); + adjDetlService.save(adjDetl, userId); // 淇敼鍘熷簱瀛樻槑缁� } else { // 濡傛灉鏁伴噺淇敼锛屽垯鏇存柊搴撳瓨鏄庣粏 @@ -500,16 +521,25 @@ throw new CoolException("娓呴櫎搴撳瓨鏄庣粏澶辫触"); } } else { - one.setAnfme(adjust.getCount()); - one.setModiTime(new Date()); - one.setModiUser(userId); - if (!locDetlService.updateById(one)) { + LocDetl sqlParam1 = new LocDetl(); + sqlParam1.setAnfme(adjust.getCount()); + sqlParam1.setModiTime(new Date()); + sqlParam1.setModiUser(userId); + if (!locDetlService.update(sqlParam1, new EntityWrapper<LocDetl>() + .eq("loc_no", locMast.getLocNo()) + .eq("matnr", adjust.getMatnr()))) { throw new CoolException("淇敼搴撳瓨鏄庣粏澶辫触"); } } + // 淇濆瓨璋冩暣璁板綍 + AdjDetl adjDetl = new AdjDetl(); + adjDetl.setLocNo(locMast.getLocNo()); + adjDetl.setMatNo(adjust.getMatnr()); + adjDetl.setOriQty(one.getAnfme()); + adjDetl.setAdjQty(adjust.getCount()); + adjDetlService.save(adjDetl, userId); } } - } } -- Gitblit v1.9.1