From b96219e78bf6e47f61f79d098734edf3ca4fe74c Mon Sep 17 00:00:00 2001 From: mrzhssss <pro6@qq.com> Date: 星期一, 30 一月 2023 10:48:31 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 123 ++++++++++++++++++++++++++++++++++------- 1 files changed, 102 insertions(+), 21 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 4b82962..a82745c 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -208,8 +208,15 @@ assert ioType != null; // 鑾峰彇搴撲綅 LocMast locMast = locMastService.selectById(dto.getLocNo()); + + Integer outSta = staNo.getDevNo(); + //2鍙峰爢鍨涙満鍏ㄦ澘鍑哄簱绔欐寚瀹氫负204绔欙紝鎷f枡绔欐寚瀹氫负202 + if(locMast.getCrnNo()==2){ + outSta = ioType == 101 ? 204 : 202; + } + // 鑾峰彇璺緞 - StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), staNo.getDevNo()); + StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), outSta); // 鐢熸垚宸ヤ綔鍙� int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType)); // 鐢熸垚宸ヤ綔妗� @@ -283,6 +290,7 @@ LocMast locMast = locMastService.selectById(taskDto.getLocNo()); // 鑾峰彇璺緞 int ioType = taskDto.isAll() ? 101 : 103; + StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo()); // 鐢熸垚宸ヤ綔鍙� int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType)); @@ -314,9 +322,9 @@ for (LocDto locDto : taskDto.getLocDtos()) { if (locDto.getAnfme()==null || locDto.getAnfme() <= 0.0D) { continue; } OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch()); - if (orderDetl == null) { - orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null); - } +// if (orderDetl == null) { +// orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null); +// } WrkDetl wrkDetl = new WrkDetl(); wrkDetl.sync(orderDetl); wrkDetl.setZpallet(wrkMast.getBarcode()); @@ -469,6 +477,70 @@ } } } + } + + @Override + @Transactional + public WrkMast emptyPlateOut(EmptyPlateOutParam param) { + WrkMast wrkMast = new WrkMast(); + if (Cools.isEmpty(param.getOutSite())) { + throw new CoolException("绔欑偣涓嶅瓨鍦�"); + } + for (String locNo : param.getLocNos()) { + // 鑾峰彇宸ヤ綔鍙� + int workNo = commonService.getWorkNo(0); + // 鑾峰彇搴撲綅 + LocMast locMast = locMastService.selectById(locNo); + if (Cools.isEmpty(locMast)) { + throw new CoolException(locNo+"搴撲綅涓嶅瓨鍦�"); + } + // 鑾峰彇婧愮珯 + Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() + .eq("type_no", 110) + .eq("stn_no", param.getOutSite()) + .eq("crn_no", locMast.getCrnNo()); + StaDesc staDesc = staDescService.selectOne(wrapper); + Integer sourceStaNo = staDesc.getCrnStn(); + if (Cools.isEmpty(sourceStaNo)) { + throw new CoolException("妫�绱㈡簮绔欏け璐�"); + } + Date now = new Date(); + // 淇濆瓨宸ヤ綔妗� + + wrkMast.setWrkNo(workNo); + wrkMast.setIoTime(now); + wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID + wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬侊細 110.绌烘澘鍑哄簱 + wrkMast.setIoPri(10D); + wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯 + wrkMast.setStaNo(param.getOutSite()); // 鐩爣绔� + wrkMast.setCrnNo(locMast.getCrnNo()); + wrkMast.setSourceLocNo(locNo); // 婧愬簱浣� + wrkMast.setFullPlt("N"); // 婊℃澘锛歒 + wrkMast.setPicking("N"); // 鎷f枡 + wrkMast.setExitMk("N"); // 閫�鍑� + wrkMast.setEmptyMk("Y"); // 绌烘澘 + wrkMast.setLinkMis("N"); + wrkMast.setAppeUser(1L); + wrkMast.setAppeTime(now); + wrkMast.setModiUser(1L); + wrkMast.setModiTime(now); + wrkMast.setMemo("鐢熸垚鑷姩绌烘澘鍑哄簱"); + boolean res = wrkMastService.insert(wrkMast); + if (!res) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + } + // 鏇存柊搴撲綅鐘舵�� D.绌烘澘 -> R.鍑哄簱棰勭害 + if (locMast.getLocSts().equals("D")){ + locMast.setLocSts("R"); + locMast.setModiUser(1L); + locMast.setModiTime(now); + if (!locMastService.updateById(locMast)) { + throw new CoolException("鏇存柊搴撲綅鐘舵�佸け璐�"); + } + } + } + return wrkMast; } @Override @@ -778,13 +850,20 @@ //鍙栨秷鍏ュ簱宸ヤ綔妗f椂锛屾煡璇㈢粍鎵樿〃锛屽鏋滄湁灏嗙姸鎬佹敼涓哄緟澶勭悊 if(wrkMast.getIoType() == 1) { - WaitPakin waitPakin = waitPakinService.selectOne(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode())); - if (!Cools.isEmpty(waitPakin)) { - waitPakin.setIoStatus("N"); - waitPakinService.update(waitPakin, new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode())); + List<WaitPakin> waitPakins=waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode())); + for (WaitPakin waitPakin:waitPakins){ + if (!Cools.isEmpty(waitPakin)) { + waitPakin.setIoStatus("N"); + waitPakin.setLocNo(""); + waitPakinService.update(waitPakin, new EntityWrapper<WaitPakin>() + .eq("order_no", waitPakin.getOrderNo()) + .eq("matnr", waitPakin.getMatnr()) + .eq("batch", waitPakin.getBatch())); + } } } + //鍙栨秷鍑哄簱宸ヤ綔妗f椂锛屾煡璇㈠崟鎹鐞嗚〃锛屽洖婊氫綔涓氫腑鏁伴噺 if(wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103) { List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); for (WrkDetl wrkDetl : wrkDetls) { @@ -817,17 +896,17 @@ } -// // 璁㈠崟鍏宠仈 -// List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); -// for (WrkDetl wrkDetl : wrkDetls) { -// if (!Cools.isEmpty(wrkDetl.getOrderNo())) { -// if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) { -// throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触"); -// } -// // 鐢熸垚鏂扮殑鍑哄簱浣滀笟 -//// stockOutRe(wrkMast, wrkDetls); -// } -// } + // 璁㈠崟鍏宠仈 + List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); + for (WrkDetl wrkDetl : wrkDetls) { + if (!Cools.isEmpty(wrkDetl.getOrderNo())) { + if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) { + throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触"); + } + // 鐢熸垚鏂扮殑鍑哄簱浣滀笟 +// stockOutRe(wrkMast, wrkDetls); + } + } // 鍙栨秷鎿嶄綔浜哄憳璁板綍 wrkMast.setManuType("鎵嬪姩鍙栨秷"); @@ -892,7 +971,9 @@ // 鑾峰彇鐩爣绔� Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() .eq("type_no", wrkMast.getIoType() - 50) - .eq("stn_no", wrkMast.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯 + //閫熻吘鐗规湁鎹℃枡锛� 11绔欐槸鍑哄簱绔欙紝 鐒跺悗鎵嬪姩璧板埌15绔欒繘琛屽啀鍏ュ簱 + + .eq("stn_no", 15) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯 .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿 StaDesc staDesc = staDescService.selectOne(wrapper); if (Cools.isEmpty(staDesc)) { @@ -904,7 +985,7 @@ // 鏇存柊宸ヤ綔妗f暟鎹姸鎬� wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57 wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋 - wrkMast.setSourceStaNo(wrkMast.getStaNo()); // 婧愮珯 + wrkMast.setSourceStaNo(staDesc.getStnNo()); // 婧愮珯 wrkMast.setStaNo(staNo); // 鐩爣绔� wrkMast.setLocNo(wrkMast.getSourceLocNo()); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣� wrkMast.setSourceLocNo(""); // 婧愬簱浣嶆竻绌� -- Gitblit v1.9.1