From 8ec08fe20c2cea6e4801b14ce59b144df03a277d Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期六, 19 十月 2024 15:16:14 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/asrs/utils/SortTheExecutionOfTheCarUtil.java | 112 +++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 98 insertions(+), 14 deletions(-)
diff --git a/src/main/java/com/zy/asrs/utils/SortTheExecutionOfTheCarUtil.java b/src/main/java/com/zy/asrs/utils/SortTheExecutionOfTheCarUtil.java
index 8ad735b..6a3dbf6 100644
--- a/src/main/java/com/zy/asrs/utils/SortTheExecutionOfTheCarUtil.java
+++ b/src/main/java/com/zy/asrs/utils/SortTheExecutionOfTheCarUtil.java
@@ -1,5 +1,6 @@
package com.zy.asrs.utils;
+import com.zy.asrs.entity.BasDevpPosition;
import com.zy.core.enums.RouteCollectCountType;
import java.util.Arrays;
@@ -27,33 +28,116 @@
}
return ints;
}
- //鎺掑簭
- public static int ReorderSteId2(int[][] steList,int steNoStart){
- int[][] ints = new int[steList.length][2];
- int Difference = 0;
- for (int[] steNo : steList){
- if (steNo[0] == steNoStart){
- Difference = steNo[1] - 1;
+
+ //鑾峰彇鏈�杩戝苟鍦ㄥ綋鍓嶄綅缃墠杈圭殑浣嶇疆
+ public static Integer LatelyAndLessThan(List<BasDevpPosition> devpPosition, long nowPosition){
+ Integer result = 0;
+ long Difference = 1737000L;
+ 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 - 1737000L)) < Difference){
+ Difference = nowPosition-(position - 1737000L);
+ result = positions.getDevNo();
+ }
+ }
+ }
+ return result;
+ }
+ //鑾峰彇鏈�杩戝苟鍦ㄥ綋鍓嶄綅缃墠杈圭殑浣嶇疆
+ public static Long LatelyAndLessThan(long[] devpPosition,long nowPosition){
+ long result = 0L;
+ long Difference = 1737000L;
+ for (long position : devpPosition){
+ if (position<=nowPosition){
+ if ((nowPosition-position) < Difference){
+ Difference = nowPosition-position;
+ result = position;
+ }
+ } else {
+ if ((nowPosition-(position - 1737000L)) < Difference){
+ Difference = nowPosition-(position - 1737000L);
+ result = position;
+ }
+ }
+ }
+ return result;
+ }
+
+ //id鍒濆鍖�
+ public static List<BasDevpPosition> devpNoInit(List<BasDevpPosition> devpPosition){
+ long i = 0;
+ for (BasDevpPosition basDevpPosition : devpPosition){
+ i++;
+ basDevpPosition.setId(i);
+ }
+ return devpPosition;
+ }
+
+
+ //绔欑偣鎺掑簭
+ public static BasDevpPosition[] devpNoSort(List<BasDevpPosition> devpPosition1,Integer devpNo){
+ List<BasDevpPosition> devpPosition = devpNoInit(devpPosition1);
+ BasDevpPosition[] basDevpPositions = new BasDevpPosition[devpPosition.size()];
+ long Difference = 0L;
+ for (BasDevpPosition basDevpPosition : devpPosition){
+ if (basDevpPosition.getDevNo().equals(devpNo)){
+ Difference = basDevpPosition.getId() - 1L;
break;
}
}
- for (int[] steNo : steList){
- int i = steNo[1];
+ for (BasDevpPosition basDevpPosition : devpPosition){
+ long i = basDevpPosition.getId();
if (i > Difference){
- steNo[1] = i - Difference;
+ basDevpPosition.setId(i - Difference);
} else {
- steNo[1] = steList.length + i-Difference;
+ basDevpPosition.setId(devpPosition.size() + i - Difference);
}
- ints[steNo[0]-1] = steNo;
+ basDevpPositions[basDevpPosition.getId().intValue()-1] = basDevpPosition;
}
- return 0;
+ return basDevpPositions;
}
+
+ //閫嗗簭鎺掑垪
+ public static BasDevpPosition[] devpNoSortUN(BasDevpPosition[] devpPosition){
+ BasDevpPosition[] basDevpPositions = new BasDevpPosition[devpPosition.length];
+ for (BasDevpPosition basDevpPosition : devpPosition){
+ basDevpPositions[devpPosition.length - basDevpPosition.getId().intValue()] = basDevpPosition;
+ }
+ return basDevpPositions;
+ }
+
+ //閫嗗簭鎺掑垪
+ public static boolean devpNoSortbj(BasDevpPosition[] devpPosition,Integer souDevpNo,Integer endDevpNo){
+ int sou = 0;
+ int end = 0;
+ for (int i = 0;i<devpPosition.length;i++){
+ if (devpPosition[i].getDevNo().equals(souDevpNo)){
+ sou = i;
+ }
+ if (devpPosition[i].getDevNo().equals(endDevpNo)){
+ end = i;
+ }
+ }
+
+ return sou>end;
+ }
+
public static void main(String[] args) {
- int[][] ints = new int[][]{{1,1},{2,2},{3,3},{4,4},{5,5},{6,6},{7,7},{8,8},{9,9},{10,10}};
+ int[][] ints = new int[][]{{1,1},{3,3},{2,2},{4,4},{5,5},{6,6},{7,7},{8,8},{9,9},{10,10}};
int[][] reorderSteId = ReorderSteId(ints, 2);
for (int[] ste : reorderSteId){
System.out.println(Arrays.toString(ste));
}
+
+ long[] longs = new long[]{1L,1000L,200000L,1100000L,1600000L};
+ long l = LatelyAndLessThan(longs, 1100000L);
+ System.out.println("l:"+l);
}
}
--
Gitblit v1.9.1