From 9784ec36b190d0f0103b42059585d04ea0b10745 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期一, 22 九月 2025 13:33:17 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   68 ++++++++++++++++++++++++++++-----
 1 files changed, 57 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index d5f05ac..ba96987 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -3218,16 +3218,18 @@
 
             // 鍙湁褰揜GV绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛�
             if ((rgvProtocol.getStatusType1() == RgvStatusType.IDLE || rgvProtocol.getStatusType2() == RgvStatusType.IDLE)
-                    && rgvProtocol.getModeType() == RgvModeType.AUTO
+//                    && rgvProtocol.getModeType() == RgvModeType.AUTO
                     && rgvThread.isPakMk()) {
                 News.warnNoLog(""+mark+" - 0"+" - 寮�濮嬫墽琛孯GV鍏ュ嚭搴撲綔涓氫笅鍙�");
                 // 濡傛灉鏈�杩戜竴娆℃槸鍏ュ簱妯″紡
+//                rgvRunWrkMastInTest();
+
                 if (rgvProtocol.getLastIo().equals("I")) {
-                    if (basRgv.getInEnable().equals("Y") && rgvThread.isPakIn()) {
+                    if (basRgv.getInEnable().equals("1") && rgvThread.isPakIn()) {
                         //mark - 1 - ....
                         this.rgvRunWrkMastIn(rgv, rgvProtocol,mark); //  鍏ュ簱
                         rgvProtocol.setLastIo("O");
-                    } else if (basRgv.getOutEnable().equals("Y") && rgvThread.isPakOut()) {
+                    } else if (basRgv.getOutEnable().equals("1") && rgvThread.isPakOut()) {
                         //mark - 2 - ....
                         this.rgvRunWrkMastOut(rgv, rgvProtocol,mark); //  鍑哄簱
                         rgvProtocol.setLastIo("I");
@@ -3235,10 +3237,10 @@
                 }
                 // 濡傛灉鏈�杩戜竴娆℃槸鍑哄簱妯″紡
                 else if (rgvProtocol.getLastIo().equals("O")) {
-                    if (basRgv.getOutEnable().equals("Y") && rgvThread.isPakOut()) {
+                    if (basRgv.getOutEnable().equals("1") && rgvThread.isPakOut()) {
                         this.rgvRunWrkMastOut(rgv, rgvProtocol,mark); //  鍑哄簱
                         rgvProtocol.setLastIo("I");
-                    } else if (basRgv.getInEnable().equals("Y") && rgvThread.isPakIn()) {
+                    } else if (basRgv.getInEnable().equals("1") && rgvThread.isPakIn()) {
                         this.rgvRunWrkMastIn(rgv, rgvProtocol,mark); //  鍏ュ簱
                         rgvProtocol.setLastIo("O");
                     }
@@ -3259,6 +3261,44 @@
                 rgvOutExecute();
 
             }
+        }
+    }
+    public synchronized void rgvRunWrkMastInTest(){
+        BasRgvMap basRgvMap = basRgvMapMapper.selectById(1);
+        List<Integer> route = RouteUtils.getRoute(basRgvMap.getStartRoute(), basRgvMap.getEndRoute());
+        basRgvMap.setNowRoute(1031); //鏇存柊灏忚溅褰撳墠浣嶇疆绔欑偣鍙�
+        WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(342);//鏍规嵁绔欑偣宸ヤ綔鍙峰拰灏忚溅宸ヤ綔鑼冨洿妫�绱换鍔℃。
+
+//        WrkMastSta wrkMastSta2 = wrkMastStaMapper.selectByWorkSta(2, 1);
+        boolean result = false;
+//        if(wrkMastSta2 != null && rgvProtocol.getRgvNo() == 1){ //璺濈璁$畻   2妤煎崟鍏ュ簱鍙d笉闇�瑕佽绠�
+//            result = rgvCalcDistance((int) rgvProtocol.getRgvNo(),wrkMastSta2.getStaEnd(),wrkMastSta.getStaStart());//宸ヤ綅2鏀捐揣绔欑偣锛屽伐浣�1鍙栬揣绔欑偣
+//        }
+//        if(result){//鑻ュ皬杞﹁窛绂绘斁璐х偣璺濈杩戜簬鍙栬揣鐐瑰垯璺宠繃鍙栬揣 true璺宠繃鍙栬揣/false浼樺厛鍙栬揣
+//            rgvThread.setPakRgv(false);
+//            continue;
+//        }
+        wrkMastSta.setWorkSta(1);
+        wrkMastSta.setRgvNo(1);
+        wrkMastSta.setStaStart(1031);
+        Short direction = 2;//鍙屽伐浣嶆渶缁堟姷杈句綅缃�
+        boolean sign = false;
+        sign = rgvTakeFullAll(basRgvMap.getRgvNo(), wrkMastSta,direction); //鍛戒护涓嬪彂
+        if (sign){
+            wrkMastSta.setWrkSts(1);
+            try{
+                wrkMastStaMapper.updateById(wrkMastSta);
+                log.error("鏇存柊灏忚溅浠诲姟鎴愬姛");
+            }catch (Exception e){
+                log.error("鏇存柊灏忚溅浠诲姟澶辫触");
+            }
+//            rgvThread.setPakOut(false);//鍑哄簱涓嶅厑璁�
+            boolean signMap = rgvMapUpdate(basRgvMap, wrkMastSta.getStaStart(), wrkMastSta.getStaEnd(),"2526");
+            if (!signMap){
+                log.error("璐х墿鎼繍浠诲姟锛氬伐浣滃彿{}鎵�灞炰换鍔′笅鍙戝悗鍦板浘鍚屾澶辫触",wrkMastSta.getWrkNo());
+            }
+        } else {
+            log.error("宸ヤ綔鍙穥}鎵�灞炰换鍔′笅鍙戝け璐�",wrkMastSta.getWrkNo());
         }
     }
     /**
@@ -3920,7 +3960,8 @@
                     rgvCommand.setTaskStatus2(RgvTaskStatusType.X_MOVE); // 宸ヤ綅2浠诲姟妯″紡:  鍙栨斁璐�
                     rgvCommand.setEndStaNo2(wrkMastSta.getWrkEnd());   //宸ヤ綅2 鏀捐揣鍚庤鍘荤殑浣嶇疆
                     rgvCommand.setTargetPosition1(wrkMastSta.getStaStart());   //宸ヤ綅2鐩爣绔欑偣
-                    rgvCommand.setDirection2(direction);
+//                    rgvCommand.setDirection1((short) 2);
+//                    rgvCommand.setWrkTaskMove2(direction);
                     rgvCommand.setCommand(true);   //宸ヤ綅1浠诲姟纭
                     pakIn1 = false;
                 }else{  //鍏ュ簱RGV鍙栬揣琛岃蛋
@@ -3929,11 +3970,12 @@
                     rgvCommand.setTaskStatus1(RgvTaskStatusType.X_MOVE); // 宸ヤ綅1浠诲姟妯″紡:  鍙栨斁璐�
                     rgvCommand.setEndStaNo1(wrkMastSta.getWrkEnd());   //宸ヤ綅1 鏀捐揣鍚庤鍘荤殑浣嶇疆
                     rgvCommand.setTargetPosition1(wrkMastSta.getStaStart());   //宸ヤ綅1鐩爣绔欑偣
-                    rgvCommand.setDirection1(direction);
+//                    rgvCommand.setDirection1((short) 1);
+//                    rgvCommand.setDirection1(direction);
                     rgvCommand.setCommand(true);   //宸ヤ綅1浠诲姟纭
                 }
                 if(!pakIn1){
-                    if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(4, rgvCommand))) {
+                    if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(5, rgvCommand))) {
                         //step=2,宸ヤ綅1銆�2鍐欎换鍔★紱   step=4锛屽伐浣�1鍐欎换鍔★紱     step=5锛屽伐浣�2鍐欎换鍔�
                         log.error("RGV鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvId, JSON.toJSON(rgvCommand));
                         return false;
@@ -3941,7 +3983,7 @@
                         return true;
                     }
                 }else{
-                    if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(5, rgvCommand))) {
+                    if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(4, rgvCommand))) {
                         //step=2,宸ヤ綅1銆�2鍐欎换鍔★紱   step=4锛屽伐浣�1鍐欎换鍔★紱     step=5锛屽伐浣�2鍐欎换鍔�
                         log.error("RGV鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvId, JSON.toJSON(rgvCommand));
                         return false;
@@ -3957,7 +3999,8 @@
                     rgvCommand.setTaskStatus2(RgvTaskStatusType.FETCH); // 宸ヤ綅2浠诲姟妯″紡:  鍙栨斁璐�
                     rgvCommand.setEndStaNo2(wrkMastSta.getWrkEnd());   //宸ヤ綅2 鏀捐揣鍚庤鍘荤殑浣嶇疆
                     rgvCommand.setTargetPosition1(wrkMastSta.getStaStart());   //宸ヤ綅2鐩爣绔欑偣
-                    rgvCommand.setDirection2(direction);
+                    rgvCommand.setDirection1((short)2);
+                    rgvCommand.setWrkTaskMove2(direction);
                     rgvCommand.setCommand(true);   //宸ヤ綅1浠诲姟纭
                     pakIn1 = false;
                 }else{  //鍏ュ簱RGV鍙栬揣
@@ -3966,7 +4009,8 @@
                     rgvCommand.setTaskStatus1(RgvTaskStatusType.FETCH); // 宸ヤ綅1浠诲姟妯″紡:  鍙栨斁璐�
                     rgvCommand.setEndStaNo1(wrkMastSta.getWrkEnd());   //宸ヤ綅1 鏀捐揣鍚庤鍘荤殑浣嶇疆
                     rgvCommand.setTargetPosition1(wrkMastSta.getStaStart());   //宸ヤ綅1鐩爣绔欑偣
-                    rgvCommand.setDirection1(direction);
+                    rgvCommand.setDirection1((short)1);
+                    rgvCommand.setWrkTaskMove1(direction);
                     rgvCommand.setCommand(true);   //宸ヤ綅1浠诲姟纭
                 }
                 if(!pakIn1){
@@ -3994,6 +4038,7 @@
                     rgvCommand.setTaskStatus2(RgvTaskStatusType.PUT); // 宸ヤ綅2浠诲姟妯″紡:  鏀捐揣
                     rgvCommand.setEndStaNo2(wrkMastSta.getWrkEnd());   //宸ヤ綅2 鏀捐揣鍚庤鍘荤殑浣嶇疆
                     rgvCommand.setTargetPosition1(wrkMastSta.getStaEnd());   //宸ヤ綅2鐩爣绔欑偣
+                    rgvCommand.setDirection1((short)2);
                     rgvCommand.setCommand(true);   //宸ヤ綅1浠诲姟纭
                     pakIn2 = false;
                 }else{  //宸ヤ綅1浠诲姟鏀捐揣
@@ -4002,6 +4047,7 @@
                     rgvCommand.setTaskStatus1(RgvTaskStatusType.PUT); // 宸ヤ綅1浠诲姟妯″紡:  鏀捐揣
                     rgvCommand.setEndStaNo1(wrkMastSta.getWrkEnd());   //宸ヤ綅1 鏀捐揣鍚庤鍘荤殑浣嶇疆
                     rgvCommand.setTargetPosition1(wrkMastSta.getStaEnd());   //宸ヤ綅1鐩爣绔欑偣
+                    rgvCommand.setDirection1((short)1);
                     rgvCommand.setCommand(true);   //宸ヤ綅1浠诲姟纭
                 }
                 if(!pakIn2){

--
Gitblit v1.9.1