From 81672518fc9a2e86c5c34dba341aaa535c2f069d Mon Sep 17 00:00:00 2001 From: whycq <10027870+whycq@user.noreply.gitee.com> Date: 星期三, 22 五月 2024 17:06:41 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 59 +++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 49 insertions(+), 10 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 a565b5b..bca97c7 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java @@ -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; @@ -564,9 +564,13 @@ 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()); + } + if(wrkMast.getIoType() == 1 || wrkMast.getIoType() == 53 ){ + //淇敼鍑哄簱绔欑偣鐘舵�� + agvBasDevpService.updateLocStsAndBarcodeByDevNo(wrkMast.getSourceLocNo(),"O","",wrkMast.getWhsType().shortValue()); } //鍑哄簱浠诲姟 110.绌烘澘鍑哄簱 if(wrkMast.getIoType() == 110){ @@ -576,7 +580,7 @@ } @Transactional - public void cancelWrkMast(String workNo, Long userId) { + public void cancelWrkMast(String workNo, Long userId,Integer type) { AgvWrkMast wrkMast = agvWrkMastService.selectById(workNo); if (Cools.isEmpty(wrkMast)){ throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪"); @@ -587,7 +591,7 @@ } //鍏ュ簱鍙栨秷 - if(wrkMast.getIoType() == 1 || wrkMast.getIoType() == 10){ + if(wrkMast.getIoType() == 1 || wrkMast.getIoType() == 10 || wrkMast.getIoType() == 58){ //婧愮珯鐐� String devNo = wrkMast.getSourceLocNo(); //鐩爣搴撲綅 @@ -595,16 +599,49 @@ agvLocMastService.updateLocStsByLocNo(locNo,"O","",null); agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"F",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue()); + // 绉诲簱鍙栨秷 + } else if( wrkMast.getIoType() == 11 || wrkMast.getIoType() == 12) { + //婧愬簱浣� + String locNo = wrkMast.getSourceLocNo(); + + // 鐩爣搴撲綅 + String targetLocNo = wrkMast.getLocNo(); + agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo)); + 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 { + } else { //婧愬簱浣� 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); - } + agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"O","",null); } if(wrkMast.getIoType() != 1 && wrkMast.getIoType() != 10){ @@ -641,9 +678,11 @@ if(!agvWrkMastService.deleteByWrkNo(wrkMast.getWrkNo()) || !agvWrkDetlService.deleteByWrkNo(wrkMast.getWrkNo())){ throw new CoolException("鍒犻櫎澶辫触锛岃鑱旂郴绠$悊鍛�"); } + if (type == 2) { + //璋冪敤agv鍙栨秷浠诲姟鎺ュ彛 + agvWrkMastService.callCancelTask(wrkMast.getWrkNo()); + } - //璋冪敤agv鍙栨秷浠诲姟鎺ュ彛 - agvWrkMastService.callCancelTask(wrkMast.getWrkNo()); } -- Gitblit v1.9.1