From b3c2c6fa1fc80d7cd7e47bacf221157bb3d0e60c Mon Sep 17 00:00:00 2001
From: hmpc <hmpc>
Date: 星期一, 13 一月 2025 09:04:43 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/utils/SortTheExecutionOfTheCarUtil.java | 118 +++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 95 insertions(+), 23 deletions(-)
diff --git a/src/main/java/com/zy/asrs/utils/SortTheExecutionOfTheCarUtil.java b/src/main/java/com/zy/asrs/utils/SortTheExecutionOfTheCarUtil.java
index 1a45689..77a1873 100644
--- a/src/main/java/com/zy/asrs/utils/SortTheExecutionOfTheCarUtil.java
+++ b/src/main/java/com/zy/asrs/utils/SortTheExecutionOfTheCarUtil.java
@@ -29,20 +29,40 @@
return ints;
}
- //鑾峰彇鏈�杩戝苟鍦ㄥ綋鍓嶄綅缃墠杈圭殑浣嶇疆
- public static Integer LatelyAndLessThan(List<BasDevpPosition> devpPosition, long nowPosition){
+// //鑾峰彇鏈�杩戝苟鍦ㄥ綋鍓嶄綅缃墠杈圭殑浣嶇疆1000000===>10000==>0==>1000000
+// public static Integer LatelyAndLessThan(List<BasDevpPosition> devpPosition, long nowPosition,long perimeter){
+// Integer result = 0;
+// long Difference = perimeter;
+// for (BasDevpPosition positions : devpPosition){
+// Long position = positions.getPlcPosition();
+// if (position<=nowPosition){
+// if ((nowPosition-position) < Difference){
+// Difference = nowPosition-position;
+// result = positions.getDevNo();
+// }
+// } else {
+// if ((nowPosition-(position - perimeter)) < Difference){
+// Difference = nowPosition-(position - perimeter);
+// result = positions.getDevNo();
+// }
+// }
+// }
+// return result;
+// }
+ //鑾峰彇鏈�杩戝苟鍦ㄥ綋鍓嶄綅缃墠杈圭殑浣嶇疆 0==>1000===>1000000==>0
+ public static Integer LatelyAndLessThan(List<BasDevpPosition> devpPosition, long nowPosition,long perimeter){
Integer result = 0;
- long Difference = 1737000L;
+ long Difference = perimeter;
for (BasDevpPosition positions : devpPosition){
Long position = positions.getPlcPosition();
- if (position<=nowPosition){
- if ((nowPosition-position) < Difference){
- Difference = nowPosition-position;
+ if (position >= nowPosition){
+ if ((position-nowPosition) < Difference){
+ Difference = position-nowPosition;
result = positions.getDevNo();
}
} else {
- if ((nowPosition-(position - 1737000L)) < Difference){
- Difference = nowPosition-(position - 1737000L);
+ if (perimeter - (nowPosition - position) < Difference){
+ Difference = perimeter - (nowPosition - position);
result = positions.getDevNo();
}
}
@@ -50,14 +70,29 @@
return result;
}
- //鑾峰彇鏈�杩戝苟鍦ㄥ綋鍓嶄綅缃悗杈圭殑浣嶇疆
- public static Integer LatelyAndLessThanWcs(List<BasDevpPosition> devpPosition, long nowPosition){
- Integer result = 0;
- Integer integer = LatelyAndLessThan(devpPosition, nowPosition);
+// //鑾峰彇鏈�杩戝苟鍦ㄥ綋鍓嶄綅缃悗杈圭殑浣嶇疆 1000000===>10000==>0==>1000000
+// public static Integer LatelyAndLessThanWcs(List<BasDevpPosition> devpPosition, long nowPosition,long perimeter){
+// Integer result = 0;
+// Integer integer = LatelyAndLessThan(devpPosition, nowPosition,perimeter);
+// for (BasDevpPosition basDevpPosition:devpPosition){
+// if (basDevpPosition.getDevNo().equals(integer)){
+// if (basDevpPosition.getDevNo() == 101){
+// result = 133;
+// }
+// break;
+// }
+// result = basDevpPosition.getDevNo();
+// }
+// return result;
+// }
+ //鑾峰彇鏈�杩戝苟鍦ㄥ綋鍓嶄綅缃悗杈圭殑浣嶇疆 0==>1000===>1000000==>0
+ public static Integer LatelyAndLessThanWcs(List<BasDevpPosition> devpPosition, long nowPosition,long perimeter){
+ Integer result = -1;
+ Integer integer = LatelyAndLessThan(devpPosition, nowPosition,perimeter);
for (BasDevpPosition basDevpPosition:devpPosition){
if (basDevpPosition.getDevNo().equals(integer)){
- if (basDevpPosition.getDevNo() == 101){
- result = 133;
+ if (basDevpPosition.getDevNo() == 133){
+ result = 101;
}
break;
}
@@ -85,20 +120,41 @@
// return result;
// }
- //鑾峰彇鏈�杩戝苟鍦ㄥ綋鍓嶄綅缃悗杈圭殑浣嶇疆
- public static Integer LatelyAndGreaterThan(List<List<Long>> sitePosition, long nowPosition){
- int result = 0;
- long Difference = 1737000L;
+// //鑾峰彇鏈�杩戝苟鍦ㄥ綋鍓嶄綅缃悗杈圭殑浣嶇疆 1000000===>10000==>0==>1000000
+// public static Integer LatelyAndGreaterThan(List<List<Long>> sitePosition, long nowPosition ,long perimeter){
+// int result = 0;
+// long Difference = perimeter;
+// for (List<Long> rgvPositions: sitePosition){
+// Long position = rgvPositions.get(1);
+// if (position>nowPosition){
+// if ((position - nowPosition) < Difference){
+// Difference = position - nowPosition;
+// result = rgvPositions.get(0).intValue();
+// }
+// } else {
+// if ((perimeter - (nowPosition - position)) < Difference){
+// Difference = perimeter - (nowPosition - position);
+// result = rgvPositions.get(0).intValue();
+// }
+// }
+// }
+// return result;
+// }
+
+ //鑾峰彇鏈�杩戝苟鍦ㄥ綋鍓嶄綅缃悗杈圭殑浣嶇疆 0==>1000===>1000000==>0
+ public static Integer LatelyAndGreaterThan(List<List<Long>> sitePosition, long nowPosition ,long perimeter){
+ int result = -1;
+ long Difference = perimeter;
for (List<Long> rgvPositions: sitePosition){
Long position = rgvPositions.get(1);
- if (position>nowPosition){
- if ((position - nowPosition) < Difference){
- Difference = position - nowPosition;
+ if (position <= nowPosition){
+ if ((nowPosition - position) < Difference){
+ Difference = nowPosition - position;
result = rgvPositions.get(0).intValue();
}
} else {
- if ((1737000L - (nowPosition - position)) < Difference){
- Difference = 1737000L - (nowPosition - position);
+ if ((perimeter - (nowPosition - position)) < Difference){
+ Difference = perimeter - (nowPosition - position);
result = rgvPositions.get(0).intValue();
}
}
@@ -402,4 +458,20 @@
// }
+ //鑾峰彇鏈�杩戝苟鍦ㄥ綋鍓嶄綅缃墠杈圭殑浣嶇疆 0==>1000===>1000000==>0
+ public static Double LatelyAndLessThan(long devPosition,long rgvPosition,long perimeter){
+ long Difference = perimeter;
+ if (devPosition >= rgvPosition){
+ if ((devPosition-rgvPosition) < Difference){
+ Difference = devPosition-rgvPosition;
+ }
+ } else {
+ if (perimeter - (rgvPosition - devPosition) < Difference){
+ Difference = perimeter - (rgvPosition - devPosition);
+ }
+ }
+ return Double.valueOf(Difference);
+ }
+
+
}
--
Gitblit v1.9.1