From d430625175baab1a00b5d6361a5c5d8722979aa4 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期二, 21 十一月 2023 16:24:11 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/utils/RouteUtils.java             |   38 ++++++++++++++++++++++++++++++++++++++
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |    5 +++--
 2 files changed, 41 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 00617eb..77c8773 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -4339,13 +4339,14 @@
         //鏇存柊褰撳墠灏忚溅閿�
         try{
             Integer farCurrentStaNo = RouteUtils.RouteIndexFarMas(basRgvMapCurrent.getNowRoute(), staStart, staEnd, basRgvMapCurrent.getLockStartRoute());//鑾峰彇鏈�杩滅珯鐐�
-            basRgvMapCurrent.setLockEndRoute(farCurrentStaNo);
+            Integer fallMerge = RouteUtils.RouteIndexFarMas(basRgvMapCurrent.getRgvNo(), farCurrentStaNo); //鑾峰彇鍚堝苟骞叉秹椤�
+            basRgvMapCurrent.setLockEndRoute(fallMerge);
             basRgvMapMapper.updateById(basRgvMapCurrent);
 
             //鏇存柊鍙︿竴鍙板皬杞﹀湴鍥�
             Integer rgvNoOther = basRgvMapCurrent.getRgvNoOther();
             BasRgvMap basRgvMapOther = basRgvMapMapper.selectById(rgvNoOther);
-            List<Integer> integers = RouteUtils.RouteMapCurrentFar(farCurrentStaNo, basRgvMapCurrent.getLockStartRoute());
+            List<Integer> integers = RouteUtils.RouteMapCurrentFar(fallMerge, basRgvMapCurrent.getLockStartRoute());
             Integer lockEndRoute = RouteUtils.RouteMapOtherFarStnNo(integers, basRgvMapCurrent.getLockStartRoute());//鍙︿竴鍙板皬杞﹀彲娲诲姩鏈�杩滀綅缃�
             basRgvMapOther.setStartRoute(lockEndRoute);
             basRgvMapMapper.updateById(basRgvMapOther);
diff --git a/src/main/java/com/zy/asrs/utils/RouteUtils.java b/src/main/java/com/zy/asrs/utils/RouteUtils.java
index 9fbe2da..22b9b1e 100644
--- a/src/main/java/com/zy/asrs/utils/RouteUtils.java
+++ b/src/main/java/com/zy/asrs/utils/RouteUtils.java
@@ -11,6 +11,22 @@
  */
 public class RouteUtils {
 
+    public static final List<Integer> MERGE_STA_NO_One = new ArrayList<Integer>() {{
+        add(116);add(117);
+    }};
+
+    public static final List<Integer> MERGE_STA_NO_TWO = new ArrayList<Integer>() {{
+        add(116);add(117);
+    }};
+
+    public static final List<Integer> MERGE_STA_NO_THREE = new ArrayList<Integer>() {{
+        add(116);add(117);
+    }};
+
+    public static final List<Integer> MERGE_STA_NO_FOUR = new ArrayList<Integer>() {{
+        add(116);add(117);
+    }};
+
 //    姝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);
@@ -33,6 +49,28 @@
             return msgBuilder.toString();
         }
     }
+    /*
+     * 鑾峰彇骞叉秹鏈�杩滅珯鐐�
+     * */
+    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;
+        }
+
+        int indexNo = 0;
+        if (rgvNo==2){
+            indexNo=staFall.size()-1;
+        }
+        return staFall.get(indexNo);
+    }
+
 
     // 鑾峰彇褰撳墠灏忚溅鏈璧扮殑璺嚎闆嗗悎
     public static List<Integer> getRoute(Integer groupStart,Integer groupEnd){

--
Gitblit v1.9.1