From cc42d79563a119ffb37302092c445e73ab76e274 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期四, 28 十二月 2023 15:08:17 +0800
Subject: [PATCH] #小车锁路径载入其他小车节点

---
 src/main/java/com/zy/common/utils/NavigateMapUtils.java     |    8 ++++++--
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |    4 ++--
 src/main/java/com/zy/common/utils/NyShuttleOperaUtils.java  |    4 ++--
 src/main/java/com/zy/core/thread/NyShuttleThread.java       |    2 +-
 4 files changed, 11 insertions(+), 7 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 1d32a45..31c8325 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -3395,7 +3395,7 @@
                 return false;//妫�娴嬬洰鏍囩珯鐐硅矾寰勬槸鍚︽湭琚崰鐢�
             }
             //灏濊瘯閿佸畾鐩爣绔欒矾寰�
-            boolean result2 = navigateMapUtils.writeNavigateNodeToRedisMap(Utils.getLev(wrkMast.getLocNo()), targetNodes, true);//鎵�浣跨敤鐨勮矾寰勮繘琛岄攣瀹氱鐢�
+            boolean result2 = navigateMapUtils.writeNavigateNodeToRedisMap(Utils.getLev(wrkMast.getLocNo()), shuttleProtocol.getShuttleNo().intValue(), targetNodes, true);//鎵�浣跨敤鐨勮矾寰勮繘琛岄攣瀹氱鐢�
             if (!result2) {
                 News.info("{}浠诲姟锛寋}灏忚溅锛岃矾寰勯攣瀹氬け璐ワ紝绂佹娲惧彂", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
                 return false;//璺緞閿佸畾澶辫触
@@ -3407,7 +3407,7 @@
             if (result == null) {
                 //璺緞鑾峰彇澶辫触锛岄渶瑕佽В閿佷笂闈㈤攣瀹氱殑璺緞
                 //灏濊瘯瑙i攣鐩爣绔欒矾寰�
-                boolean result3 = navigateMapUtils.writeNavigateNodeToRedisMap(Utils.getLev(wrkMast.getLocNo()), targetNodes, false);//鎵�浣跨敤鐨勮矾寰勮繘琛岃В閿�
+                boolean result3 = navigateMapUtils.writeNavigateNodeToRedisMap(Utils.getLev(wrkMast.getLocNo()), shuttleProtocol.getShuttleNo().intValue(), targetNodes, false);//鎵�浣跨敤鐨勮矾寰勮繘琛岃В閿�
                 if (!result3) {
                     News.info("{}浠诲姟锛寋}灏忚溅锛岃矾寰勮В閿佸け璐�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
                     return false;//璺緞瑙i攣澶辫触
diff --git a/src/main/java/com/zy/common/utils/NavigateMapUtils.java b/src/main/java/com/zy/common/utils/NavigateMapUtils.java
index bbaa38c..ca1b96b 100644
--- a/src/main/java/com/zy/common/utils/NavigateMapUtils.java
+++ b/src/main/java/com/zy/common/utils/NavigateMapUtils.java
@@ -3,6 +3,7 @@
 import com.alibaba.fastjson.JSON;
 import com.core.common.SpringUtils;
 import com.zy.asrs.entity.BasMap;
+import com.zy.asrs.utils.Utils;
 import com.zy.common.model.MapNode;
 import com.zy.common.model.NavigateNode;
 import com.zy.common.model.enums.NavigationMapType;
@@ -20,7 +21,7 @@
      * 鍐欏叆璺緞鑺傜偣鏁版嵁鍒皉edis鍦板浘涓�
      * lock涓簍rue 绂佺敤搴撲綅锛宭ock涓篺alse鎭㈠搴撲綅
      */
-    public synchronized boolean writeNavigateNodeToRedisMap(Integer lev, List<NavigateNode> nodes, boolean lock) {
+    public synchronized boolean writeNavigateNodeToRedisMap(Integer lev, Integer shuttleNo, List<NavigateNode> nodes, boolean lock) {
         RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class);
         try {
             if (nodes.isEmpty()) {
@@ -34,9 +35,12 @@
                 return false;
             }
 
+            //鑾峰彇灏忚溅鑺傜偣
+            List<int[]> shuttlePoints = Utils.getShuttlePoints(shuttleNo, lev);
+
             BasMap basMap = JSON.parseObject(o.toString(), BasMap.class);
             ArrayList arrayList = JSON.parseObject(basMap.getData(), ArrayList.class);
-            List<List<MapNode>> lists = navigateMapData.filterMap(NavigationMapType.NONE.id, arrayList, lev, null, null);//鑾峰彇鍏ㄩ儴鍦板浘鏁版嵁
+            List<List<MapNode>> lists = navigateMapData.filterMap(NavigationMapType.NONE.id, arrayList, lev, null, shuttlePoints);//鑾峰彇鍏ㄩ儴鍦板浘鏁版嵁
 
             //妫�娴嬭矾寰勬槸鍚﹁閿佸畾
             if (lock) {
diff --git a/src/main/java/com/zy/common/utils/NyShuttleOperaUtils.java b/src/main/java/com/zy/common/utils/NyShuttleOperaUtils.java
index fe9d716..fc00b05 100644
--- a/src/main/java/com/zy/common/utils/NyShuttleOperaUtils.java
+++ b/src/main/java/com/zy/common/utils/NyShuttleOperaUtils.java
@@ -114,7 +114,7 @@
             allNode.addAll(nodes);
         }
 
-        boolean result = navigateMapUtils.writeNavigateNodeToRedisMap(Utils.getLev(startPoint), allNode, true);//閿佸畾璺緞
+        boolean result = navigateMapUtils.writeNavigateNodeToRedisMap(Utils.getLev(startPoint), shuttleNo, allNode, true);//閿佸畾璺緞
         if (!result) {
             return null;//璺緞閿佸畾澶辫触
         }
@@ -167,7 +167,7 @@
                 nodes.add(node);
             }
         }
-        boolean result = navigateMapUtils.writeNavigateNodeToRedisMap(Utils.getLev(startPoint), nodes, true);//閿佸畾璺緞
+        boolean result = navigateMapUtils.writeNavigateNodeToRedisMap(Utils.getLev(startPoint), shuttleNo, nodes, true);//閿佸畾璺緞
         if (!result) {
             return null;//璺緞閿佸畾澶辫触
         }
diff --git a/src/main/java/com/zy/core/thread/NyShuttleThread.java b/src/main/java/com/zy/core/thread/NyShuttleThread.java
index 5fcce03..cab5c90 100644
--- a/src/main/java/com/zy/core/thread/NyShuttleThread.java
+++ b/src/main/java/com/zy/core/thread/NyShuttleThread.java
@@ -435,7 +435,7 @@
                         if (!(targetNode.getX() == node.getX() && targetNode.getY() == node.getY())) {
                             nodes.remove(nodes.size() - 1);//鍓旈櫎灏捐妭鐐�
                         }
-                        boolean result = navigateMapUtils.writeNavigateNodeToRedisMap(Utils.getLev(shuttleProtocol.getCurrentLocNo()), nodes, false);//瑙i攣璺緞
+                        boolean result = navigateMapUtils.writeNavigateNodeToRedisMap(Utils.getLev(shuttleProtocol.getCurrentLocNo()), shuttleProtocol.getShuttleNo().intValue(), nodes, false);//瑙i攣璺緞
                         if (!result) {
                             return false;//瑙i攣澶辫触
                         }

--
Gitblit v1.9.1