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 | 65 ++++++++++++++++++++++++++++++++ 1 files changed, 64 insertions(+), 1 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 e18f821..9185303 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -8,6 +8,7 @@ import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.EmptyPlateOutParam; import com.zy.asrs.entity.param.FullStoreParam; +import com.zy.asrs.entity.param.LocDetlAdjustParam; import com.zy.asrs.entity.param.StockOutParam; import com.zy.asrs.service.*; import com.zy.common.model.LocDetlDto; @@ -43,6 +44,8 @@ private StaDescService staDescService; @Autowired private LocDetlService locDetlService; + @Autowired + private MatCodeService matCodeService; @Override @Transactional @@ -194,6 +197,7 @@ } // 鐢熸垚宸ヤ綔妗f槑缁� for (LocDetlDto detlDto : dto.getLocDetlDtos()) { + if (detlDto.getCount() <= 0.0D) {continue;} WrkDetl wrkDetl = new WrkDetl(); wrkDetl.setWrkNo(workNo); wrkDetl.setIoTime(new Date()); @@ -394,6 +398,13 @@ wrkDetl.setIoTime(new Date()); wrkDetl.setMatnr(locDetl.getMatnr()); wrkDetl.setAnfme(locDetl.getAnfme()); + wrkDetl.setZmatid(locDetl.getZmatid()); + wrkDetl.setTbpos(locDetl.getTbpos()); + wrkDetl.setTbnum(locDetl.getTbnum()); + wrkDetl.setLgnum(locDetl.getLgnum()); + wrkDetl.setAltme(locDetl.getAltme()); + wrkDetl.setBname(locDetl.getBname()); + wrkDetl.setMaktx(locDetl.getMaktx()); wrkDetl.setAppeTime(new Date()); wrkDetl.setAppeUser(userId); wrkDetl.setModiTime(new Date()); @@ -422,7 +433,7 @@ throw new CoolException("鏇存柊鐩爣搴撲綅鐘舵�佸け璐�"); } } else { - throw new CoolException("棰勭害鐩爣搴撲綅鍏ュ簱澶辫触锛岀姸鎬侊細"+loc.getLocType$()); + throw new CoolException("绉昏浆澶辫触锛岀洰鏍囧簱浣嶇姸鎬侊細"+loc.getLocType$()); } } @@ -452,6 +463,58 @@ @Override @Transactional + public void adjustLocDetl(LocDetlAdjustParam param, Long userId) { + LocMast locMast = locMastService.selectById(param.getLocNo()); + if (Cools.isEmpty(locMast)) { + throw new CoolException("搴撲綅涓嶅瓨鍦�"); + } + for (LocDetlAdjustParam.LocDetlAdjust adjust : param.getList()) { + 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 + @Transactional public void cancelWrkMast(String workNo, Long userId) { WrkMast wrkMast = wrkMastService.selectById(workNo); if (Cools.isEmpty(wrkMast)){ -- Gitblit v1.9.1