From 55165693f541b63e059af1def45fb2f24c5ed31e Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期三, 03 四月 2024 16:59:42 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/utils/RouteUtils.java |  178 ++++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 138 insertions(+), 40 deletions(-)

diff --git a/src/main/java/com/zy/asrs/utils/RouteUtils.java b/src/main/java/com/zy/asrs/utils/RouteUtils.java
index a8050f7..f3b76fc 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,38 +77,132 @@
             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 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;
@@ -200,7 +300,7 @@
         if (rgvNo==1) {
             switch (staNo) {
                 case 101:
-                case 102:   return 0;
+                case 102:   return 102;
                 case 104:
                 case 122:
                 case 105:   return 102;
@@ -222,7 +322,7 @@
                 case 1142:
                 case 116:
                 case 117:
-                    return 0;
+                    return 102;
                 default:
                     return 101;
             }
@@ -231,7 +331,7 @@
                 case 117:
                 case 116:
                 case 1142:
-                    return 0;
+                    return 116;
                 case 114:
                 case 123:
                 case 113:
@@ -253,7 +353,7 @@
                     return 107;
                 case 102:
                 case 101:
-                    return 0;
+                    return 116;
                 default:
                     return 117;
             }
@@ -500,8 +600,6 @@
 //        }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