From 7993b50ce6d99ba6abc6f979b3fece2490795fde Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期日, 11 五月 2025 15:16:13 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   34 +++++++++++++++++++++++++++++++++-
 1 files changed, 33 insertions(+), 1 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 ed4d6fb..3559858 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -463,7 +463,7 @@
                     // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
                     if (staProtocol.isAutoing() && staProtocol.isLoading()
 //                            && staProtocol.isInEnable()
-                            && (workNo == 0 || (workNo>9000 && workNo<10000))
+//                            && (workNo == 0 || (workNo>9000 && workNo<10000))
                             && staProtocol.isPakMkWalk()
                     ) {
                         if (inSta.isBarcodeSign()){
@@ -1372,6 +1372,32 @@
         }
         return true;
     }
+    public boolean rgvOtherIDLE(RgvSlave slave) {
+        RgvProtocol rgvProtocol = RgvStatusCache.getRgvStatus(slave.getId());
+        RgvTaskProtocol rgvTaskProtocol = RgvTaskCache.getRgvStatus(slave.getId());
+
+        if (rgvProtocol == null || rgvTaskProtocol == null) {
+            return false;
+        }
+        if (!rgvProtocol.getModeType().equals(RgvModeType.AUTO) || rgvProtocol.getRgvPos().equals(0L) || rgvTaskProtocol.getAvoid() == -1
+                || (!rgvProtocol.getStatusType().equals(RgvStatusType.IDLE) && !rgvProtocol.getStatusType().equals(RgvStatusType.ROAM))) {
+            return false;
+        }
+        RgvProtocol rgvProtocolOther = RgvStatusCache.getRgvStatus(slave.getOtherId());
+        RgvTaskProtocol rgvTaskProtocolOther = RgvTaskCache.getRgvStatus(slave.getOtherId());
+
+        if (rgvProtocolOther == null) {
+            return true;
+        }
+        if (rgvProtocolOther.statusEnable) {
+            if (rgvProtocolOther.getModeType().equals(RgvModeType.AUTO)
+                    && rgvProtocolOther.getStatusType().equals(RgvStatusType.IDLE)
+                    && rgvProtocolOther.getLoaded()==0) {
+                return false;
+            }
+        }
+        return true;
+    }
 
     public TaskWrk deviceDetection(RgvSlave.RgvStn inSta) {
 
@@ -1482,6 +1508,12 @@
                             }
                         }
 
+                        if (!sign){
+                            if (!rgvOtherIDLE(rgvSlave)){
+                                sign=true;
+                            }
+                        }
+
                         if (!sign) {
                             for (Integer staNoNow : rangeList) {
                                 for (RgvSlave.RgvStn rgvStn : rgvSlave.getRgvInSta()) {

--
Gitblit v1.9.1