From 92c572e50893a93a810bbe6adb6d3cdbfc225073 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期二, 20 五月 2025 14:17:33 +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