From d635a99e20e207b40b16b8536c02a0b74df63c61 Mon Sep 17 00:00:00 2001
From: zzgtfwq <zzgtfwq>
Date: 星期一, 23 三月 2026 14:19:10 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/RgvThread.java |   27 +++++++++++++++++++++++++--
 1 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java
index 9744012..9b34b35 100644
--- a/src/main/java/com/zy/core/thread/RgvThread.java
+++ b/src/main/java/com/zy/core/thread/RgvThread.java
@@ -415,6 +415,7 @@
                                     RgvErrCache.updateRgvErr(slave.getId(),errorRgv);
                                     break;
                                 }
+                                Thread.sleep(1000);
                             }
                             if (taskProtocol.getTargetPosition()<=rgvProtocol.getRgvPos()+50
                                     && taskProtocol.getTargetPosition()>=rgvProtocol.getRgvPos()-50){
@@ -588,7 +589,7 @@
 
                     RgvThread rgvThreadOther = (RgvThread) SlaveConnection.get(SlaveType.Rgv, slave.getOtherId());
                     TaskProtocolCache taskProtocolCacheOther = rgvThreadOther.getTaskProtocolCache();
-                    TaskProtocol nowPosRunTask = taskProtocolCacheOther.getNowPosRunTask(rgvProtocolOther.getRgvPos());
+                    TaskProtocol nowPosRunTask = taskProtocolCacheOther.getNowPosRunTask3(rgvProtocolOther.getRgvPos());
                     if (!Cools.isEmpty(nowPosRunTask)){
                         boolean signNowPosRun = true;
                         if (nowPosRunTask.getTaskStatus()==3){
@@ -673,7 +674,12 @@
                                             }
                                         }
                                         signNowPosRun =false;
+                                    } else {
+                                        signNowPosRun =false;
                                     }
+                                }
+                                if (new TrackRangeUtils().IsItSmall(slave)){
+                                    signNowPosRun = false;
                                 }
                             } else {
                                 long twoPos = Math.abs(nowPosRunTask2.getTargetPosition() - rgvProtocolOther.getRgvPos());
@@ -683,7 +689,13 @@
                                 }
                                 if (Math.abs(onePos - twoPos)>100){
                                     if (onePos-50>twoPos+50){
+                                        signNowPosRun =true;
+                                    } else {
                                         signNowPosRun =false;
+                                    }
+                                } else {
+                                    if (new TrackRangeUtils().IsItSmall(slave)){
+                                        signNowPosRun = false;
                                     }
                                 }
                             }
@@ -793,7 +805,7 @@
                 } else {
                     RgvThread rgvThreadOther = (RgvThread) SlaveConnection.get(SlaveType.Rgv, slave.getOtherId());
                     TaskProtocolCache taskProtocolCacheOther = rgvThreadOther.getTaskProtocolCache();
-                    TaskProtocol nowPosRunTask = taskProtocolCacheOther.getNowPosRunTask(rgvProtocolOther.getRgvPos());
+                    TaskProtocol nowPosRunTask = taskProtocolCacheOther.getNowPosRunTask3(rgvProtocolOther.getRgvPos());
                     if (!Cools.isEmpty(nowPosRunTask)){
                         boolean signNowPosRun = true;
                         if (nowPosRunTask.getTaskStatus()==3){
@@ -880,7 +892,12 @@
                                             }
                                         }
                                         signNowPosRun =false;
+                                    } else {
+                                        signNowPosRun =false;
                                     }
+                                }
+                                if (new TrackRangeUtils().IsItSmall(slave)){
+                                    signNowPosRun = false;
                                 }
                             } else {
                                 long twoPos = Math.abs(nowPosRunTask2.getTargetPosition() - rgvProtocolOther.getRgvPos());
@@ -890,8 +907,14 @@
                                 }
                                 if (Math.abs(onePos - twoPos)>100){
                                     if (onePos-50>twoPos+50){
+                                        signNowPosRun =true;
+                                    } else {
                                         signNowPosRun =false;
                                     }
+                                } else {
+                                    if (new TrackRangeUtils().IsItSmall(slave)){
+                                        signNowPosRun = false;
+                                    }
                                 }
                             }
                         }

--
Gitblit v1.9.1