From 6ce49b375bba4e1bbbe75c4dd891dc95cd9ff28f Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期五, 31 五月 2024 15:44:09 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 96 +++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 82 insertions(+), 14 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 a5eb8c6..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()));
+ }
}
@@ -599,14 +603,29 @@
//鐩爣搴撲綅
String locNo = wrkMast.getLocNo();
agvLocMastService.updateLocStsByLocNo(locNo,"O","",null);
- agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"F",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue());
+ if (wrkMast.getIoType() == 58) {
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"F",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue());
+ } else {
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"O","",wrkMast.getWhsType().shortValue());
+ }
+
if (wrkMast.getIoType() == 1) {
List<AgvWaitPakin> agvWaitPakins = agvWaitPakinService.selectByContainerCode2(wrkMast.getBarcode());
+
for (AgvWaitPakin agvWaitPakin : agvWaitPakins) {
- if (!agvWaitPakinService.delete(new EntityWrapper<AgvWaitPakin>().eq("supp_code",agvWaitPakin.getSupp()))) {
+ // 鍥炴粴鍏ュ簱璁㈠崟
+ OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("three_code", agvWaitPakin.getThreeCode()).eq("matnr", agvWaitPakin.getMatnr()).eq("order_no", agvWaitPakin.getOrderNo()));
+ orderDetl.setQty(orderDetl.getQty() - agvWaitPakin.getAnfme());
+ if (!orderDetlService.updateById(orderDetl)) {
+ throw new CoolException("璁㈠崟鍥炴粴澶辫触");
+ }
+ // 鍒犻櫎缁勬墭妗�
+ if (!agvWaitPakinService.delete(new EntityWrapper<AgvWaitPakin>().eq("supp_code",agvWaitPakin.getSuppCode()).eq("matnr",agvWaitPakin.getMatnr()).eq("three_code",agvWaitPakin.getThreeCode()))) {
throw new CoolException("鍏ュ簱閫氱煡妗e彇娑堝け璐�");
}
}
+
+
}
@@ -632,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();
// 鐩爣搴撲綅
@@ -643,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));
@@ -664,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){
@@ -719,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());
@@ -934,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