From b4e0f827567f8d5ad4a1ff5caa22675cbc165b88 Mon Sep 17 00:00:00 2001
From: lsh <lsh123456>
Date: 星期三, 11 六月 2025 10:27:31 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/utils/RouteUtils.java |   87 +++++++++++++++++++++++++++++++++++++------
 1 files changed, 75 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/zy/asrs/utils/RouteUtils.java b/src/main/java/com/zy/asrs/utils/RouteUtils.java
index 5510f79..c89d2b5 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>() {{
@@ -47,13 +47,39 @@
 
     }};
 
+    //    姝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(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);
+        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){
@@ -109,7 +135,7 @@
                 case 122: return  118;
                 case 105: return  119;
                 case 107:
-                case 118: return  120;
+                case 118: return  108;
                 case 108:
                 case 119: return  111;
                 case 110:
@@ -125,15 +151,17 @@
         }else {
             switch (staNo){
                 case 117:
-                case 116: return  1142;
+                case 116:
+                case 171:
+                    return  1142;
                 case 1142:
                 case 114: return  113;
                 case 123:
                 case 113: return  111;
-                case 121:
-                case 111: return  108;
+                case 121: return  110;
+                case 111: return  110;
                 case 120:
-                case 110: return 107;
+                case 110: return 108;
                 case 119:
                 case 108: return  107;
                 case 118:
@@ -146,7 +174,42 @@
             }
         }
     }
-
+    /*
+     * 鑾峰彇骞叉秹鏈�杩滅珯鐐�
+     * */
+    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){
@@ -409,8 +472,8 @@
                 return 105;
             case 7:
             case 8:
-                return 118;
             case 9:
+                return 118;
             case 10:
             case 11:
                 return 119;
@@ -449,6 +512,7 @@
         switch (posId.intValue()){
             case 1:
                 return 116;
+            case 28:
             case 2:
                 return 1142;
             case 3:
@@ -469,8 +533,8 @@
             case 14:
                 return 120;
             case 15:
-                return 110;
             case 16:
+                return 110;
             case 17:
             case 18:
                 return 119;
@@ -486,7 +550,6 @@
             case 25:
             case 26:
             case 27:
-            case 28:
                 return 104;
             default:
                 return 104;

--
Gitblit v1.9.1