From 638392144f32a2346f513c671c4a3bf88a954479 Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期三, 17 四月 2024 23:29:51 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java | 170 +++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 117 insertions(+), 53 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 0134534..9fb31c8 100644
--- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -3,11 +3,9 @@
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
+import com.core.common.R;
import com.core.exception.CoolException;
-import com.zy.asrs.entity.AgvLocDetl;
-import com.zy.asrs.entity.AgvWaitPakin;
-import com.zy.asrs.entity.AgvWrkDetl;
-import com.zy.asrs.entity.AgvWrkMast;
+import com.zy.asrs.entity.*;
import com.zy.asrs.service.*;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
@@ -50,23 +48,28 @@
private OrderService orderService;
@Autowired
private AgvBasDevpService agvBasDevpService;
+ @Autowired
+ private AgvWorkService agvWorkService;
@Transactional
public ReturnT<String> completedPutWayWrk(AgvWrkMast agvWrkMast) {
int wrkNo = agvWrkMast.getWrkNo();
String barcode = agvWrkMast.getBarcode();
String orderNo = getOrderNoByWrkNo(wrkNo);
+ String agvBasDevp = "";
+ if (agvWrkMast.getIoType() > 100) {
+ agvBasDevp = agvWrkMast.getLocNo();
+ } else {
+ agvBasDevp = agvWrkMast.getSourceLocNo();
+ }
+
//淇敼宸ヤ綔妗g姸鎬佷负207.搴撳瓨鏇存柊瀹屾垚
agvWrkMast.setWrkSts(207L);
agvWrkMastService.updateById(agvWrkMast);
- if(agvWrkMast.getIoType() == 10){
- // 绌烘澘鍏ュ簱 璁剧疆搴撲綅鐘舵�佷负D.绌烘《/绌烘爤鏉�
- agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"D",agvWrkMast.getBarcode());
- }else{
- //淇敼鐩爣搴撲綅鐘舵�佷负F.鍦ㄥ簱
- agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode());
- }
+ // 绌烘澘鍏ュ簱 璁剧疆搴撲綅鐘舵�佷负D.绌烘《/绌烘爤鏉�
+ String locSts = agvWrkMast.getIoType() == 10 ? "D" : "F";
+ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),locSts,agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
//鐢熸垚AGV宸ヤ綔鍘嗗彶妗�
agvWrkMastLogService.save(agvWrkMast);
//鐢熸垚AGV宸ヤ綔鏄庣粏鍘嗗彶妗�
@@ -87,7 +90,7 @@
//鏇存柊搴撳瓨鏄庣粏
agvLocDetlService.updateStock(agvWrkMast.getSourceLocNo(),agvWrkMast.getLocNo());
//淇敼婧愬簱浣嶇姸鎬佷负O
- agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","");
+ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",null);
}
//鍒犻櫎AGV宸ヤ綔妗�
@@ -105,6 +108,11 @@
orderService.checkComplete(o);
});
}
+ AgvBasDevp basDevp = agvBasDevpService.selectByDevNo(agvBasDevp);
+ basDevp.setLocSts("O");
+ basDevp.setBarcode("");
+ basDevp.setLocType2(null);
+ agvBasDevpService.updateById(basDevp);
return SUCCESS;
}
@@ -118,7 +126,56 @@
agvWrkMast.setWrkSts(207L);
agvWrkMastService.updateById(agvWrkMast);
//淇敼婧愬簱浣嶇姸鎬佷负O
- agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","");
+ 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);
+ }catch (Exception e){
+ e.printStackTrace();
+ log.error(e.getMessage());
+ }
+ }
+
+ //鐢熸垚AGV宸ヤ綔鍘嗗彶妗�
+ agvWrkMastLogService.save(agvWrkMast);
+ //鐢熸垚AGV宸ヤ綔鏄庣粏鍘嗗彶妗�
+ agvWrkDetlLogService.save(wrkNo);
+ //鍒犻櫎AGV宸ヤ綔妗�
+ agvWrkMastService.deleteById(wrkNo);
+ //鍒犻櫎AGV宸ヤ綔鏄庣粏妗�
+ agvWrkDetlService.delete(new EntityWrapper<AgvWrkDetl>().eq("wrk_no",wrkNo));
+ if(!isJSON(orderNo)){
+ //妫�鏌ヨ鍗曟槸鍚﹀凡瀹屾垚
+ orderService.checkComplete(orderNo);
+ }else{
+ List<Map> maps = JSONArray.parseArray(orderNo, Map.class);
+ maps.forEach(map -> {
+ String o = map.get("orderNo").toString();
+ orderService.checkComplete(o);
+ });
+ }
+ return SUCCESS;
+ }
+
+ @Transactional
+ public ReturnT<String> completedCarryWrk2(AgvWrkMast agvWrkMast) {
+ int wrkNo = agvWrkMast.getWrkNo();
+ String orderNo = getOrderNoByWrkNo(wrkNo);
+ String agvBasDevp = "";
+ if (agvWrkMast.getIoType() > 100) {
+ agvBasDevp = agvWrkMast.getLocNo();
+ } else {
+ agvBasDevp = agvWrkMast.getSourceLocNo();
+ }
+ //淇敼宸ヤ綔妗g姸鎬佷负207.搴撳瓨鏇存柊瀹屾垚
+ agvWrkMast.setWrkSts(207L);
+ agvWrkMastService.updateById(agvWrkMast);
+ //淇敼婧愬簱浣嶇姸鎬佷负O
+ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",null);
if(agvWrkMast.getIoType() == 101){
//鏇存柊鐩爣搴撲綅鏄庣粏 101.鍑哄簱 鍒犻櫎婧愬簱浣嶅簱瀛樻槑缁�
agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no",agvWrkMast.getSourceLocNo()));
@@ -142,59 +199,57 @@
orderService.checkComplete(o);
});
}
+ AgvBasDevp basDevp = agvBasDevpService.selectByDevNo(agvBasDevp);
+ basDevp.setLocSts("O");
+ basDevp.setBarcode("");
+ basDevp.setLocType2(null);
+ agvBasDevpService.updateById(basDevp);
return SUCCESS;
}
@Transactional
- public ReturnT<String> startPutWayWrk(List<AgvWrkMast> agvWrkMastList) throws IOException {
+ @Synchronized
+ public ReturnT<String> startPutWayWrk(AgvWrkMast agvWrkMast) throws IOException {
//涓嬪彂浠诲姟
- int startWrkCode = agvWrkMastService.startWrk(agvWrkMastList,"putaway");
+ int startWrkCode = agvWrkMastService.startWrk(agvWrkMast);
if(startWrkCode != 0){
throw new CoolException("浠诲姟涓嬪彂澶辫触");
}
- //涓嬪彂瀹瑰櫒鍏ュ満鎸囦护 锛堢紦瀛樿揣鏋讹級
- int code = agvWrkMastService.containerMoveIn(agvWrkMastList);
-
- if(code == 0){
- for(AgvWrkMast agvWrkMast : agvWrkMastList){
- //202.RCS鍙栬揣涓�
- agvWrkMast.setWrkSts(202L);
- agvWrkMastService.updateById(agvWrkMast);
- if(agvWrkMast.getIoType() == 1){
- //淇敼AGV鍏ュ簱閫氱煡妗g姸鎬佸叆鍑虹姸鎬佷负Y
- agvWaitPakinService.updateIoStatus(agvWrkMast.getWrkNo(),"Y");
- }
- }
- return SUCCESS;
+ agvWrkMast.setWrkSts(202L);
+ agvWrkMastService.updateById(agvWrkMast);
+ if(agvWrkMast.getIoType() == 1){
+ //淇敼AGV鍏ュ簱閫氱煡妗g姸鎬佸叆鍑虹姸鎬佷负Y
+ agvWaitPakinService.updateIoStatus(agvWrkMast.getWrkNo(),"Y");
}
- return FAIL;
+ return SUCCESS;
+
}
- @Transactional
- public ReturnT<String> startCarryWrk(List<AgvWrkMast> agvWrkMastList) throws IOException {
- //log.info(agvWrkMastList.toString());
- //浠诲姟杩囨护锛岃繃婊ゆ帀宸插瓨鍦ㄧ浉鍚岀洰鏍囧簱浣嶇殑宸ヤ綔妗�
- //agvWrkMastList = filter(agvWrkMastList);
- int code = agvWrkMastService.startWrk(agvWrkMastList,"carry");
- //log.info(agvWrkMastList.toString());
- if (Cools.isEmpty(agvWrkMastList)){
- return SUCCESS;
- }
- if(code == 0){
- agvWrkMastList.forEach(agvWrkMast -> {
- //202.RCS鍙栬揣涓�
- agvWrkMast.setWrkSts(202L);
- agvWrkMastService.updateById(agvWrkMast);
- });
- //agvWrkMastService.updateBatchById(agvWrkMastList);
-
- return SUCCESS;
- }
-
- return FAIL;
- }
+// @Transactional
+// public ReturnT<String> startCarryWrk(AgvWrkMast agvWrkMast) throws IOException {
+// //log.info(agvWrkMastList.toString());
+// //浠诲姟杩囨护锛岃繃婊ゆ帀宸插瓨鍦ㄧ浉鍚岀洰鏍囧簱浣嶇殑宸ヤ綔妗�
+// //agvWrkMastList = filter(agvWrkMastList);
+// int code = agvWrkMastService.startWrk(agvWrkMast);
+// //log.info(agvWrkMastList.toString());
+// if (Cools.isEmpty(agvWrkMastList)){
+// return SUCCESS;
+// }
+// if(code == 0){
+// agvWrkMastList.forEach(agvWrkMast -> {
+// //202.RCS鍙栬揣涓�
+// agvWrkMast.setWrkSts(202L);
+// agvWrkMastService.updateById(agvWrkMast);
+// });
+// //agvWrkMastService.updateBatchById(agvWrkMastList);
+//
+// return SUCCESS;
+// }
+//
+// return FAIL;
+// }
@Synchronized
@Transactional
@@ -215,6 +270,15 @@
return SUCCESS;
}
+ @Synchronized
+ @Transactional
+ public ReturnT<String> autoEmptyOut(AgvBasDevp agvBasDevp) {
+
+ agvWorkService.emptyPlateOut(agvBasDevp.getDevNo(),0,9527L);
+
+ return SUCCESS;
+ }
+
private String getOrderNoByWrkNo(int wrkNo){
AgvWrkDetl agvWrkDetl = agvWrkDetlService.selectOne(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", wrkNo));
if(Cools.isEmpty(agvWrkDetl)){
--
Gitblit v1.9.1