From 2a542491b78e75cfa0a22b4c6eb6e6087bf2746e Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期六, 11 十一月 2023 13:28:10 +0800
Subject: [PATCH] bug修复

---
 src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java |   76 ++++++++++++++++++++++++++------------
 1 files changed, 52 insertions(+), 24 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 ef79460..76a8c0f 100644
--- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -3,10 +3,8 @@
 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;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.*;
 import com.zy.asrs.service.*;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
@@ -24,23 +22,25 @@
 public class AgvWrkMastHandler extends AbstractHandler<String> {
 
     @Autowired
-    AgvWrkMastService agvWrkMastService;
+    private AgvWrkMastService agvWrkMastService;
     @Autowired
-    AgvLocMastService agvLocMastService;
+    private AgvLocMastService agvLocMastService;
     @Autowired
-    AgvLocDetlService agvLocDetlService;
+    private AgvLocDetlService agvLocDetlService;
     @Autowired
-    AgvWrkMastLogService agvWrkMastLogService;
+    private AgvWrkMastLogService agvWrkMastLogService;
     @Autowired
-    AgvWrkDetlService agvWrkDetlService;
+    private AgvWrkDetlService agvWrkDetlService;
     @Autowired
-    AgvWrkDetlLogService agvWrkDetlLogService;
+    private AgvWrkDetlLogService agvWrkDetlLogService;
     @Autowired
-    AgvWaitPakinService agvWaitPakinService;
+    private AgvWaitPakinService agvWaitPakinService;
     @Autowired
-    AgvWaitPakinLogService agvWaitPakinLogService;
+    private AgvWaitPakinLogService agvWaitPakinLogService;
     @Autowired
-    OrderService orderService;
+    private OrderService orderService;
+    @Autowired
+    private AgvBasDevpService agvBasDevpService;
 
     @Transactional
     public ReturnT<String> completedPutWayWrk(AgvWrkMast agvWrkMast) {
@@ -80,6 +80,12 @@
             //淇敼婧愬簱浣嶇姸鎬佷负O
             agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O");
         }
+
+        //鍒犻櫎AGV宸ヤ綔妗�
+        agvWrkMastService.deleteById(wrkNo);
+        //鍒犻櫎AGV宸ヤ綔鏄庣粏妗�
+        agvWrkDetlService.delete(new EntityWrapper<AgvWrkDetl>().eq("wrk_no",wrkNo));
+
         if(!isJSON(orderNo)){
             //妫�鏌ヨ鍗曟槸鍚﹀凡瀹屾垚
             orderService.checkComplete(orderNo);
@@ -90,11 +96,6 @@
                 orderService.checkComplete(o);
             });
         }
-
-        //鍒犻櫎AGV宸ヤ綔妗�
-        agvWrkMastService.deleteById(wrkNo);
-        //鍒犻櫎AGV宸ヤ綔鏄庣粏妗�
-        agvWrkDetlService.delete(new EntityWrapper<AgvWrkDetl>().eq("wrk_no",wrkNo));
 
         return SUCCESS;
     }
@@ -138,12 +139,26 @@
     @Transactional
     public ReturnT<String> startPutWayWrk(List<AgvWrkMast> agvWrkMastList) throws IOException {
 
-        int startWwrkCode = agvWrkMastService.startWrk(agvWrkMastList,"putaway");
+        //涓嬪彂浠诲姟
+        int startWrkCode = agvWrkMastService.startWrk(agvWrkMastList,"putaway");
+        if(startWrkCode != 0){
+            throw new CoolException("浠诲姟涓嬪彂澶辫触");
+        }
 
-        int code = agvWrkMastService.containerMove(agvWrkMastList);
+        //涓嬪彂瀹瑰櫒鍏ュ満鎸囦护 锛堢紦瀛樿揣鏋讹級
+        int code = agvWrkMastService.containerMoveIn(agvWrkMastList);
 
         if(code == 0){
-            agvWrkMastList.forEach(agvWrkMast -> {
+            for(AgvWrkMast agvWrkMast : agvWrkMastList){
+                //涓嬪彂瀹瑰櫒杈惧埌閫氱煡 锛堣緭閫佺嚎锛�
+                if("Y".equals(agvWrkMast.getMk())){
+                    int containerArrivedCode = agvWrkMastService.containerArrived(agvWrkMast);
+                    if(containerArrivedCode != 0){
+                        log.error("瀹瑰櫒鍒拌揪鎸囦护涓嬪彂澶辫触");
+                        continue;
+                    }
+                }
+
                 //202.RCS鍙栬揣涓�
                 agvWrkMast.setWrkSts(202L);
                 agvWrkMastService.updateById(agvWrkMast);
@@ -151,9 +166,7 @@
                     //淇敼AGV鍏ュ簱閫氱煡妗g姸鎬佸叆鍑虹姸鎬佷负Y
                     agvWaitPakinService.updateIoStatus(agvWrkMast.getWrkNo(),"Y");
                 }
-
-            });
-            //agvWrkMastService.updateBatchById(agvWrkMastList);
+            }
 
             return SUCCESS;
         }
@@ -178,6 +191,21 @@
         return FAIL;
     }
 
+    public ReturnT<String> dealWatiWrk(List<AgvWrkMast> agvWrkMastList) throws IOException {
+
+        agvWrkMastList.forEach(agvWrkMast -> {
+            //瀵绘壘绌虹珯鐐逛綅缃�
+            AgvBasDevp agvBasDevp = agvBasDevpService.selectEmptyDevpByStation(agvWrkMast.getLocNo());
+            if(!Cools.isEmpty(agvBasDevp)){
+                agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvBasDevp.getDevNo(),"S",null);
+                agvWrkMast.setLocNo(agvBasDevp.getDevNo());
+                agvWrkMastService.updateById(agvWrkMast);
+            }
+        });
+
+        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