From 99d75e1e2708c383faf014c1dcdce6da19a9092f Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期五, 31 五月 2024 15:41:12 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 77 ++++++++++++++++++++++++++++++++------
1 files changed, 65 insertions(+), 12 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 0c3227a..3faa438 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -578,6 +578,10 @@
if(wrkMast.getIoType() == 110){
agvBasDevpService.updateLocStsAndBarcodeByDevNo(wrkMast.getLocNo(),"F",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue());
}
+ if (wrkMast.getIoType() == 10) {
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(wrkMast.getSourceLocNo(),"O",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue());
+ agvLocMastService.updateLocStsByLocNo(wrkMast.getLocNo(),"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(wrkMast.getLocNo()));
+ }
}
@@ -647,7 +651,10 @@
}
}
// 鑷姩璋冩嫧鍑哄簱鍙栨秷
- } else if(wrkMast.getIoType() == 108 || wrkMast.getIoType() == 111) {
+ } else if(wrkMast.getIoType() == 108 || wrkMast.getIoType() == 111 || wrkMast.getIoType() == 112) {
+ if (wrkMast.getIoType() == 112) {
+ throw new CoolException("褰撳墠浣滀笟涓嶈兘鍙栨秷锛�");
+ }
// 婧愬簱浣�
String locNo = wrkMast.getSourceLocNo();
// 鐩爣搴撲綅
@@ -658,9 +665,15 @@
agvLocMastService.updateLocStsByLocNo(targetLocNo,"O","",null);
}
} else {
- if (wrkMast.getWrkSts() != 22) {
- agvBasDevpService.updateLocStsAndBarcodeByDevNo(targetLocNo,"O","",wrkMast.getWhsType().shortValue());
+ if (wrkMast.getWrkSts() != 207L && wrkMast.getWrkSts() != 205L) {
+ if (wrkMast.getWrkSts() != 22) {
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(targetLocNo,"O","",wrkMast.getWhsType().shortValue());
+ }
+ } else {
+ throw new CoolException("褰撳墠浣滀笟涓嶈兘鍙栨秷锛�");
}
+
+
}
List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo));
@@ -679,20 +692,39 @@
//鐩爣绔欑偣
String devNo = wrkMast.getLocNo();
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));
- }
- if (wrkMast.getIoType() == 109){
- if (Cools.isEmpty(wrkMast.getLocNo())) {
+ if (wrkMast.getIoType() == 109){
+ // 婧愬簱浣嶆槸绔欑偣
+ if ("DB".equals(locNo.substring(0,2))) {
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(locNo,"F",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue());
+ agvLocMastService.updateLocStsByLocNo(devNo,"O","",null);
+ // 婧愬簱浣嶆槸搴撲綅 鐩爣搴撲綅鏄珯鐐�
+ } else if ("DB".equals(devNo.substring(0,2))) {
+ agvLocMastService.updateLocStsByLocNo(locNo,"D",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue());
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(locNo,"O","",null);
+ // 婧愬簱浣嶆槸搴撲綅
+ } else {
+ agvLocMastService.updateLocStsByLocNo(locNo,"D",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue());
+ agvLocMastService.updateLocStsByLocNo(devNo,"O","",null);
+ }
+ }else {
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"O","",null);
+ }
+ } else if (wrkMast.getIoType() == 113) {
+ if (wrkMast.getWrkSts() == 212 || wrkMast.getWrkSts() == 213) {
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo));
} else {
- agvLocMastService.updateLocStsByLocNo(devNo,"O","",(short)getContainerTypeByloc(devNo));
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo));
+ if (!Cools.isEmpty(devNo)) {
+ agvLocMastService.updateLocStsByLocNo(devNo,"0","",null);
+ }
}
- }else {
+ } else {
agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"O","",null);
+ agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo));
}
+
}
if(wrkMast.getIoType() != 1 && wrkMast.getIoType() != 10 && wrkMast.getIoType()!=111 && wrkMast.getIoType()!=108 && wrkMast.getIoType() != 12){
@@ -734,11 +766,11 @@
agvWrkDetlLogService.save(wrkMast.getWrkNo());
-
//鍒犻櫎宸ヤ綔妗d互鍙婃槑缁�
if(!agvWrkMastService.deleteByWrkNo(wrkMast.getWrkNo()) || !agvWrkDetlService.deleteByWrkNo(wrkMast.getWrkNo())){
throw new CoolException("鍒犻櫎澶辫触锛岃鑱旂郴绠$悊鍛�");
}
+
if (type == 2) {
//璋冪敤agv鍙栨秷浠诲姟鎺ュ彛
agvWrkMastService.callCancelTask(wrkMast.getWrkNo());
@@ -949,6 +981,27 @@
}
}
+ @Override
+ @Transactional
+ public void changeType(String workNo, Long userId) {
+ AgvWrkMast wrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("wrk_no", workNo));
+ if (Cools.isEmpty(wrkMast)) {
+ throw new CoolException("鏆傛棤\n" + workNo + "\n宸ヤ綔");
+ }
+ if (wrkMast.getWrkSts() != 22) {
+ throw new CoolException("褰撳墠浠诲姟宸插垎閰嶇洰鏍囧簱浣嶏紝鏆備笉鏀寔璋冩暣");
+ }
+ if (wrkMast.getIoType() == 108) {
+ wrkMast.setIoType(111);
+ agvWrkMastService.update(wrkMast,new EntityWrapper<AgvWrkMast>().eq("wrk_no", workNo));
+ } else if(wrkMast.getIoType() == 111) {
+ wrkMast.setIoType(108);
+ agvWrkMastService.update(wrkMast,new EntityWrapper<AgvWrkMast>().eq("wrk_no", workNo));
+ }
+
+
+ }
+
private void addInQty(String devno){
AgvBasDevp agvBasDevp = agvBasDevpService.selectById(devno);
if(!Cools.isEmpty(agvBasDevp)){
--
Gitblit v1.9.1