From 4004793c45cff0d7650981b34355c096b0a07dc2 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 08 九月 2023 16:59:34 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java | 144 ++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 128 insertions(+), 16 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 1be3b40..c49c3ec 100644
--- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -1,6 +1,9 @@
package com.zy.asrs.task.handler;
+import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
+import com.zy.asrs.entity.AgvLocDetl;
import com.zy.asrs.entity.AgvWaitPakin;
import com.zy.asrs.entity.AgvWrkDetl;
import com.zy.asrs.entity.AgvWrkMast;
@@ -34,53 +37,162 @@
AgvWaitPakinService agvWaitPakinService;
@Autowired
AgvWaitPakinLogService agvWaitPakinLogService;
+ @Autowired
+ OrderService orderService;
@Transactional
public ReturnT<String> completedPutWayWrk(AgvWrkMast agvWrkMast) {
int wrkNo = agvWrkMast.getWrkNo();
String barcode = agvWrkMast.getBarcode();
+ String orderNo = getOrderNoByWrkNo(wrkNo);
- //淇敼宸ヤ綔妗g姸鎬佷负206.搴撳瓨鏇存柊瀹屾垚
- agvWrkMast.setWrkSts(206L);
+ //淇敼宸ヤ綔妗g姸鎬佷负207.搴撳瓨鏇存柊瀹屾垚
+ agvWrkMast.setWrkSts(207L);
agvWrkMastService.updateById(agvWrkMast);
- //淇敼鐩爣搴撲綅鐘舵�佷负F.鍦ㄥ簱
- agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F");
- //鏇存柊鐩爣搴撲綅鏄庣粏
- agvLocDetlService.addLocDetlInfo(agvWrkMast.getLocNo(),wrkNo);
+ if(agvWrkMast.getIoType() == 10){
+ // 绌烘澘鍏ュ簱 璁剧疆搴撲綅鐘舵�佷负D.绌烘《/绌烘爤鏉�
+ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"D");
+ }else{
+ //淇敼鐩爣搴撲綅鐘舵�佷负F.鍦ㄥ簱
+ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F");
+ }
//鐢熸垚AGV宸ヤ綔鍘嗗彶妗�
agvWrkMastLogService.save(wrkNo);
//鐢熸垚AGV宸ヤ綔鏄庣粏鍘嗗彶妗�
agvWrkDetlLogService.save(wrkNo);
- //鐢熸垚鍏ュ簱閫氱煡鍘嗗彶妗�
- agvWaitPakinLogService.save(barcode);
//鍒犻櫎AGV宸ヤ綔妗�
agvWrkMastService.deleteById(wrkNo);
//鍒犻櫎AGV宸ヤ綔鏄庣粏妗�
agvWrkDetlService.delete(new EntityWrapper<AgvWrkDetl>().eq("wrk_no",wrkNo));
- //鍒犻櫎鍏ュ簱閫氱煡妗�
- agvWaitPakinService.delete(new EntityWrapper<AgvWaitPakin>().eq("zpallet",barcode));
+ //绫诲瀷涓哄嚭搴撴椂
+ if(agvWrkMast.getIoType() == 1){
+ //鏇存柊鐩爣搴撲綅鏄庣粏
+ agvLocDetlService.addLocDetlInfo(agvWrkMast.getLocNo(),wrkNo);
+ //鐢熸垚鍏ュ簱閫氱煡鍘嗗彶妗�
+ agvWaitPakinLogService.save(barcode);
+ //鍒犻櫎鍏ュ簱閫氱煡妗�
+ agvWaitPakinService.delete(new EntityWrapper<AgvWaitPakin>().eq("zpallet",barcode));
+ }
+ //绫诲瀷涓哄簱浣嶇Щ杞椂
+ if(agvWrkMast.getIoType() == 11){
+ //鏇存柊搴撳瓨鏄庣粏
+ agvLocDetlService.updateStock(agvWrkMast.getSourceLocNo(),agvWrkMast.getLocNo());
+ //淇敼婧愬簱浣嶇姸鎬佷负O
+ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O");
+ }
+ 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> completedCarryWrk(AgvWrkMast agvWrkMast) {
+ int wrkNo = agvWrkMast.getWrkNo();
+ String orderNo = getOrderNoByWrkNo(wrkNo);
+ //淇敼宸ヤ綔妗g姸鎬佷负207.搴撳瓨鏇存柊瀹屾垚
+ agvWrkMast.setWrkSts(207L);
+ agvWrkMastService.updateById(agvWrkMast);
+ //淇敼婧愬簱浣嶇姸鎬佷负O
+ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O");
+ if(agvWrkMast.getIoType() == 101){
+ //鏇存柊鐩爣搴撲綅鏄庣粏 101.鍑哄簱 鍒犻櫎婧愬簱浣嶅簱瀛樻槑缁�
+ agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no",agvWrkMast.getSourceLocNo()));
+ }
+
+ //鐢熸垚AGV宸ヤ綔鍘嗗彶妗�
+ agvWrkMastLogService.save(wrkNo);
+ //鐢熸垚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> startPutWayWrk(List<AgvWrkMast> agvWrkMastList) throws IOException {
- Map<String, List<Map<String, String>>> containerMoveParam = agvWrkMastService.startWrk(agvWrkMastList);
- int code = agvWrkMastService.containerMove(containerMoveParam);
+ int startWwrkCode = agvWrkMastService.startWrk(agvWrkMastList,"putaway");
+
+ int code = agvWrkMastService.containerMove(agvWrkMastList);
if(code == 0){
agvWrkMastList.forEach(agvWrkMast -> {
//202.RCS鍙栬揣涓�
- agvWrkMast.setWrkSts((long)202);
- //淇敼AGV鍏ュ簱閫氱煡妗g姸鎬佸叆鍑虹姸鎬佷负Y
- agvWaitPakinService.updateIoStatus(agvWrkMast.getWrkNo(),"Y");
+ agvWrkMast.setWrkSts(202L);
+ agvWrkMastService.updateById(agvWrkMast);
+ if(agvWrkMast.getIoType() == 1){
+ //淇敼AGV鍏ュ簱閫氱煡妗g姸鎬佸叆鍑虹姸鎬佷负Y
+ agvWaitPakinService.updateIoStatus(agvWrkMast.getWrkNo(),"Y");
+ }
+
});
- agvWrkMastService.updateBatchById(agvWrkMastList);
+ //agvWrkMastService.updateBatchById(agvWrkMastList);
return SUCCESS;
}
return FAIL;
}
+
+ @Transactional
+ public ReturnT<String> startCarryWrk(List<AgvWrkMast> agvWrkMastList) throws IOException {
+ int code = agvWrkMastService.startWrk(agvWrkMastList,"carry");
+ if(code == 0){
+ agvWrkMastList.forEach(agvWrkMast -> {
+ //202.RCS鍙栬揣涓�
+ agvWrkMast.setWrkSts(202L);
+ agvWrkMastService.updateById(agvWrkMast);
+ });
+ //agvWrkMastService.updateBatchById(agvWrkMastList);
+
+ return SUCCESS;
+ }
+
+ return FAIL;
+ }
+
+ private String getOrderNoByWrkNo(int wrkNo){
+ AgvWrkDetl agvWrkDetl = agvWrkDetlService.selectOne(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", wrkNo));
+ if(Cools.isEmpty(agvWrkDetl)){
+ return null;
+ }
+ return agvWrkDetl.getOrderNo();
+ }
+
+ private boolean isJSON(String str) {
+ if (Cools.isEmpty(str)) {
+ return false;
+ } else {
+ str = str.trim();
+ if (str.startsWith("{") && str.endsWith("}")) {
+ return true;
+ } else if (str.startsWith("[") && str.endsWith("]")) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+ }
}
--
Gitblit v1.9.1