From 1568f8deecd3aa4e0e5a2dc3343baed763657448 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期五, 10 七月 2020 16:41:31 +0800 Subject: [PATCH] #拣料 --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 88 ++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 84 insertions(+), 4 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 73c1507..dabd801 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -29,6 +29,8 @@ // 宸ヤ綔鍙风敓鎴愯鍒欓粯璁ょ被鍨� private static final int DEFAULT_WORK_NO_TYPE = 0; + // 搴撲綅鎺掑彿鍒嗛厤榛樿绫诲埆 + private static final int DEFAULT_ROW_NO_TYPE = 1; @Autowired private WrkMastService wrkMastService; @@ -48,6 +50,10 @@ private MatCodeService matCodeService; @Autowired private AdjDetlService adjDetlService; + @Autowired + private WrkMastLogService wrkMastLogService; + @Autowired + private WrkDetlLogService wrkDetlLogService; @Override @Transactional @@ -61,7 +67,7 @@ // 鐢熸垚宸ヤ綔鍙� int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE); // 妫�绱㈠簱浣� - StartupDto dto = commonService.getLocNo(1, 1, param.getDevpNo()); + StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo()); // 鐢熸垚宸ヤ綔妗� WrkMast wrkMast = new WrkMast(); wrkMast.setWrkNo(workNo); @@ -182,7 +188,7 @@ wrkMast.setWrkNo(workNo); wrkMast.setIoTime(new Date()); wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID - wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬侊細101.鍑哄簱 + wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬� wrkMast.setIoPri(13D); // 浼樺厛绾э細13 wrkMast.setCrnNo(locMast.getCrnNo()); wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯 @@ -248,7 +254,7 @@ // 鐢熸垚宸ヤ綔鍙� int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE); // 妫�绱㈠簱浣� - StartupDto dto = commonService.getLocNo(1, 10, devpNo); + StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo); // 鐢熸垚宸ヤ綔妗� WrkMast wrkMast = new WrkMast(); wrkMast.setWrkNo(workNo); @@ -645,8 +651,82 @@ } @Override + @Transactional public void pickWrkMast(String workNo, Long userId) { - + WrkMast wrkMast = wrkMastService.selectById(workNo); + if (Cools.isEmpty(wrkMast)){ + throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪"); + } + List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); + String locNo = wrkMast.getSourceLocNo(); + // 鎷f枡浣滀笟鍒ゆ柇 + if (wrkMast.getIoType() != 103) { + throw new CoolException("褰撳墠宸ヤ綔妗d笉鏄嫞鏂欎綔涓�"); + } + // 宸ヤ綔鐘舵�佸垽鏂� + if (wrkMast.getWrkSts() < 11 || wrkMast.getWrkSts() == 15) { + throw new CoolException("褰撳墠宸ヤ綔鐘舵�佷笉鑳芥嫞鏂欏叆搴�"); + } + // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。 + if (!wrkDetlLogService.save(wrkMast.getWrkNo())) { + throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。澶辫触"); + } + // 鍒犻櫎宸ヤ綔鏄庣粏妗� + if (!wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()))) { + throw new CoolException("鍒犻櫎宸ヤ綔鏄庣粏妗f。鍘嗗彶妗eけ璐�"); + } + // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗� + if (!wrkMastLogService.save(wrkMast.getWrkNo())) { + throw new CoolException("淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�"); + } + // 鑾峰彇鐩爣绔� + Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() + .eq("type_no", 53) // type_no: 53.鎷f枡鍐嶅叆搴� + .eq("stn_no", wrkMast.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯 + .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿 + StaDesc staDesc = staDescService.selectOne(wrapper); + if (Cools.isEmpty(staDesc)) { + throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�"); + } + // 鍫嗗灈鏈虹珯鐐�(鐩爣绔�) + Integer staNo = staDesc.getCrnStn(); + // 鏇存柊宸ヤ綔妗f暟鎹姸鎬� + wrkMast.setIoType(53); // 鍏ュ嚭搴撶被鍨�: 53.鎷f枡鍐嶅叆搴� + wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋 + wrkMast.setSourceStaNo(wrkMast.getStaNo()); // 婧愮珯 + wrkMast.setStaNo(staNo); // 鐩爣绔� + wrkMast.setLocNo(wrkMast.getSourceLocNo()); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣� + wrkMast.setSourceLocNo(""); // 婧愬簱浣嶆竻绌� + wrkMast.setModiTime(new Date()); + wrkMast.setModiUser(userId); + if (!wrkMastService.updateById(wrkMast)) { + throw new CoolException("鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�"); + } + // 鏇存柊/鍒犻櫎鎷f枡搴撳瓨鏄庣粏 + for (WrkDetl wrkDetl : wrkDetls) { + LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locNo).eq("matnr", wrkDetl.getMatnr())); + // 搴撳瓨鏁伴噺璁$畻 + locDetl.setAnfme(locDetl.getAnfme() - wrkDetl.getAnfme()); + if (locDetl.getAnfme() > 0) { + locDetl.setModiTime(new Date()); + locDetl.setModiUser(userId); + if (!locDetlService.updateById(locDetl)) { + throw new CoolException("鏇存柊搴撳瓨鏄庣粏澶辫触"); + } + } else { + if (!locDetlService.delete(new EntityWrapper<>(locDetl))) { + throw new CoolException("鍒犻櫎搴撳瓨鏄庣粏澶辫触"); + } + } + } + // 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴� + LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); + locMast.setLocType("Q"); + locMast.setModiTime(new Date()); + locMast.setModiUser(userId); + if (!locMastService.updateById(locMast)) { + throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�"); + } } } -- Gitblit v1.9.1