From 22a623b08a221984b8eb960af9a83484418a26b9 Mon Sep 17 00:00:00 2001
From: L <L@132>
Date: 星期四, 05 三月 2026 15:42:55 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/core/thread/RgvThread.java | 26 ++++++++++++-
src/main/java/com/zy/core/cache/TaskProtocolCache.java | 38 +++++++++++++++++++
2 files changed, 62 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/zy/core/cache/TaskProtocolCache.java b/src/main/java/com/zy/core/cache/TaskProtocolCache.java
index dcba42f..df3141f 100644
--- a/src/main/java/com/zy/core/cache/TaskProtocolCache.java
+++ b/src/main/java/com/zy/core/cache/TaskProtocolCache.java
@@ -138,6 +138,44 @@
/**
* 鏌ヨ鏄惁鏈夊彲鎵ц浠诲姟
*/
+ public TaskProtocol getNowPosRunTask3(Long targetPosition) {
+// lock.readLock().lock(); // 鍔犺閿�
+ try {
+ for (TaskProtocol task : cache.values()) {
+ if (task.getTaskStatus()==1) {
+ long runPos = Math.abs(task.getTargetPosition() - targetPosition);
+ if (runPos<50) {
+ return task;
+ }
+ return null;
+ }
+ }
+ for (TaskProtocol task : cache.values()) {
+ if (task.getTaskStatus()==2) {
+ long runPos = Math.abs(task.getTargetPosition() - targetPosition);
+ if (runPos<50) {
+ return task;
+ }
+ return null;
+ }
+ }
+ for (TaskProtocol task : cache.values()) {
+ if (task.getTaskStatus()==3) {
+ long runPos = Math.abs(task.getTargetPosition() - targetPosition);
+ if (runPos<50) {
+ return task;
+ }
+ return null;
+ }
+ }
+ return null; // 杩斿洖鍓湰
+ } finally {
+// lock.readLock().unlock(); // 閲婃斁璇婚攣
+ }
+ }
+ /**
+ * 鏌ヨ鏄惁鏈夊彲鎵ц浠诲姟
+ */
public TaskProtocol getNowPosRunTask(Long targetPosition) {
// lock.readLock().lock(); // 鍔犺閿�
try {
diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java
index 9744012..0eb2902 100644
--- a/src/main/java/com/zy/core/thread/RgvThread.java
+++ b/src/main/java/com/zy/core/thread/RgvThread.java
@@ -588,7 +588,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 +673,12 @@
}
}
signNowPosRun =false;
+ } else {
+ signNowPosRun =false;
}
+ }
+ if (new TrackRangeUtils().IsItSmall(slave)){
+ signNowPosRun = false;
}
} else {
long twoPos = Math.abs(nowPosRunTask2.getTargetPosition() - rgvProtocolOther.getRgvPos());
@@ -683,7 +688,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 +804,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 +891,12 @@
}
}
signNowPosRun =false;
+ } else {
+ signNowPosRun =false;
}
+ }
+ if (new TrackRangeUtils().IsItSmall(slave)){
+ signNowPosRun = false;
}
} else {
long twoPos = Math.abs(nowPosRunTask2.getTargetPosition() - rgvProtocolOther.getRgvPos());
@@ -890,8 +906,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