From 6ea30a9291bfcf21fda724f9957405bbe3fecbd5 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期一, 15 四月 2024 15:34:44 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/utils/RouteUtils.java |  164 +++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 141 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 fd99eb5..5510f79 100644
--- a/src/main/java/com/zy/asrs/utils/RouteUtils.java
+++ b/src/main/java/com/zy/asrs/utils/RouteUtils.java
@@ -16,15 +16,35 @@
     }};
 
     public static final List<Integer> MERGE_STA_NO_TWO = new ArrayList<Integer>() {{
-        add(116);add(117);
+        add(113);add(123);add(114);add(1142);
     }};
 
     public static final List<Integer> MERGE_STA_NO_THREE = new ArrayList<Integer>() {{
-        add(116);add(117);
+        add(107);add(118);add(108);add(119);
     }};
 
     public static final List<Integer> MERGE_STA_NO_FOUR = new ArrayList<Integer>() {{
-        add(116);add(117);
+        add(110);add(120);add(111);add(121);
+    }};
+
+    public static final List<Integer> MERGE_STA_NO_FIVE = new ArrayList<Integer>() {{
+        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簭
@@ -33,7 +53,7 @@
     }};
 //    鍙嶅簭
     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(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){
@@ -49,28 +69,82 @@
             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  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  1142;
+                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;
+            }
         }
-        return staFall.get(indexNo);
     }
 
 
@@ -108,6 +182,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);
@@ -324,15 +441,16 @@
             case 28:
                 return 116;
             default:
-                return 0;
+                return 1142;
         }
     }
 
     public static short RgvPosStaTwo(Short posId){
         switch (posId.intValue()){
             case 1:
-            case 2:
                 return 116;
+            case 2:
+                return 1142;
             case 3:
             case 4:
                 return 114;
@@ -371,7 +489,7 @@
             case 28:
                 return 104;
             default:
-                return 0;
+                return 104;
         }
     }
 

--
Gitblit v1.9.1