From c22edcc5e29212dfa3e7b629c45ba00c30f310f8 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期五, 31 五月 2024 16:01:34 +0800
Subject: [PATCH] #1
---
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 106 insertions(+), 13 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 a8b4a0e..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,7 +603,30 @@
//鐩爣搴撲綅
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) {
+ // 鍥炴粴鍏ュ簱璁㈠崟
+ 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彇娑堝け璐�");
+ }
+ }
+
+
+ }
// 绉诲簱鍙栨秷
@@ -611,8 +638,23 @@
String targetLocNo = wrkMast.getLocNo();
agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo));
agvLocMastService.updateLocStsByLocNo(targetLocNo,"O","",null);
+ AgvLocMast locMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", targetLocNo));
+ // 褰撳墠浠诲姟鏄法灞傜Щ搴� 涓旂洰鏍囨ゼ灞傛槸1妤肩殑 鍥炴粴璋冩嫧鍗�
+ if (wrkMast.getIoType() == 12 && locMast.getFloor() == 1) {
+ List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo));
+ for (AgvLocDetl agvLocDetl : agvLocDetls) {
+ OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("three_code", agvLocDetl.getThreeCode()).eq("matnr", agvLocDetl.getMatnr()).eq("order_no", "DB" + agvLocDetl.getOrderNo()));
+ orderDetl.setQty(orderDetl.getQty() + agvLocDetl.getAnfme());
+ if (!orderDetlService.updateById(orderDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
+ }
+ }
+ }
// 鑷姩璋冩嫧鍑哄簱鍙栨秷
- } 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();
// 鐩爣搴撲綅
@@ -623,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));
@@ -644,18 +692,42 @@
//鐩爣绔欑偣
String devNo = wrkMast.getLocNo();
if (wrkMast.getIoType() == 110 || wrkMast.getIoType() == 109) {
- agvLocMastService.updateLocStsByLocNo(locNo,"D",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo));
- } else {
+ 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 {
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo));
+ if (!Cools.isEmpty(devNo)) {
+ agvLocMastService.updateLocStsByLocNo(devNo,"0","",null);
+ }
+ }
+
+ } else {
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"O","",null);
agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo));
}
- if (wrkMast.getIoType() == 109){
- agvLocMastService.updateLocStsByLocNo(devNo,"O","",(short)getContainerTypeByloc(devNo));
- }else {
- agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"O","",null);
- }
+
}
- if(wrkMast.getIoType() != 1 && wrkMast.getIoType() != 10 && wrkMast.getIoType()!=111 && wrkMast.getIoType()!=108){
+ if(wrkMast.getIoType() != 1 && wrkMast.getIoType() != 10 && wrkMast.getIoType()!=111 && wrkMast.getIoType()!=108 && wrkMast.getIoType() != 12){
//璁㈠崟鍥炴粴
//List<AgvWrkDetl> agvWrkDetlList = agvWrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
List<AgvWrkDetl> agvWrkDetlList1 = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
@@ -694,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());
@@ -909,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