From 26e01b3be27f13ee189c491e8d9ef333980a0c57 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期日, 16 三月 2025 12:42:08 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/asrs/utils/RouteUtils.java | 222 +++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 199 insertions(+), 23 deletions(-)
diff --git a/src/main/java/com/zy/asrs/utils/RouteUtils.java b/src/main/java/com/zy/asrs/utils/RouteUtils.java
index aa66a4e..fdcc2e0 100644
--- a/src/main/java/com/zy/asrs/utils/RouteUtils.java
+++ b/src/main/java/com/zy/asrs/utils/RouteUtils.java
@@ -12,7 +12,7 @@
public class RouteUtils {
public static final List<Integer> MERGE_STA_NO_One = new ArrayList<Integer>() {{
- add(116);add(117);
+ add(171);add(116);add(117);
}};
public static final List<Integer> MERGE_STA_NO_TWO = new ArrayList<Integer>() {{
@@ -28,16 +28,58 @@
}};
public static final List<Integer> MERGE_STA_NO_FIVE = new ArrayList<Integer>() {{
- add(113);add(123);add(114);add(1142);
+ add(104);add(122);add(105);
}};
+
+ public static final List<Integer> MERGE_STA_NO_SIX = new ArrayList<Integer>() {{
+ add(108);add(119);add(110);add(120);
+ }};
+
+ public static final List<Integer> MERGE_STA_NO_SEVEN = new ArrayList<Integer>() {{
+
+ }};
+
+ public static final List<Integer> MERGE_STA_NO_EIGHT = new ArrayList<Integer>() {{
+
+ }};
+
+ public static final List<Integer> MERGE_STA_NO_NINE = new ArrayList<Integer>() {{
+
+ }};
+
+ // 姝e簭
+ public static final List<Integer> TRACK_POSITION_POSITIVE_SEQUENCE1 = new ArrayList<Integer>() {{
+ add(101);add(102);add(104);add(122);add(105);add(107);add(118);add(108);
+ }};
+ // 鍙嶅簭
+ public static final List<Integer> TRACK_POSITION_REVERSE_SEQUENCE2 = new ArrayList<Integer>() {{
+ add(117);add(116);add(171);add(1142);add(114);add(123);add(113);add(121);add(111);add(120);add(110);
+ }};
+
+ public static Integer getEndRoute(Integer endRoute,Integer rgvNo){
+ if (rgvNo == 1){
+ if (TRACK_POSITION_POSITIVE_SEQUENCE1.contains(endRoute)){
+ return endRoute;
+ } else {
+ return 108;
+ }
+ } else if (rgvNo == 2){
+ if (TRACK_POSITION_REVERSE_SEQUENCE2.contains(endRoute)){
+ return endRoute;
+ } else {
+ return 110;
+ }
+ }
+ return endRoute;
+ }
// 姝e簭
public static final List<Integer> TRACK_POSITION_POSITIVE_SEQUENCE = new ArrayList<Integer>() {{
- add(101);add(102);add(104);add(122);add(105);add(107);add(118);add(108);add(119);add(110);add(120);add(111);add(121);add(113);add(123);add(114);add(1142);add(116);add(117);
+ add(101);add(102);add(104);add(122);add(105);add(107);add(118);add(108);add(119);add(110);add(120);add(111);add(121);add(113);add(123);add(114);add(1142);add(171);add(116);add(117);
}};
// 鍙嶅簭
public static final List<Integer> TRACK_POSITION_REVERSE_SEQUENCE = new ArrayList<Integer>() {{
- add(117);add(116);add(1142);add(114);add(113);add(123);add(121);add(111);add(120);add(110);add(119);add(108);add(107);add(118);add(105);add(104);add(122);add(102);add(101);
+ add(117);add(116);add(171);add(1142);add(114);add(123);add(113);add(121);add(111);add(120);add(110);add(119);add(108);add(118);add(107);add(105);add(122);add(104);add(102);add(101);
}};
public static String zerofill(String msg, Integer count){
@@ -53,30 +95,121 @@
return msgBuilder.toString();
}
}
+// /*
+// * 鑾峰彇骞叉秹鏈�杩滅珯鐐�
+// * */
+// public static Integer RouteIndexFarMas(int rgvNo,Integer staNo){
+// List<Integer> staFall = new ArrayList<>();
+// if (MERGE_STA_NO_SIX.contains(staNo)){
+// staFall = MERGE_STA_NO_SIX;
+// }else if (MERGE_STA_NO_One.contains(staNo)){
+// staFall = MERGE_STA_NO_One;
+// }else if (MERGE_STA_NO_TWO.contains(staNo)){
+// staFall = MERGE_STA_NO_TWO;
+// }else if (MERGE_STA_NO_THREE.contains(staNo)){
+// staFall = MERGE_STA_NO_THREE;
+// }else if (MERGE_STA_NO_FOUR.contains(staNo)){
+// staFall = MERGE_STA_NO_FOUR;
+// }else if (MERGE_STA_NO_FIVE.contains(staNo)){
+// staFall = MERGE_STA_NO_FIVE;
+// }else {
+// return staNo;
+// }
+//
+// int indexNo = 0;
+// if (rgvNo==1){
+// indexNo=staFall.size()-1;
+// }
+// return staFall.get(indexNo);
+// }
+
/*
* 鑾峰彇骞叉秹鏈�杩滅珯鐐�
* */
public static Integer RouteIndexFarMas(int rgvNo,Integer staNo){
- List<Integer> staFall = new ArrayList<>();
- if (MERGE_STA_NO_One.contains(staNo)){
- staFall = MERGE_STA_NO_One;
- }else if (MERGE_STA_NO_TWO.contains(staNo)){
- staFall = MERGE_STA_NO_TWO;
- }else if (MERGE_STA_NO_THREE.contains(staNo)){
- staFall = MERGE_STA_NO_THREE;
- }else if (MERGE_STA_NO_FOUR.contains(staNo)){
- staFall = MERGE_STA_NO_FOUR;
- }else {
- return staNo;
- }
-
- int indexNo = 0;
if (rgvNo==1){
- indexNo=staFall.size()-1;
+ switch (staNo){
+ case 101:
+ case 102: return 102;
+ case 104:
+ case 122: return 118;
+ case 105: return 119;
+ case 107:
+ case 118: return 108;
+ case 108:
+ case 119: return 111;
+ case 110:
+ case 120: return 113;
+ case 111:
+ case 121: return 113;
+ case 113: return 114;
+ case 123:
+ case 114: return 1142;
+ default:
+ return 116;
+ }
+ }else {
+ switch (staNo){
+ case 117:
+ case 116:
+ case 171:
+ return 1142;
+ case 1142:
+ case 114: return 113;
+ case 123:
+ case 113: return 111;
+ case 121: return 110;
+ case 111: return 110;
+ case 120:
+ case 110: return 108;
+ case 119:
+ case 108: return 107;
+ case 118:
+ case 107: return 105;
+ case 105:
+ case 122:
+ case 104: return 104;
+ default:
+ return 102;
+ }
}
- return staFall.get(indexNo);
}
-
+ /*
+ * 鑾峰彇骞叉秹鏈�杩滅珯鐐�
+ * */
+ public static Integer RouteIndexFarMasL(int rgvNo,Integer staNo){
+ if (rgvNo==1){
+ switch (staNo){
+ case 101:
+ case 102:
+ case 104:
+ case 122:
+ case 105:
+ case 107:
+ return 118;
+ case 118:
+ return staNo;
+ default:
+ return 108;
+ }
+ }else {
+ switch (staNo){
+ case 117:
+ case 116:
+ case 171:
+ case 1142:
+ case 114:
+ case 123:
+ case 113:
+ case 121:
+ return 121;
+ case 111:
+ return staNo;
+ default:
+ return 110;
+ }
+ }
+ }
// 鑾峰彇褰撳墠灏忚溅鏈璧扮殑璺嚎闆嗗悎
public static List<Integer> getRoute(Integer groupStart,Integer groupEnd){
@@ -112,6 +245,49 @@
* 鑾峰彇鏈�杩滅珯鐐�
* */
public static Integer RouteIndexFarMas(Integer a,Integer b,Integer c,Integer d){
+ int ia = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(a);
+ int ib = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(b);
+ int ic = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(c);
+ int id = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(d);
+ if (id==0){
+ if (ia>ib){
+ if (ia>ic){
+ return a;
+ }else {
+ return c;
+ }
+ }else {
+ if (ib>ic){
+ return b;
+ }else {
+ return c;
+ }
+ }
+ }else {
+ if (ia<ib){
+ if (ia<ic){
+ return a;
+ }else {
+ return c;
+ }
+ }else {
+ if (ib<ic){
+ return b;
+ }else {
+ return c;
+ }
+ }
+ }
+ }
+
+ /*
+ * 鑾峰彇鏈�杩滅珯鐐�
+ * a:褰撳墠浣嶇疆
+ * b:寮�濮嬩綅缃�
+ * c:缁撴潫浣嶇疆
+ * d:閿佸紑濮嬩綅缃�
+ * */
+ public static Integer RouteIndexFarMasNew(Integer a,Integer b,Integer c,Integer d){
int ia = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(a);
int ib = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(b);
int ic = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(c);
@@ -296,8 +472,8 @@
return 105;
case 7:
case 8:
- return 118;
case 9:
+ return 118;
case 10:
case 11:
return 119;
@@ -356,8 +532,8 @@
case 14:
return 120;
case 15:
- return 110;
case 16:
+ return 110;
case 17:
case 18:
return 119;
--
Gitblit v1.9.1