From c3434b1fe0132372b34ff0a46d84e6129a094bfc Mon Sep 17 00:00:00 2001
From: L <L@132>
Date: 星期四, 28 八月 2025 08:43:15 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/asrs/utils/TrackRangeUtils.java | 34 +++++++++++++++++++++++++++++++++-
1 files changed, 33 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/zy/asrs/utils/TrackRangeUtils.java b/src/main/java/com/zy/asrs/utils/TrackRangeUtils.java
index 2be2744..35648dc 100644
--- a/src/main/java/com/zy/asrs/utils/TrackRangeUtils.java
+++ b/src/main/java/com/zy/asrs/utils/TrackRangeUtils.java
@@ -23,7 +23,7 @@
RgvProtocol rgvProtocolOther = RgvStatusCache.getRgvStatus(slave.getOtherId());
RgvProtocol rgvProtocolE, rgvProtocolB;
- if (rgvProtocol.getRgvPos() < rgvProtocolOther.getRgvPos()) {
+ if (IsItSmall(slave)) {
rgvProtocolE = rgvProtocolOther;
rgvProtocolB = rgvProtocol;
} else {
@@ -42,6 +42,38 @@
}
+ public Long[][] avoidRangeArr(RgvSlave slave, Long trackEntireLength, Long trackBenchmark, Long avoidDistance) {
+ RgvProtocol rgvProtocol = RgvStatusCache.getRgvStatus(slave.getId());
+ RgvProtocol rgvProtocolOther = RgvStatusCache.getRgvStatus(slave.getOtherId());
+
+ RgvProtocol rgvProtocolE, rgvProtocolB;
+ if (IsItSmall(slave)) {
+ rgvProtocolE = rgvProtocolOther;
+ rgvProtocolB = rgvProtocol;
+
+ long entireLength = rgvProtocolE.getRgvPosDestination() - rgvProtocolE.getCarBodyJiaoMing() - avoidDistance - rgvProtocolB.getCarBodyKunPeng();
+ long benchmark = trackBenchmark + rgvProtocolB.getCarBodyJiaoMing();
+
+ long entireLengthOther = trackEntireLength - rgvProtocolE.getCarBodyKunPeng();
+ long benchmarkOther = rgvProtocolB.getRgvPosDestination() + rgvProtocolB.getCarBodyKunPeng() + avoidDistance + rgvProtocolE.getCarBodyJiaoMing();
+
+ return new Long[][]{new Long[]{entireLength, benchmark}, new Long[]{entireLengthOther, benchmarkOther}};
+
+ } else {
+ rgvProtocolE = rgvProtocol;
+ rgvProtocolB = rgvProtocolOther;
+
+ long entireLength = trackEntireLength - rgvProtocolE.getCarBodyKunPeng();
+ long benchmark = rgvProtocolB.getRgvPosDestination() + rgvProtocolB.getCarBodyKunPeng() + avoidDistance + rgvProtocolE.getCarBodyJiaoMing();
+
+ long entireLengthOther = rgvProtocolE.getRgvPosDestination() - rgvProtocolE.getCarBodyJiaoMing() - avoidDistance - rgvProtocolB.getCarBodyKunPeng();
+ long benchmarkOther = trackBenchmark + rgvProtocolB.getCarBodyJiaoMing();
+
+ return new Long[][]{new Long[]{entireLength, benchmark}, new Long[]{entireLengthOther, benchmarkOther}};
+ }
+
+ }
+
public boolean avoidRange(Long avoid, Long[] range) {
return avoid < range[0] && avoid > range[1];
}
--
Gitblit v1.9.1