From 1efaa37727a8d70a6bc0b0f70532649c16bfab35 Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期一, 27 五月 2024 11:48:49 +0800 Subject: [PATCH] #移库楼层 --- src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 72 +++++++++++++++++++++++++----------- 1 files changed, 50 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java index 51b9d57..fa57596 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java @@ -79,7 +79,7 @@ agvBasDevpList.forEach(agvBasDevp -> { if(Cools.isEmpty(agvBasDevp.getBarcode())){ - throw new CoolException("閫変腑鐨勭珯鐐逛腑鍚湁鏈粦瀹氭墭鐩樼殑绔欑偣锛岃閲嶆柊閫夋嫨"); + throw new CoolException("閫変腑鐨勭珯鐐逛腑鍚湁鏈粦瀹氳揣鏋剁殑绔欑偣锛岃閲嶆柊閫夋嫨"); } if(!"F".equals(agvBasDevp.getLocSts())){ @@ -326,7 +326,7 @@ if (Cools.isEmpty(agvBasDevp)) { throw new CoolException("鏆傛棤"+ station + "绔欑偣"); } - if (containerType == 40 && agvBasDevp.getFloor() == 3) { + if (containerType == 40) { locType = 5; } else if (containerType == 21 && agvBasDevp.getFloor() == 3) { locType = 4; @@ -337,13 +337,13 @@ } if(!Cools.eq(agvBasDevp.getBarcode(),containerCode) && !agvBasDevp.getLocSts().equals("O") && !emptyAutoIn){ - throw new CoolException("褰撳墠宸ヤ綔浣嶇姸鎬佷负" + agvBasDevp.getLocSts()+",鏃犳硶杩涜绌烘澘鍏ュ簱"); + throw new CoolException("褰撳墠宸ヤ綔浣嶇姸鎬佷负" + agvBasDevp.getLocSts()+",鏃犳硶杩涜鍏ュ簱"); } //鏌ヨ宸ヤ綔妗� AgvWrkMast agvWrkMast = agvWrkMastService.selectByContainerCode(containerCode); if(!Cools.isEmpty(agvWrkMast) && !emptyAutoIn){ - throw new CoolException("褰撳墠瀹瑰櫒宸叉湁鍏ュ簱浠诲姟锛屾棤娉曡繘琛屽叆搴�"); + throw new CoolException("褰撳墠璐ф灦宸叉湁鍏ュ簱浠诲姟锛屾棤娉曡繘琛屽叆搴�"); } //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅 @@ -392,7 +392,7 @@ throw new CoolException("褰撳墠宸ヤ綔浣嶇姸鎬佷负" + agvBasDevp.getLocSts()+",鏃犳硶杩涜绌烘澘鍑哄簱"); } - //瀵绘壘鐩稿簲绫诲瀷鐨勭┖鎵樼洏 + //瀵绘壘鐩稿簲绫诲瀷鐨勭┖璐ф灦 AgvLocMast agvLocMast = agvLocMastService.selectEmptyZpallet(containerType,agvBasDevp.getFloor()); if(containerType == 0){ //绌烘澘鑷姩鍑哄簱锛屾牴鎹珯鐐圭被鍨嬮�夋嫨 @@ -401,7 +401,7 @@ } if (Cools.isEmpty(agvLocMast)) { - throw new CoolException("鏆傛棤褰撳墠鍑哄簱绔欑偣绫诲瀷鐨勭┖鎵樼洏锛�"); + throw new CoolException("鏆傛棤褰撳墠鍑哄簱绔欑偣绫诲瀷鐨勭┖璐ф灦锛�"); } //鐢熸垚宸ヤ綔妗� createWrkMast(110,21L,agvLocMast.getLocNo(),agvBasDevp.getDevNo(),agvLocMast.getBarcode(),now,userId,containerType); @@ -564,7 +564,7 @@ agvWrkMastService.updateWrkStsByWrkNo(wrkMast.getWrkNo(),205); //鍑哄簱浠诲姟 101.鍑哄簱 || 103.鎷f枡鍑哄簱 || 107.鐩樼偣鍑哄簱 - if(wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107){ + if(wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107 || wrkMast.getIoType() == 111){ //淇敼鍑哄簱绔欑偣鐘舵�� agvBasDevpService.updateLocStsAndBarcodeByDevNo(wrkMast.getLocNo(),"F",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue()); } @@ -591,7 +591,7 @@ } //鍏ュ簱鍙栨秷 - if(wrkMast.getIoType() == 1 || wrkMast.getIoType() == 10){ + if(wrkMast.getIoType() == 1 || wrkMast.getIoType() == 10 || wrkMast.getIoType() == 58){ //婧愮珯鐐� String devNo = wrkMast.getSourceLocNo(); //鐩爣搴撲綅 @@ -599,15 +599,41 @@ agvLocMastService.updateLocStsByLocNo(locNo,"O","",null); agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"F",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue()); + // 绉诲簱鍙栨秷 - }else if(wrkMast.getIoType() == 108) { + } else if( wrkMast.getIoType() == 11 || wrkMast.getIoType() == 12) { //婧愬簱浣� String locNo = wrkMast.getSourceLocNo(); - //鐩爣绔欑偣 - String devNo = wrkMast.getLocNo(); + + // 鐩爣搴撲綅 + String targetLocNo = wrkMast.getLocNo(); agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo)); - if(devNo.contains("@")){ - agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"O","",null); + agvLocMastService.updateLocStsByLocNo(targetLocNo,"O","",null); + // 鑷姩璋冩嫧鍑哄簱鍙栨秷 + } else if(wrkMast.getIoType() == 108 || wrkMast.getIoType() == 111) { + // 婧愬簱浣� + String locNo = wrkMast.getSourceLocNo(); + // 鐩爣搴撲綅 + String targetLocNo = wrkMast.getLocNo(); + agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo),"",(short)0); + if (wrkMast.getIoType() == 108) { + if (wrkMast.getWrkSts() != 22) { + agvLocMastService.updateLocStsByLocNo(targetLocNo,"O","",null); + } + } else { + if (wrkMast.getWrkSts() != 22) { + agvBasDevpService.updateLocStsAndBarcodeByDevNo(targetLocNo,"O","",wrkMast.getWhsType().shortValue()); + } + } + + List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo)); + // 鏇存柊璁㈠崟 + for (AgvLocDetl agvLocDetl : agvLocDetls) { + OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", "DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode())); + orderDetl.setQty(orderDetl.getQty() - agvLocDetl.getAnfme()); + if (!orderDetlService.update(orderDetl,new EntityWrapper<OrderDetl>().eq("order_no","DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()))){ + throw new CoolException("淇敼璁㈠崟鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"+agvLocDetl.getOrderNo()+agvLocDetl.getMatnr()); + } } //鍑哄簱鍙栨秷 } else { @@ -615,10 +641,12 @@ String locNo = wrkMast.getSourceLocNo(); //鐩爣绔欑偣 String devNo = wrkMast.getLocNo(); - agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo)); - if(devNo.contains("@")){ - agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"O","",null); + if (wrkMast.getIoType() == 110 || wrkMast.getIoType() == 109) { + agvLocMastService.updateLocStsByLocNo(locNo,"D",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo)); + } else { + agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo)); } + agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"O","",null); } if(wrkMast.getIoType() != 1 && wrkMast.getIoType() != 10){ @@ -672,7 +700,7 @@ } /* - 鏇存柊鐩爣搴撲綅淇℃伅鍜屽簱浣嶆墭鐩樼被鍨� + 鏇存柊鐩爣搴撲綅淇℃伅鍜屽簱浣嶈揣鏋剁被鍨� */ private void updateAgvLocMast(AgvLocMast locMast, String locSts, short type){ locMast.setLocSts(locSts); @@ -691,7 +719,7 @@ } /* - 鏇存柊婧愮珯鐐逛俊鎭拰搴撲綅鎵樼洏绫诲瀷 + 鏇存柊婧愮珯鐐逛俊鎭拰搴撲綅璐ф灦绫诲瀷 */ private void updateAgvBasDevp(AgvBasDevp agvBasDevp, String locSts, Short continerType){ if(!Cools.isEmpty(agvBasDevp)){ @@ -725,7 +753,7 @@ wrkDetl.setIoTime(now); wrkDetl.setBatch(batch); wrkDetl.setAnfme(anfme); // 鏁伴噺 - wrkDetl.setSuppCode(zpallet); // 鎵樼洏鏉$爜 + wrkDetl.setSuppCode(zpallet); // 璐ф灦鏉$爜 wrkDetl.setAppeUser(userId); wrkDetl.setAppeTime(now); wrkDetl.setModiUser(userId); @@ -756,7 +784,7 @@ wrkDetl.setIoTime(now); wrkDetl.setBatch(agvWaitPakin.getBatch()); wrkDetl.setAnfme(agvWaitPakin.getAnfme()); // 鏁伴噺 - wrkDetl.setZpallet(agvWaitPakin.getZpallet()); // 鎵樼洏鏉$爜 + wrkDetl.setZpallet(agvWaitPakin.getZpallet()); // 璐ф灦鏉$爜 wrkDetl.setAppeUser(userId); wrkDetl.setAppeTime(now); wrkDetl.setModiUser(userId); @@ -783,9 +811,9 @@ wrkMast.setSourceLocNo(sourceLocNo); //鐩爣绔欑偣 wrkMast.setLocNo(locNo); - //瀹瑰櫒缂栫爜 + //璐ф灦缂栫爜 wrkMast.setBarcode(barcode); - //瀹瑰櫒绫诲瀷 + //璐ф灦绫诲瀷 wrkMast.setWhsType(containerType); wrkMast.setAppeUser(userId); -- Gitblit v1.9.1