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 | 106 +++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 86 insertions(+), 20 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java
index f87315d..0eb2902 100644
--- a/src/main/java/com/zy/core/thread/RgvThread.java
+++ b/src/main/java/com/zy/core/thread/RgvThread.java
@@ -290,8 +290,14 @@
continue;
}
RgvRunProtocol rgvRun = RgvRunCache.getRgvRun();
- if (!rgvRun.getRgvNo().equals(slave.getId())){
- continue;
+ if (slave.getId()>2){
+ if (!rgvRun.getRgvNo2().equals(slave.getId())){
+ continue;
+ }
+ } else {
+ if (!rgvRun.getRgvNo().equals(slave.getId())){
+ continue;
+ }
}
try {
Thread.sleep(100);
@@ -299,14 +305,27 @@
// System.out.println(JSON.toJSON(rgvRun));
// 浼戠湢 1 绉�
- if (System.currentTimeMillis() - rgvRun.currentTimeMilliOld > 500L) {
- rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
- } else {
- continue;
+ if (slave.getId()>2){
+ if (System.currentTimeMillis() - rgvRun.currentTimeMilliOld2 > 500L) {
+ rgvRun.currentTimeMilliOld2 = System.currentTimeMillis()+50;
+ } else {
+ continue;
+ }
+ }else {
+ if (System.currentTimeMillis() - rgvRun.currentTimeMilliOld > 500L) {
+ rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
+ } else {
+ continue;
+ }
}
if (!deviceDetection()) {
- rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
- rgvRun.setRgvNo(slave.getOtherId());
+ if (slave.getId()>2){
+ rgvRun.currentTimeMilliOld2 = System.currentTimeMillis()+50;
+ rgvRun.setRgvNo2(slave.getOtherId());
+ } else {
+ rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
+ rgvRun.setRgvNo(slave.getOtherId());
+ }
RgvRunCache.updateRgvStatus(rgvRun);
if (!errorRgv.equals("鏃�")){
RgvErrCache.updateRgvErr(slave.getId(),errorRgv);
@@ -324,21 +343,36 @@
rgvTaskProtocol = RgvTaskCache.getRgvStatus(slave.getId());
}
if (!rgvProtocol.getStatusType().equals(RgvStatusType.IDLE) || (Math.abs(rgvProtocol.getRgvPos() - rgvProtocol.getRgvPosDestination())>100)){
- rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
- rgvRun.setRgvNo(slave.getOtherId());
+ if (slave.getId()>2){
+ rgvRun.currentTimeMilliOld2 = System.currentTimeMillis()+50;
+ rgvRun.setRgvNo2(slave.getOtherId());
+ } else {
+ rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
+ rgvRun.setRgvNo(slave.getOtherId());
+ }
RgvRunCache.updateRgvStatus(rgvRun);
continue;
}
if (rgvProtocol.getLoaded() == -1){
- rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
- rgvRun.setRgvNo(slave.getOtherId());
+ if (slave.getId()>2){
+ rgvRun.currentTimeMilliOld2 = System.currentTimeMillis()+50;
+ rgvRun.setRgvNo2(slave.getOtherId());
+ } else {
+ rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
+ rgvRun.setRgvNo(slave.getOtherId());
+ }
RgvRunCache.updateRgvStatus(rgvRun);
RgvErrCache.updateRgvErr(slave.getId(),"灏忚溅鎺㈢墿鐗╃姸鎬佸紓甯�");
continue;
}
if (rgvTaskProtocol.getAvoid() != 0) {
- rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
- rgvRun.setRgvNo(slave.getOtherId());
+ if (slave.getId()>2){
+ rgvRun.currentTimeMilliOld2 = System.currentTimeMillis()+50;
+ rgvRun.setRgvNo2(slave.getOtherId());
+ } else {
+ rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
+ rgvRun.setRgvNo(slave.getOtherId());
+ }
RgvRunCache.updateRgvStatus(rgvRun);
continue;
}
@@ -425,8 +459,13 @@
}
}
}
- rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
- rgvRun.setRgvNo(slave.getOtherId());
+ if (slave.getId()>2){
+ rgvRun.currentTimeMilliOld2 = System.currentTimeMillis()+50;
+ rgvRun.setRgvNo2(slave.getOtherId());
+ } else {
+ rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
+ rgvRun.setRgvNo(slave.getOtherId());
+ }
RgvRunCache.updateRgvStatus(rgvRun);
} catch (Exception e) {
log.error("RGV浠诲姟涓嬪彂绾跨▼寮傚父锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
@@ -437,8 +476,13 @@
// log.error("e2:"+e2.getMessage());
}
rgvRun = RgvRunCache.getRgvRun();
- rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
- rgvRun.setRgvNo(slave.getOtherId());
+ if (slave.getId()>2){
+ rgvRun.currentTimeMilliOld2 = System.currentTimeMillis()+50;
+ rgvRun.setRgvNo2(slave.getOtherId());
+ } else {
+ rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
+ rgvRun.setRgvNo(slave.getOtherId());
+ }
RgvRunCache.updateRgvStatus(rgvRun);
continue;
// e.printStackTrace();
@@ -544,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){
@@ -629,7 +673,12 @@
}
}
signNowPosRun =false;
+ } else {
+ signNowPosRun =false;
}
+ }
+ if (new TrackRangeUtils().IsItSmall(slave)){
+ signNowPosRun = false;
}
} else {
long twoPos = Math.abs(nowPosRunTask2.getTargetPosition() - rgvProtocolOther.getRgvPos());
@@ -639,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;
}
}
}
@@ -749,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){
@@ -836,7 +891,12 @@
}
}
signNowPosRun =false;
+ } else {
+ signNowPosRun =false;
}
+ }
+ if (new TrackRangeUtils().IsItSmall(slave)){
+ signNowPosRun = false;
}
} else {
long twoPos = Math.abs(nowPosRunTask2.getTargetPosition() - rgvProtocolOther.getRgvPos());
@@ -846,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