From 984039880e1f6ccc4cb61c35e0004147aa46d5bc Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期六, 21 九月 2024 11:20:39 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java | 206 +++++++++++++++++++++++++++++++++++++--------------
1 files changed, 149 insertions(+), 57 deletions(-)
diff --git a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
index 6db063c..b895aad 100644
--- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -66,19 +66,89 @@
}
+ agvWrkMast.setModiTime(new Date());
//淇敼宸ヤ綔妗g姸鎬佷负207.搴撳瓨鏇存柊瀹屾垚
agvWrkMast.setWrkSts(207L);
agvWrkMastService.updateById(agvWrkMast);
// 绌烘澘鍏ュ簱 璁剧疆搴撲綅鐘舵�佷负D.绌烘《/绌烘爤鏉�
String locSts = agvWrkMast.getIoType() == 10 ? "D" : "F";
+
+ if (agvWrkMast.getIoType() != 111) {
+ //鐢熸垚AGV宸ヤ綔鍘嗗彶妗�
+ agvWrkMastLogService.save(agvWrkMast);
+ //鐢熸垚AGV宸ヤ綔鏄庣粏鍘嗗彶妗�
+ agvWrkDetlLogService.save(wrkNo);
+ }
+
switch (agvWrkMast.getIoType()){
+ case 1:
+ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+ //鏇存柊鐩爣搴撲綅鏄庣粏
+ log.info("鏇存柊鐩爣搴撲綅鏄庣粏 agvWrkMast.getLocNo(): " + agvWrkMast.getLocNo() + ", wrkNo: " + wrkNo);
+ agvLocDetlService.addLocDetlInfo(agvWrkMast.getLocNo(),wrkNo);
+ //鐢熸垚鍏ュ簱閫氱煡鍘嗗彶妗�
+ boolean save = agvWaitPakinLogService.save(barcode);
+ //鍒犻櫎鍏ュ簱閫氱煡妗�
+ log.info("鍒犻櫎鍏ュ簱閫氱煡妗� supp_code: " + barcode);
+ agvWaitPakinService.delete(new EntityWrapper<AgvWaitPakin>().eq("supp_code",barcode));
+ break;
case 10:
agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"D",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",(short)0);
+ break;
+ case 11:
+ case 12:
+ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+ //鏇存柊搴撳瓨鏄庣粏
+ agvLocDetlService.updateStock(agvWrkMast.getSourceLocNo(),agvWrkMast.getLocNo());
+ //淇敼婧愬簱浣嶇姸鎬佷负O
+ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",null);
+ break;
+ case 53:
+ //淇敼宸ヤ綔鍏氭槑缁�
+ //淇敼搴撳瓨淇℃伅
+ List<AgvWrkDetl> agvWrkDetlList = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", agvWrkMast.getWrkNo()));
+ agvWrkDetlList.forEach(agvWrkDetl -> {
+ AgvLocDetl agvLocDetl = agvLocDetlService.selectByMatnrAndBatchAndCsocodeAndisoCode(agvWrkMast.getLocNo(), agvWrkDetl.getMatnr(), agvWrkDetl.getBatch(), agvWrkDetl.getThreeCode(), agvWrkDetl.getDeadTime());
+ if (!Cools.isEmpty(agvLocDetl)) {
+ double updateAnfme = agvLocDetl.getAnfme() - agvWrkDetl.getAnfme();
+ agvLocDetlService.updateAnfme(updateAnfme,agvLocDetl.getLocNo(),agvLocDetl.getMatnr(),agvLocDetl.getBatch(),agvLocDetl.getThreeCode(),agvLocDetl.getDeadTime());
+ }
+ //AgvLocDetl agvLocDetl = agvLocDetlService.selectLocdetl(agvWrkMast.getLocNo(),agvWrkDetl.getMatnr(),agvWrkDetl.getBatch(),agvWrkDetl.getThreeCode(),agvWrkDetl.getDeadTime());
- //鐢熸垚AGV宸ヤ綔鍘嗗彶妗�
- agvWrkMastLogService.save(agvWrkMast);
- //鐢熸垚AGV宸ヤ綔鏄庣粏鍘嗗彶妗�
- agvWrkDetlLogService.save(wrkNo);
+ });
+ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue());
+ break;
+ case 57:
+ Date now = new Date();
+ // 鏇存柊搴撳瓨鏄庣粏
+ List<AgvWrkDetl> wrkDetlList = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", agvWrkMast.getWrkNo()));
+ wrkDetlList.forEach(agvWrkDetl -> {
+ AgvLocDetl agvLocDetl = new AgvLocDetl();
+ agvLocDetl.setLocNo(agvWrkMast.getLocNo());
+ agvLocDetl.sync(agvWrkDetl);
+ agvLocDetl.setModiTime(now);
+ agvLocDetl.setAppeTime(now);
+ if (!agvLocDetlService.insert(agvLocDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
+ }
+ });
+ // 鏇存柊绔欑偣 + 搴撲綅鐘舵�� 婧愬簱浣嶆槸绔欑偣
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue());
+ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+ break;
+ case 58:
+ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue());
+ break;
+ case 108:
+ case 114:
+ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+ //鏇存柊搴撳瓨鏄庣粏
+ agvLocDetlService.updateStock(agvWrkMast.getSourceLocNo(),agvWrkMast.getLocNo());
+ //淇敼婧愬簱浣嶇姸鎬佷负O
+ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue(),"",(short)0);
break;
case 109:
// 搴撲綅 -- 鎺ラ┏浣� / 搴撲綅
@@ -88,12 +158,6 @@
} else {
agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"D",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
}
-
- //鐢熸垚AGV宸ヤ綔鍘嗗彶妗�
- agvWrkMastLogService.save(agvWrkMast);
- //鐢熸垚AGV宸ヤ綔鏄庣粏鍘嗗彶妗�
- agvWrkDetlLogService.save(wrkNo);
-
// 鎺ラ┏浣� -- 搴撲綅
if (agvWrkMast.getSourceLocNo().substring(0,2).equals("DB")) {
agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",(short)0);
@@ -119,49 +183,20 @@
} else {
//淇敼婧愬簱浣嶇姸鎬佷负O
agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue(),"",(short)0);
+ //鏇存柊鐩爣搴撲綅鏄庣粏 101.鍑哄簱 鍒犻櫎婧愬簱浣嶅簱瀛樻槑缁�
+ agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no",agvWrkMast.getSourceLocNo()));
}
- break;
- case 113:
- agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"D",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
-
- //鐢熸垚AGV宸ヤ綔鍘嗗彶妗�
- agvWrkMastLogService.save(agvWrkMast);
- //鐢熸垚AGV宸ヤ綔鏄庣粏鍘嗗彶妗�
- agvWrkDetlLogService.save(wrkNo);
-
- // 鎺ラ┏浣� -- 搴撲綅
- if (agvWrkMast.getSourceLocNo().substring(0,2).equals("DB")) {
- agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",(short)0);
- }
- break;
- case 1:
- agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
- //鏇存柊鐩爣搴撲綅鏄庣粏
- log.info("鏇存柊鐩爣搴撲綅鏄庣粏 agvWrkMast.getLocNo(): " + agvWrkMast.getLocNo() + ", wrkNo: " + wrkNo);
- agvLocDetlService.addLocDetlInfo(agvWrkMast.getLocNo(),wrkNo);
- //鐢熸垚鍏ュ簱閫氱煡鍘嗗彶妗�
- boolean save = agvWaitPakinLogService.save(barcode);
- //鍒犻櫎鍏ュ簱閫氱煡妗�
- log.info("鍒犻櫎鍏ュ簱閫氱煡妗� supp_code: " + barcode);
- agvWaitPakinService.delete(new EntityWrapper<AgvWaitPakin>().eq("supp_code",barcode));
- break;
- case 11:
- case 12:
- agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
- //鏇存柊搴撳瓨鏄庣粏
- agvLocDetlService.updateStock(agvWrkMast.getSourceLocNo(),agvWrkMast.getLocNo());
- //淇敼婧愬簱浣嶇姸鎬佷负O
- agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",null);
- break;
- case 108:
- agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
- //鏇存柊搴撳瓨鏄庣粏
- agvLocDetlService.updateStock(agvWrkMast.getSourceLocNo(),agvWrkMast.getLocNo());
- //淇敼婧愬簱浣嶇姸鎬佷负O
- agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue(),"",(short)0);
break;
case 112:
agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+ List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", agvWrkMast.getWrkNo()));
+ for (AgvWrkDetl agvWrkDetl : agvWrkDetls) {
+ AgvLocDetl locDetl = new AgvLocDetl();
+ locDetl.setLocNo(agvWrkMast.getLocNo());
+ locDetl.sync(agvWrkDetl);
+ locDetl.setModiTime(new Date());
+ agvLocDetlService.insert(locDetl);
+ }
// 鎺ラ┏浣� -- 搴撲綅
if (agvWrkMast.getSourceLocNo().substring(0,2).equals("DB")) {
agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",(short)0);
@@ -171,22 +206,37 @@
agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue(),"",(short)0);
}
break;
- case 58:
- agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
- agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue());
+ case 113:
+ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"D",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+ // 鎺ラ┏浣� -- 搴撲綅
+ if (agvWrkMast.getSourceLocNo().substring(0,2).equals("DB")) {
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",(short)0);
+ }
break;
+ case 121:
+ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+ //鏇存柊搴撳瓨鏄庣粏
+ agvLocDetlService.updateStock(agvWrkMast.getSourceLocNo(),agvWrkMast.getLocNo());
+ //淇敼婧愬簱浣嶇姸鎬佷负O
+ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue(),"",(short)0);
+ break;
+
default:
return null;
}
-
-
-
if (agvWrkMast.getIoType() != 111) {
//鍒犻櫎AGV宸ヤ綔妗�
agvWrkMastService.deleteById(wrkNo);
//鍒犻櫎AGV宸ヤ綔鏄庣粏妗�
agvWrkDetlService.delete(new EntityWrapper<AgvWrkDetl>().eq("wrk_no",wrkNo));
}
+// else {
+// agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(),"O","",agvWrkMast.getWhsType().shortValue());
+// if (!agvWrkMast.getSourceLocNo().substring(0,2).equals("DB")) {
+// agvWrkMast.setSourceLocNo("");
+// }
+// agvWrkMastService.updateById(agvWrkMast);
+// }
if(!isJSON(orderNo)){
//妫�鏌ヨ鍗曟槸鍚﹀凡瀹屾垚
@@ -210,20 +260,59 @@
@Transactional
public ReturnT<String> completedCarryWrk(AgvWrkMast agvWrkMast) {
try{
+ Date now = new Date();
int wrkNo = agvWrkMast.getWrkNo();
String orderNo = getOrderNoByWrkNo(wrkNo);
//淇敼宸ヤ綔妗g姸鎬佷负207.搴撳瓨鏇存柊瀹屾垚
agvWrkMast.setWrkSts(207L);
+ agvWrkMast.setModiTime(new Date());
agvWrkMastService.updateById(agvWrkMast);
//淇敼婧愬簱浣嶇姸鎬佷负O
- agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",null);
+ if (agvWrkMast.getIoType() == 110) {
+ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",null);
+ }
if(agvWrkMast.getIoType() == 101){
//鏇存柊鐩爣搴撲綅鏄庣粏 101.鍑哄簱 鍒犻櫎婧愬簱浣嶅簱瀛樻槑缁�
agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no",agvWrkMast.getSourceLocNo()));
//鐢熸垚绌烘澘鍏ュ簱浠诲姟
Short containerType = Short.valueOf(agvWrkMast.getBarcode().substring(0, 2));
try {
- agvWorkService.emptyPlateIn(agvWrkMast.getLocNo(),agvWrkMast.getBarcode(),containerType,9527L,true);
+// agvWorkService.emptyPlateIn(agvWrkMast.getLocNo(),agvWrkMast.getBarcode(),containerType,9527L,true);
+ AgvWrkMast wrkMast = new AgvWrkMast();
+ //宸ヤ綔鐘舵��
+ wrkMast.setWrkSts(201L);
+ //鍏ュ嚭搴撶被鍨�
+ wrkMast.setIoType(10);
+ wrkMast.setIoTime(now);
+ //浼樺厛绾�
+ wrkMast.setIoPri(300.0);
+ //婧愮珯鐐�
+ wrkMast.setSourceLocNo(agvWrkMast.getLocNo());
+ //鐩爣绔欑偣
+ wrkMast.setLocNo(agvWrkMast.getSourceLocNo());
+ //璐ф灦缂栫爜
+ wrkMast.setBarcode(agvWrkMast.getBarcode());
+ //璐ф灦绫诲瀷
+ wrkMast.setWhsType(Integer.valueOf(agvWrkMast.getBarcode().substring(0, 2)));
+
+ wrkMast.setAppeUser(9527L);
+ wrkMast.setAppeTime(now);
+ wrkMast.setModiUser(9527L);
+ wrkMast.setModiTime(now);
+ wrkMast.setLogErrMemo("completedCarryWrk");
+
+ if (!agvWrkMastService.insertByIncrease(wrkMast)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+ AgvLocMast agvLocMast = agvLocMastService.selectById(agvWrkMast.getSourceLocNo());
+ agvLocMast.setLocSts("S");
+ agvLocMast.setModiTime(now);
+ agvLocMastService.updateById(agvLocMast);
+
+ AgvBasDevp agvBasDevp = agvBasDevpService.selectById(agvWrkMast.getLocNo());
+ agvBasDevp.setLocSts("R");
+ agvBasDevp.setLocType2(Short.valueOf(agvWrkMast.getBarcode().substring(0, 2)));
+ agvBasDevpService.updateById(agvBasDevp);
}catch (Exception e){
e.printStackTrace();
log.error(e.getMessage());
@@ -268,6 +357,7 @@
}
//淇敼宸ヤ綔妗g姸鎬佷负207.搴撳瓨鏇存柊瀹屾垚
agvWrkMast.setWrkSts(207L);
+ agvWrkMast.setModiTime(new Date());
agvWrkMastService.updateById(agvWrkMast);
//淇敼婧愬簱浣嶇姸鎬佷负O
agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",null);
@@ -313,6 +403,7 @@
}
agvWrkMast.setWrkSts(202L);
+ agvWrkMast.setModiTime(new Date());
agvWrkMastService.updateById(agvWrkMast);
if(agvWrkMast.getIoType() == 1){
//淇敼AGV鍏ュ簱閫氱煡妗g姸鎬佸叆鍑虹姸鎬佷负Y
@@ -378,6 +469,7 @@
Map<String, Object> devNoMap = devNoMaps.get(0);
if((int)devNoMap.get("num") < maxWrokNum){
agvWrkMast.setLocNo(devNoMap.get("dev_no").toString());
+ agvWrkMast.setModiTime(new Date());
agvWrkMastService.updateById(agvWrkMast);
log.info("after锛�" + devNoMap.toString() + ", wrkNo:" + agvWrkMast.getWrkNo() + ", locNo: " + agvWrkMast.getLocNo());
}
--
Gitblit v1.9.1