From 5e4d17f6a07256743a7708d8a3f5ee63fddbb040 Mon Sep 17 00:00:00 2001
From: tqs <56479841@qq.com>
Date: 星期五, 31 五月 2024 09:16:49 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java |   84 ++++++++++++++++++++++++++---------------
 1 files changed, 53 insertions(+), 31 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 dc3328c..b2f16b9 100644
--- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -70,9 +70,11 @@
         agvWrkMastService.updateById(agvWrkMast);
         // 绌烘澘鍏ュ簱 璁剧疆搴撲綅鐘舵�佷负D.绌烘《/绌烘爤鏉�
         String locSts = agvWrkMast.getIoType() == 10 ? "D" : "F";
-        if (agvWrkMast.getIoType() == 10 || agvWrkMast.getIoType() == 109) {
-            if (agvWrkMast.getIoType() == 109 && agvWrkMast.getLocNo().substring(0,2).equals("DB")) {
-                agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(),"R",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+        if (agvWrkMast.getIoType() == 10 || agvWrkMast.getIoType() == 109 || agvWrkMast.getIoType() == 111 ) {
+            // 搴撲綅 -- 鎺ラ┏浣� / 搴撲綅
+            if ((agvWrkMast.getIoType() == 109 || agvWrkMast.getIoType() == 111) && agvWrkMast.getLocNo().substring(0,2).equals("DB")) {
+                agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+            // 鎺ラ┏浣� -- 搴撲綅
             } else {
                 agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"D",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
             }
@@ -80,10 +82,13 @@
             agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
         }
 
-        //鐢熸垚AGV宸ヤ綔鍘嗗彶妗�
-        agvWrkMastLogService.save(agvWrkMast);
-        //鐢熸垚AGV宸ヤ綔鏄庣粏鍘嗗彶妗�
-        agvWrkDetlLogService.save(wrkNo);
+        if (agvWrkMast.getIoType() != 111) {
+            //鐢熸垚AGV宸ヤ綔鍘嗗彶妗�
+            agvWrkMastLogService.save(agvWrkMast);
+            //鐢熸垚AGV宸ヤ綔鏄庣粏鍘嗗彶妗�
+            agvWrkDetlLogService.save(wrkNo);
+        }
+
         //绫诲瀷涓哄叆搴撴椂
         if(agvWrkMast.getIoType() == 1){
             //鏇存柊鐩爣搴撲綅鏄庣粏
@@ -111,23 +116,36 @@
             agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue(),"",(short)0);
         }
 
-        if(agvWrkMast.getIoType() == 109){
-            //淇敼婧愬簱浣嶇姸鎬佷负O
-            agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue(),"",(short)0);
-            // 鏂板缓宸ヤ綔妗�
-            Date now = new Date();
-            createWrkMast(109, 201L, agvWrkMast.getLocNo(), "", agvWrkMast.getBarcode(), now, 9527L, agvWrkMast.getWhsType(), 0);
+        if(agvWrkMast.getIoType() == 109 || agvWrkMast.getIoType() == 111 || agvWrkMast.getIoType() == 112){
+            // 鎺ラ┏浣� -- 搴撲綅
+            if (agvWrkMast.getSourceLocNo().substring(0,2).equals("DB")) {
+                agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",(short)0);
+            // 搴撲綅 -- 鎺ラ┏浣� / 搴撲綅
+            } else {
+                //淇敼婧愬簱浣嶇姸鎬佷负O
+                agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue(),"",(short)0);
+            }
         }
+
+        if(agvWrkMast.getIoType() == 113){
+            // 鎺ラ┏浣� -- 搴撲綅
+            if (agvWrkMast.getSourceLocNo().substring(0,2).equals("DB")) {
+                agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",(short)0);
+            }
+        }
+
         if (agvWrkMast.getIoType() == 58) {
             agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue());
         }
 
 
 
-        //鍒犻櫎AGV宸ヤ綔妗�
-        agvWrkMastService.deleteById(wrkNo);
-        //鍒犻櫎AGV宸ヤ綔鏄庣粏妗�
-        agvWrkDetlService.delete(new EntityWrapper<AgvWrkDetl>().eq("wrk_no",wrkNo));
+        if (agvWrkMast.getIoType() != 111) {
+            //鍒犻櫎AGV宸ヤ綔妗�
+            agvWrkMastService.deleteById(wrkNo);
+            //鍒犻櫎AGV宸ヤ綔鏄庣粏妗�
+            agvWrkDetlService.delete(new EntityWrapper<AgvWrkDetl>().eq("wrk_no",wrkNo));
+        }
 
         if(!isJSON(orderNo)){
             //妫�鏌ヨ鍗曟槸鍚﹀凡瀹屾垚
@@ -232,20 +250,24 @@
     @Synchronized
     public ReturnT<String> startPutWayWrk(AgvWrkMast agvWrkMast) throws IOException {
 
-        //涓嬪彂浠诲姟
-        int startWrkCode = agvWrkMastService.startWrk(agvWrkMast);
-        if(startWrkCode != 0){
-            throw new CoolException("浠诲姟涓嬪彂澶辫触");
-        }
+        try{
+            //涓嬪彂浠诲姟
+            int startWrkCode = agvWrkMastService.startWrk(agvWrkMast);
+            if(startWrkCode != 0){
+                throw new CoolException("浠诲姟涓嬪彂澶辫触");
+            }
 
-        agvWrkMast.setWrkSts(202L);
-        agvWrkMastService.updateById(agvWrkMast);
-        if(agvWrkMast.getIoType() == 1){
-            //淇敼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");
+            }
+            return SUCCESS;
+        }catch (Exception e){
+            log.error(e.getMessage());
         }
-        return SUCCESS;
-
+        return FAIL;
     }
 
     @Transactional
@@ -365,9 +387,9 @@
         wrkMast.setSourceLocNo(sourceLocNo);
         //鐩爣绔欑偣
         wrkMast.setLocNo(locNo);
-        //瀹瑰櫒缂栫爜
+        //璐ф灦缂栫爜
         wrkMast.setBarcode(barcode);
-        //瀹瑰櫒绫诲瀷
+        //璐ф灦绫诲瀷
         wrkMast.setWhsType(containerType);
         // 鐩爣妤煎眰
         wrkMast.setCrnNo(floor);

--
Gitblit v1.9.1