From 95872bb822de6a4510f7708ebb1ec5ea3aed35db Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期五, 17 一月 2025 11:06:19 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/utils/NavigateMapData.java |   50 ++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 46 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/common/utils/NavigateMapData.java b/src/main/java/com/zy/common/utils/NavigateMapData.java
index 84d4373..2a2351f 100644
--- a/src/main/java/com/zy/common/utils/NavigateMapData.java
+++ b/src/main/java/com/zy/common/utils/NavigateMapData.java
@@ -233,7 +233,8 @@
 
                 //瑙f瀽json鍦板浘鏁版嵁
                 ArrayList arrayList = JSON.parseObject(stringBuffer.toString(), ArrayList.class);
-                List<List<MapNode>> lists = filterMap(mapType, arrayList, lev, whitePoints, shuttlePoints);//杩囨护鍦板浘鏁版嵁
+                //閲嶅缓鏁版嵁鏍煎紡
+                List<List<MapNode>> lists = rebuildData(arrayList);
 
                 if (!file.delete()) {
                     System.out.println("涓存椂鏂囦欢鍒犻櫎澶辫触");
@@ -257,6 +258,26 @@
      * @param shuttlePoints 绌挎杞﹁妭鐐癸紝闇�瑕佸姞杞借繘鍦板浘
      */
     public List<List<MapNode>> filterMap(Integer mapType, List arrayList, Integer lev, List<int[]> whitePoints, List<int[]> shuttlePoints) {
+        //閲嶅缓鏁版嵁鏍煎紡
+        List<List<MapNode>> lists = rebuildData(arrayList);
+
+        //杞藉叆搴撲綅淇℃伅
+        lists = loadLocMast(mapType, lists, lev, whitePoints);
+
+        //鍔犺浇杞﹁締
+        lists = loadShuttle(lists, shuttlePoints);
+
+        //鍔犺浇璐у弶鎻愬崌鏈虹偣浣�
+        lists = loadForkLift(lists, mapType, lev);
+
+        //鍔犺浇鐧藉悕鍗曡妭鐐�
+        lists = loadWhite(lists, lev, whitePoints);
+
+        return lists;
+    }
+
+    //閲嶅缓鏁版嵁鏍煎紡
+    public List<List<MapNode>> rebuildData(List arrayList) {
         List<List<MapNode>> lists = new ArrayList<>();
 
         //閲嶅缓鏁版嵁鏍煎紡
@@ -270,6 +291,11 @@
             lists.add(list);
         }
 
+        return lists;
+    }
+
+    //杞藉叆搴撲綅淇℃伅
+    public List<List<MapNode>> loadLocMast(Integer mapType, List<List<MapNode>> lists, Integer lev, List<int[]> whitePoints) {
         //杩囨护鏁版嵁
         LocMastService locMastService = SpringUtils.getBean(LocMastService.class);
         try {
@@ -325,6 +351,11 @@
             e.printStackTrace();
         }
 
+        return lists;
+    }
+
+    //鍔犺浇杞﹁締
+    public List<List<MapNode>> loadShuttle(List<List<MapNode>> lists, List<int[]> shuttlePoints) {
         //鍔犺浇杞﹁締鍧愭爣鍒板湴鍥句腑
         if (shuttlePoints != null) {
             for (int[] points : shuttlePoints) {
@@ -339,6 +370,11 @@
             }
         }
 
+        return lists;
+    }
+
+    //鍔犺浇鐧藉悕鍗曡妭鐐�
+    public List<List<MapNode>> loadWhite(List<List<MapNode>> lists, Integer lev, List<int[]> whitePoints) {
         //鍔犺浇鐧藉悕鍗曡妭鐐�
         if (whitePoints != null) {
             List<List<MapNode>> realMap = getJsonData(lev, -1, null, null);//鑾峰彇瀹屾暣鍦板浘
@@ -358,7 +394,11 @@
                 lists.set(x, list);
             }
         }
+        return lists;
+    }
 
+    //鍔犺浇璐у弶鎻愬崌鏈虹偣浣�
+    public List<List<MapNode>> loadForkLift(List<List<MapNode>> lists, Integer mapType, Integer lev) {
         try {
             //鍔犺浇璐у弶鎻愬崌鏈烘斁璐х偣浣嶆暟鎹�
             for (ForkLiftSlave forkLiftSlave : slaveProperties.getForkLift()) {
@@ -368,6 +408,9 @@
                 }
 
                 for (ForkLiftStaProtocol staProtocol : forkLiftThread.getForkLiftStaProtocols()) {
+                    if (staProtocol.getLev() != lev) {
+                        continue;
+                    }
                     int row = Utils.getRow(staProtocol.getLocNo());
                     int bay = Utils.getBay(staProtocol.getLocNo());
 
@@ -379,7 +422,7 @@
                         if (staProtocol.getHasTray() != null && staProtocol.getHasTray()) {
                             mapNode.setValue(MapNodeType.DISABLE.id);
                         }
-                    }else {
+                    } else {
                         if (staProtocol.getHasCar() != null && staProtocol.getHasCar()) {
                             mapNode.setValue(MapNodeType.CAR.id);
                         }
@@ -391,10 +434,9 @@
                 }
 
             }
-        }catch (Exception e) {
+        } catch (Exception e) {
             e.printStackTrace();
         }
-
         return lists;
     }
 

--
Gitblit v1.9.1