From b3a1f01b15b2cc6969091a4972204593147119e4 Mon Sep 17 00:00:00 2001
From: lsh <lsh123456>
Date: 星期三, 03 四月 2024 15:11:56 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/utils/RouteUtils.java |  218 +++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 197 insertions(+), 21 deletions(-)

diff --git a/src/main/java/com/zy/asrs/utils/RouteUtils.java b/src/main/java/com/zy/asrs/utils/RouteUtils.java
index 8f42bc4..a8050f7 100644
--- a/src/main/java/com/zy/asrs/utils/RouteUtils.java
+++ b/src/main/java/com/zy/asrs/utils/RouteUtils.java
@@ -3,6 +3,8 @@
 import java.util.ArrayList;
 import java.util.List;
 import static java.util.stream.Collectors.toList;
+
+import com.zy.asrs.entity.WrkMastSta;
 import com.zy.core.enums.RouteCollectCountType;
 import springfox.documentation.spring.web.json.Json;
 
@@ -103,47 +105,180 @@
     public static Integer RouteIndexFarMas(int rgvNo,Integer staNo){
         if (rgvNo==1){
             switch (staNo){
-                case 101:
-                case 102: return  102;
+                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 0;
+                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 0;
+                default:
+                    return 101;
+            }
+        }else{
+            switch (staNo) {
+                case 117:
+                case 116:
+                case 1142:
+                    return 0;
+                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 0;
+                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;
+            }*/
         }
     }
 
@@ -347,6 +482,47 @@
         return getRouteIntersection(getRoute(a, c), getRoute(b, c), RouteCollectCountType.DEDUPLICATIONUNION);
     }
 
+    public static Integer[] RgvRunSta(Integer runStaStart,Integer runStaEnd){
+        int ia = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(runStaStart);
+        int ib = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(runStaEnd);
+        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 (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){
+        int ia =  TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(staBow);
+        int ib = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(runStaEnd);
+        if (rgvNo==1){
+            if (ia>ib){
+                return true;//闇�瑕侀伩璁�
+            }else {
+                return false;//涓嶉渶瑕侀伩璁�
+            }
+        }else {
+            if (ia<ib){
+                return true;//闇�瑕侀伩璁�
+            }else {
+                return false;//涓嶉渶瑕侀伩璁�
+            }
+        }
+
+    }
+
 
 
     public static void main(String[] arge){

--
Gitblit v1.9.1