From c7feb49880a74b18149efec5fb515fdab3b8ccd5 Mon Sep 17 00:00:00 2001
From: lsh <1>
Date: 星期四, 18 七月 2024 10:52:10 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/utils/RouteUtils.java |  183 ++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 177 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/zy/asrs/utils/RouteUtils.java b/src/main/java/com/zy/asrs/utils/RouteUtils.java
index 22b9b1e..a4e9594 100644
--- a/src/main/java/com/zy/asrs/utils/RouteUtils.java
+++ b/src/main/java/com/zy/asrs/utils/RouteUtils.java
@@ -16,24 +16,28 @@
     }};
 
     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(113);add(123);add(114);add(1142);
     }};
 
 //    姝e簭
     public static final List<Integer> TRACK_POSITION_POSITIVE_SEQUENCE = new ArrayList<Integer>() {{
-        add(101);add(102);add(104);add(105);add(107);add(118);add(108);add(119);add(110);add(120);add(111);add(121);add(113);add(114);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(116);add(117);
     }};
 //    鍙嶅簭
     public static final List<Integer> TRACK_POSITION_REVERSE_SEQUENCE = new ArrayList<Integer>() {{
-        add(117);add(116);add(114);add(113);add(121);add(111);add(120);add(110);add(119);add(108);add(118);add(107);add(105);add(104);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){
@@ -62,10 +66,12 @@
             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==2){
+        if (rgvNo==1){
             indexNo=staFall.size()-1;
         }
         return staFall.get(indexNo);
@@ -106,6 +112,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);
@@ -266,4 +315,126 @@
         }
     }
 
+    public static short RgvPosSta(Integer rgvId,Short posId){
+        switch (rgvId){
+            case 1:
+                return RgvPosStaOne(posId);
+            case 2:
+                return RgvPosStaTwo(posId);
+            default:
+                return 1;
+        }
+    }
+
+    public static short RgvPosStaOne(Short posId){
+        switch (posId.intValue()){
+            case 1:
+            case 2:
+                return 102;
+            case 3:
+            case 4:
+                return 122;
+            case 5:
+            case 6:
+                return 105;
+            case 7:
+            case 8:
+                return 118;
+            case 9:
+            case 10:
+            case 11:
+                return 119;
+            case 12:
+            case 13:
+            case 14:
+                return 110;
+            case 15:
+                return 120;
+            case 16:
+            case 17:
+            case 18:
+                return 111;
+            case 19:
+                return 121;
+            case 20:
+            case 21:
+            case 22:
+                return 113;
+            case 23:
+            case 24:
+                return 123;
+            case 25:
+                return 114;
+            case 26:
+            case 27:
+                return 1142;
+            case 28:
+                return 116;
+            default:
+                return 1142;
+        }
+    }
+
+    public static short RgvPosStaTwo(Short posId){
+        switch (posId.intValue()){
+            case 1:
+                return 116;
+            case 2:
+                return 1142;
+            case 3:
+            case 4:
+                return 114;
+            case 5:
+                return 123;
+            case 6:
+            case 7:
+            case 8:
+                return 113;
+            case 9:
+            case 10:
+                return 121;
+            case 11:
+            case 12:
+            case 13:
+            case 14:
+                return 120;
+            case 15:
+                return 110;
+            case 16:
+            case 17:
+            case 18:
+                return 119;
+            case 19:
+                return 108;
+            case 20:
+            case 21:
+            case 22:
+                return 107;
+            case 23:
+            case 24:
+                return 105;
+            case 25:
+            case 26:
+            case 27:
+            case 28:
+                return 104;
+            default:
+                return 104;
+        }
+    }
+
+    public static Integer CrnStaEnd(Integer endSta,Integer souSta) {
+        switch (souSta) {
+            case 100:
+            case 103:
+            case 106:
+            case 109:
+            case 112:
+            case 115:
+                return souSta + 1;
+            default:
+                return endSta;
+        }
+    }
+
 }

--
Gitblit v1.9.1