From 48790a2540295d8272629c693d77e214d163f826 Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期六, 26 十月 2024 17:19:56 +0800 Subject: [PATCH] * --- src/main/java/com/zy/asrs/utils/SortTheExecutionOfTheCarUtil.java | 86 +++++++++++++++++++++++++++++++++++------- 1 files changed, 71 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/zy/asrs/utils/SortTheExecutionOfTheCarUtil.java b/src/main/java/com/zy/asrs/utils/SortTheExecutionOfTheCarUtil.java index 93fbbfa..93316ad 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; } - //鑾峰彇鏈�杩戝苟鍦ㄥ綋鍓嶄綅缃墠杈圭殑浣嶇疆 +// //鑾峰彇鏈�杩戝苟鍦ㄥ綋鍓嶄綅缃墠杈圭殑浣嶇疆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 = 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 - perimeter)) < Difference){ - Difference = nowPosition-(position - perimeter); + if (perimeter - (nowPosition - position) < Difference){ + Difference = perimeter - (nowPosition - position); result = positions.getDevNo(); } } @@ -50,14 +70,29 @@ return result; } - //鑾峰彇鏈�杩戝苟鍦ㄥ綋鍓嶄綅缃悗杈圭殑浣嶇疆 +// //鑾峰彇鏈�杩戝苟鍦ㄥ綋鍓嶄綅缃悗杈圭殑浣嶇疆 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 = 0; + 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,15 +120,36 @@ // return result; // } - //鑾峰彇鏈�杩戝苟鍦ㄥ綋鍓嶄綅缃悗杈圭殑浣嶇疆 +// //鑾峰彇鏈�杩戝苟鍦ㄥ綋鍓嶄綅缃悗杈圭殑浣嶇疆 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 = 0; + 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 { -- Gitblit v1.9.1