From 453289eef46cf688fafe2e4488d5e187c58debc5 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期一, 12 八月 2024 13:33:19 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/utils/RouteUtils.java | 417 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 336 insertions(+), 81 deletions(-)
diff --git a/src/main/java/com/zy/asrs/utils/RouteUtils.java b/src/main/java/com/zy/asrs/utils/RouteUtils.java
index 8c5be63..ea72548 100644
--- a/src/main/java/com/zy/asrs/utils/RouteUtils.java
+++ b/src/main/java/com/zy/asrs/utils/RouteUtils.java
@@ -14,27 +14,33 @@
public class RouteUtils {
public static final List<Integer> MERGE_STA_NO_One = new ArrayList<Integer>() {{
- add(116);add(117);
+// add(116);add(117);
+ add(104);add(122);
}};
public static final List<Integer> MERGE_STA_NO_TWO = new ArrayList<Integer>() {{
- add(113);add(123);add(114);add(1142);
+// add(113);add(123);add(114);add(1142);
+ add(107);add(118);
}};
public static final List<Integer> MERGE_STA_NO_THREE = new ArrayList<Integer>() {{
- add(107);add(118);add(108);add(119);
+// add(107);add(118);add(108);add(119);
+ add(108);add(119);
}};
public static final List<Integer> MERGE_STA_NO_FOUR = new ArrayList<Integer>() {{
- add(110);add(120);add(111);add(121);
+// add(110);add(120);add(111);add(121);
+ add(110);add(120);
}};
public static final List<Integer> MERGE_STA_NO_FIVE = new ArrayList<Integer>() {{
- add(104);add(122);add(105);
+// add(104);add(122);add(105);
+ add(111);add(121);
}};
public static final List<Integer> MERGE_STA_NO_SIX = new ArrayList<Integer>() {{
- add(108);add(119);add(110);add(120);
+// add(108);add(119);add(110);add(120);
+ add(113);add(123);add(114);
}};
public static final List<Integer> MERGE_STA_NO_SEVEN = new ArrayList<Integer>() {{
@@ -71,81 +77,308 @@
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_SIX.contains(staNo)){
+// staFall = MERGE_STA_NO_SIX;
+ if (rgvNo==1){
+ if (staNo==113){
+ return 123;
+ } else {
+ return 114;
+ }
+ }else {
+ if (staNo==114){
+ return 123;
+ } else {
+ return 113;
+ }
+ }
+ }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 RouteIndexFarMasOtherNear(int rgvNo,Integer staNo){
if (rgvNo==1){
switch (staNo){
- case 101:
- case 102: return 102;
+ case 117: return 116;
+ case 116: return 1142;
+ case 1142:
+ case 114: return 114;
+ case 123: return 113;
+ case 113: return 121;
+ case 121: return 111;
+ case 111: return 110;
+ case 120:
+ case 110: return 119;
+ case 119:
+ case 108: return 118;
+ case 118:
+ case 107: return 105;
+ case 105:
+ case 122: return 122;
+ case 104: return 104;
+ case 102: return 102;
+ case 101: return 101;
+ default:
+ return 102;
+ }
+ }else {
+ switch (staNo){
+ case 117: return 117;
+ case 116: return 116;
+ case 1142: return 116;
+ case 114: return 116;
+ case 123: return 1142;
+ case 113: return 114;
+ case 121: return 113;
+ case 111: return 113;
+ case 120: return 121;
+ case 110: return 111;
+ case 119: return 110;
+ case 108: return 110;
+ case 118: return 119;
+ case 107: return 107;
+ case 105: return 107;
+ case 122: return 122;
+ case 104: return 104;
+ case 102: return 104;
+ case 101: return 102;
+ default:
+ return 116;
+ }
+ }
+ }
+
+ public static Integer RouteIndexFarMasOtherNearUpMap(int rgvNo,Integer staNo){
+// int ia = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(staNo);
+// int ib = TRACK_POSITION_REVERSE_SEQUENCE.indexOf(staNo);
+// if (ia<=ib){
+// return new Integer[]{RouteIndexFarMasReverse(1,runStaStart),RouteIndexFarMasReverse(2,runStaEnd)};
+// }else {
+// return new Integer[]{RouteIndexFarMasReverse(1,runStaEnd),RouteIndexFarMasReverse(2,runStaStart)};
+// }
+// if (ia<=ib){
+// return new Integer[]{TRACK_POSITION_POSITIVE_SEQUENCE.get(ia),TRACK_POSITION_POSITIVE_SEQUENCE.get(ib)};
+// }else {
+// return new Integer[]{TRACK_POSITION_POSITIVE_SEQUENCE.get(ib),TRACK_POSITION_POSITIVE_SEQUENCE.get(ia)};
+// }
+// if (rgvNo==1){
+// if (ia-2>=1){
+// return TRACK_POSITION_POSITIVE_SEQUENCE.get(ia-2);
+// }else {
+// return 102;
+// }
+ return RouteIndexFarMasOther(rgvNo,staNo);
+// }else {
+// if (ib-2>=1){
+// return TRACK_POSITION_REVERSE_SEQUENCE.get(ib-2);
+// }else {
+// return 116;
+// }
+// }
+ }
+//
+ /*
+ * 鑾峰彇骞叉秹鏈�杩滅珯鐐�
+ * */
+ public static Integer RouteIndexFarMasOther(int rgvNo,Integer staNo){
+ if (rgvNo==1){
+ switch (staNo){
+ case 101: return 102;
+ case 102: return 122;
case 104:
- case 122: return 118;
- case 105: return 119;
+ case 122:
+ case 105: return 105;
case 107:
- case 118: return 120;
+ case 118: return 119;
case 108:
- case 119: return 111;
+ case 119: return 120;
case 110:
- case 120: return 113;
- case 111:
- case 121: return 113;
- case 113: return 114;
+ case 120:
+ case 111: return 121;
+ case 121: return 113;
+ case 113: return 1142;
case 123:
- case 114: return 1142;
+ case 114: return 116;
default:
return 116;
}
}else {
switch (staNo){
case 117:
- case 116: return 123;
+ case 116: return 1142;
case 1142:
- case 114: return 113;
- case 123:
- case 113: return 111;
+ case 114:
+ case 123: return 113;
+ case 113: return 121;
case 121:
- case 111: return 108;
+ case 111: return 110;
case 120:
- case 110: return 107;
+ case 110: return 108;
case 119:
- case 108: return 107;
+ case 108:
case 118:
- case 107: return 105;
- case 105:
+ case 107: return 107;
+ case 105: return 104;
case 122:
- case 104: return 104;
+ case 104: return 102;
default:
return 102;
}
+ }
+// if (rgvNo==1){
+// switch (staNo){
+// case 101:
+// case 102: return 102;
+// case 104:
+// case 122: return 118;
+// case 105: return 119;
+// case 107:
+// case 118: return 120;
+// 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: return 123;
+// case 1142:
+// case 114: return 113;
+// case 123:
+// case 113: return 111;
+// case 121:
+// case 111: return 108;
+// case 120:
+// case 110: return 107;
+// case 119:
+// case 108: return 107;
+// case 118:
+// case 107: return 105;
+// case 105:
+// case 122:
+// case 104: return 104;
+// default:
+// return 102;
+// }
+// }
+ }
+
+ /*
+ * 鑾峰彇骞叉秹鏈�杩滅珯鐐�
+ * */
+ public static Integer RouteIndexFarMasReverse(int rgvNo,Integer staNo){
+ if (rgvNo==1) {
+ switch (staNo) {
+ case 101:
+ case 102: return 102;
+ case 104:
+ case 122:
+ case 105: return 102;
+ case 107:
+ case 118:
+ case 108:
+ case 119: return 105;
+ case 110:
+ case 120:
+ return 107;
+ case 111:
+ case 121:
+ return 108;
+ case 113:
+ return 111;
+ case 123:
+ case 114:
+ return 121;
+ case 1142:
+ case 116:
+ case 117:
+ return 102;
+ default:
+ return 101;
+ }
+ }else{
+ switch (staNo) {
+ case 117:
+ case 116:
+ case 1142:
+ return 116;
+ case 114:
+ case 123:
+ case 113:
+ return 117;
+ case 121:return 123;
+ case 111:
+ case 120:
+ case 110:
+ return 113;
+ case 119:
+ case 108:
+ return 111;
+ case 118:
+ case 107:
+ return 110;
+ case 105:
+ case 122:
+ case 104:
+ return 107;
+ case 102:
+ case 101:
+ return 116;
+ default:
+ return 117;
+ }
+ /*
+ * switch (staNo){
+ case 117:
+ case 116: return 1142;
+ case 1142:
+ case 114:
+ case 123: return 113;
+ case 113: return 121;
+ case 121:
+ case 111: return 110;
+ case 120:
+ case 110: return 108;
+ case 119:
+ case 108:
+ case 118:
+ case 107: return 107;
+ case 105: return 104;
+ case 122:
+ case 104: return 102;
+ default:
+ return 102;
+ }*/
}
}
@@ -188,35 +421,48 @@
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;
- }
+ if (id == 0){
+ if (ib>ic){
+ return b;
}else {
- if (ib>ic){
- return b;
- }else {
- return c;
- }
+ return c;
}
}else {
- if (ia<ib){
- if (ia<ic){
- return a;
- }else {
- return c;
- }
+ if (ib<ic){
+ return b;
}else {
- if (ib<ic){
- return b;
- }else {
- return c;
- }
+ return c;
}
}
+// 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;
+// }
+// }
+// }
}
/*
@@ -353,11 +599,20 @@
int ia = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(runStaStart);
int ib = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(runStaEnd);
if (ia<=ib){
- return new Integer[]{runStaStart,runStaEnd};
+ return new Integer[]{RouteIndexFarMasReverse(1,runStaStart),RouteIndexFarMasReverse(2,runStaEnd)};
}else {
- return new Integer[]{runStaEnd,runStaStart};
+ return new Integer[]{RouteIndexFarMasReverse(1,runStaEnd),RouteIndexFarMasReverse(2,runStaStart)};
}
-
+// if (ia<=ib){
+// return new Integer[]{TRACK_POSITION_POSITIVE_SEQUENCE.get(ia),TRACK_POSITION_POSITIVE_SEQUENCE.get(ib)};
+// }else {
+// return new Integer[]{TRACK_POSITION_POSITIVE_SEQUENCE.get(ib),TRACK_POSITION_POSITIVE_SEQUENCE.get(ia)};
+// }
+// if (ia<=ib){
+// return new Integer[]{TRACK_POSITION_POSITIVE_SEQUENCE.get(ia-1),TRACK_POSITION_POSITIVE_SEQUENCE.get(ib+1)};
+// }else {
+// return new Integer[]{TRACK_POSITION_POSITIVE_SEQUENCE.get(ib+1),TRACK_POSITION_POSITIVE_SEQUENCE.get(ia-1)};
+// }
}
public static boolean RgvRunStaSign(Integer staBow,Integer runStaEnd,Integer rgvNo){
--
Gitblit v1.9.1