From a2d6371396f74e4fb30a4c79e91c6b371a77d0b5 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 22 十一月 2024 20:54:07 +0800
Subject: [PATCH] #读取地图文件优化

---
 src/main/java/com/zy/asrs/controller/ConsoleController.java |   14 +++++++-------
 src/main/java/com/zy/common/utils/NavigateMapUtils.java     |    8 ++++----
 src/main/java/com/zy/asrs/utils/Utils.java                  |    5 +++--
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |    6 ++++--
 src/main/java/com/zy/common/utils/NavigateUtils.java        |    7 +++++--
 src/main/java/com/zy/common/utils/NavigateMapData.java      |    6 +++---
 src/main/java/com/zy/common/utils/NavigateSolution.java     |   13 ++++++++-----
 7 files changed, 34 insertions(+), 25 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/ConsoleController.java b/src/main/java/com/zy/asrs/controller/ConsoleController.java
index 372fd34..3b9c31b 100644
--- a/src/main/java/com/zy/asrs/controller/ConsoleController.java
+++ b/src/main/java/com/zy/asrs/controller/ConsoleController.java
@@ -75,6 +75,8 @@
     private RedisUtil redisUtil;
     @Value("${super.pwd}")
     private String superPwd;
+    @Autowired
+    private NavigateMapData navigateMapData;
 
     @PostMapping("/system/running/status")
     @ManagerAuth(memo = "绯荤粺杩愯鐘舵��")
@@ -340,7 +342,7 @@
         BasMap basMap = JSON.parseObject(data.toString(), BasMap.class);
         //瑙f瀽json鍦板浘鏁版嵁
         ArrayList arrayList = JSON.parseObject(basMap.getData(), ArrayList.class);
-        NavigateMapData navigateMapData = new NavigateMapData(lev);
+        navigateMapData.setLev(lev);
         List<List<MapNode>> lists = navigateMapData.filterMap(NavigationMapType.NONE.id, arrayList, lev, null, null);//杩囨护鍦板浘鏁版嵁
         return R.ok().add(lists);
     }
@@ -365,8 +367,6 @@
                 }
                 br.close();
             }
-
-            NavigateMapData navigateMapData = new NavigateMapData();
 
             //瑙f瀽json鍦板浘鏁版嵁
             ArrayList arrayList = JSON.parseObject(stringBuffer.toString(), ArrayList.class);
@@ -398,8 +398,8 @@
         for (int i = 1; i <= 10; i++) {//鎬诲叡10灞傛ゼ
             BasMap basMap = basMapService.selectLatestMap(i);
             //杞藉叆鍦板浘
-            NavigateMapData mapData = new NavigateMapData(i);
-            List<List<MapNode>> lists = mapData.getJsonData(-1, null, null);//鑾峰彇瀹屾暣鍦板浘(鍖呮嫭鍏ュ簱鍑哄簱)
+            navigateMapData.setLev(i);
+            List<List<MapNode>> lists = navigateMapData.getJsonData(-1, null, null);//鑾峰彇瀹屾暣鍦板浘(鍖呮嫭鍏ュ簱鍑哄簱)
             if (basMap == null) {
                 //鏁版嵁搴撲腑涔熶笉瀛樺湪鍦板浘鏁版嵁锛屼粠鍦板浘鏂囦欢涓幏鍙�
                 //瀛樺叆鏁版嵁搴�
@@ -447,8 +447,8 @@
 
         BasMap basMap = basMapService.selectLatestMap(lev);
         //杞藉叆鍦板浘
-        NavigateMapData mapData = new NavigateMapData(lev);
-        List<List<MapNode>> lists = mapData.getJsonData(-1, null, null);//鑾峰彇瀹屾暣鍦板浘(鍖呮嫭鍏ュ簱鍑哄簱)
+        navigateMapData.setLev(lev);
+        List<List<MapNode>> lists = navigateMapData.getJsonData(-1, null, null);//鑾峰彇瀹屾暣鍦板浘(鍖呮嫭鍏ュ簱鍑哄簱)
         if (basMap == null) {
             //鏁版嵁搴撲腑涔熶笉瀛樺湪鍦板浘鏁版嵁锛屼粠鍦板浘鏂囦欢涓幏鍙�
             //瀛樺叆鏁版嵁搴�
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 1f5823c..292b860 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -114,6 +114,8 @@
     private WrkDetlLogService wrkDetlLogService;
     @Autowired
     private MatService matService;
+    @Autowired
+    private NavigateMapData navigateMapData;
 
 
     /**
@@ -938,8 +940,8 @@
                     if (basMap == null) {
                         //鏁版嵁搴撲腑涔熶笉瀛樺湪鍦板浘鏁版嵁锛屼粠鍦板浘鏂囦欢涓幏鍙�
                         //杞藉叆鍦板浘
-                        NavigateMapData mapData = new NavigateMapData(i);
-                        List<List<MapNode>> lists = mapData.getJsonData(-1, null, null);//鑾峰彇瀹屾暣鍦板浘(鍖呮嫭鍏ュ簱鍑哄簱)
+                        navigateMapData.setLev(i);
+                        List<List<MapNode>> lists = navigateMapData.getJsonData(-1, null, null);//鑾峰彇瀹屾暣鍦板浘(鍖呮嫭鍏ュ簱鍑哄簱)
 
                         //瀛樺叆鏁版嵁搴�
                         basMap = new BasMap();
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index 120906d..da59ddd 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -442,6 +442,7 @@
         WrkMastService wrkMastService = SpringUtils.getBean(WrkMastService.class);
         CommonService commonService = SpringUtils.getBean(CommonService.class);
         ShuttleDispatchUtils shuttleDispatchUtils = SpringUtils.getBean(ShuttleDispatchUtils.class);
+        NavigateMapData navigateMapData = SpringUtils.getBean(NavigateMapData.class);
 
         if (shuttleThread == null) {
             return false;
@@ -451,8 +452,8 @@
             return false;
         }
 
-        NavigateMapData mapData = new NavigateMapData(z);//鑾峰彇鍦板浘鏁版嵁
-        int[][] data = mapData.getData(-1, null, currentShuttleId == null ? null : Utils.getShuttlePoints(0, z));//杞藉叆鍏ㄩ儴杞﹁締
+        navigateMapData.setLev(z);//鑾峰彇鍦板浘鏁版嵁
+        int[][] data = navigateMapData.getData(-1, null, currentShuttleId == null ? null : Utils.getShuttlePoints(0, z));//杞藉叆鍏ㄩ儴杞﹁締
 
         int moveBay = 23;//閬胯璧峰鍒�
         int bay = Utils.getBay(shuttleProtocol.getCurrentLocNo());//灏忚溅褰撳墠鍒�
diff --git a/src/main/java/com/zy/common/utils/NavigateMapData.java b/src/main/java/com/zy/common/utils/NavigateMapData.java
index 77a8562..ebd0af9 100644
--- a/src/main/java/com/zy/common/utils/NavigateMapData.java
+++ b/src/main/java/com/zy/common/utils/NavigateMapData.java
@@ -29,11 +29,11 @@
 
     private Integer lev;//鍦板浘妤煎眰
 
-    public NavigateMapData() {
-        this.lev = 1;
+    public Integer getLev() {
+        return lev;
     }
 
-    public NavigateMapData(Integer lev) {
+    public void setLev(Integer lev) {
         this.lev = lev;
     }
 
diff --git a/src/main/java/com/zy/common/utils/NavigateMapUtils.java b/src/main/java/com/zy/common/utils/NavigateMapUtils.java
index 434a0d4..6bfd954 100644
--- a/src/main/java/com/zy/common/utils/NavigateMapUtils.java
+++ b/src/main/java/com/zy/common/utils/NavigateMapUtils.java
@@ -23,13 +23,13 @@
      */
     public synchronized boolean writeNavigateNodeToRedisMap(Integer lev, Integer shuttleNo, List<NavigateNode> nodes, boolean lock) {
         RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class);
+        NavigateMapData navigateMapData = SpringUtils.getBean(NavigateMapData.class);
         try {
             if (nodes.isEmpty()) {
                 return true;
             }
 
-            NavigateMapData navigateMapData = new NavigateMapData(lev);
-
+            navigateMapData.setLev(lev);
             Object o = redisUtil.get(RedisKeyType.MAP.key + lev);
             if (o == null) {
                 return false;
@@ -59,8 +59,8 @@
             }
 
             //灏濊瘯閿佸畾/瑙i攣璺緞
-            NavigateMapData mapData = new NavigateMapData(nodes.get(0).getZ());
-            List<List<MapNode>> realMap = mapData.getJsonData(-1, null, null);//鑾峰彇瀹屾暣鍦板浘(鍖呮嫭鍏ュ簱鍑哄簱)
+            navigateMapData.setLev(nodes.get(0).getZ());
+            List<List<MapNode>> realMap = navigateMapData.getJsonData(-1, null, null);//鑾峰彇瀹屾暣鍦板浘(鍖呮嫭鍏ュ簱鍑哄簱)
             for (NavigateNode node : nodes) {
                 if (node.getZ() != lev) {
                     continue;
diff --git a/src/main/java/com/zy/common/utils/NavigateSolution.java b/src/main/java/com/zy/common/utils/NavigateSolution.java
index 7956020..ccf08b8 100644
--- a/src/main/java/com/zy/common/utils/NavigateSolution.java
+++ b/src/main/java/com/zy/common/utils/NavigateSolution.java
@@ -1,5 +1,6 @@
 package com.zy.common.utils;
 
+import com.core.common.SpringUtils;
 import com.zy.common.model.NavigateNode;
 
 import java.util.ArrayList;
@@ -17,17 +18,19 @@
 
     public NavigateSolution() {
         //杞藉叆鍦板浘
-        NavigateMapData mapData = new NavigateMapData();
-        int[][] data = mapData.getData();
+        NavigateMapData navigateMapData = SpringUtils.getBean(NavigateMapData.class);
+        navigateMapData.setLev(1);
+        int[][] data = navigateMapData.getData();
         this.map = data;
     }
 
     public NavigateSolution(Integer mapType, Integer lev, List<int[]> whitePoints, List<int[]> shuttlePoints) {
         //杞藉叆鍦板浘鎸囧畾灞傞珮鍦板浘
-        NavigateMapData mapData = new NavigateMapData(lev);
-        int[][] data = mapData.getDataFromRedis(mapType, whitePoints, shuttlePoints);
+        NavigateMapData navigateMapData = SpringUtils.getBean(NavigateMapData.class);
+        navigateMapData.setLev(lev);
+        int[][] data = navigateMapData.getDataFromRedis(mapType, whitePoints, shuttlePoints);
         if (data == null) {
-            data = mapData.getData(mapType, whitePoints, shuttlePoints);
+            data = navigateMapData.getData(mapType, whitePoints, shuttlePoints);
         }
         this.map = data;
     }
diff --git a/src/main/java/com/zy/common/utils/NavigateUtils.java b/src/main/java/com/zy/common/utils/NavigateUtils.java
index 689e571..9bf8643 100644
--- a/src/main/java/com/zy/common/utils/NavigateUtils.java
+++ b/src/main/java/com/zy/common/utils/NavigateUtils.java
@@ -1,5 +1,6 @@
 package com.zy.common.utils;
 
+import com.core.common.SpringUtils;
 import com.zy.asrs.utils.Utils;
 import com.zy.common.model.MapNode;
 import com.zy.common.model.NavigateNode;
@@ -175,8 +176,10 @@
 
     //鑾峰彇浠巟鐐瑰埌涓嬩竴鐐圭殑琛岃蛋璺濈
     public static Integer getXToNextDistance(NavigateNode xNode) {
-        NavigateMapData mapData = new NavigateMapData();
-        List<List<MapNode>> lists = mapData.getJsonData(NavigationMapType.NONE.id, null, null);
+        NavigateMapData navigateMapData = SpringUtils.getBean(NavigateMapData.class);
+        navigateMapData.setLev(xNode.getZ());
+
+        List<List<MapNode>> lists = navigateMapData.getJsonData(NavigationMapType.NONE.id, null, null);
         if (lists != null) {
             MapNode mapNode = lists.get(xNode.getX()).get(xNode.getY());
             if (mapNode != null) {

--
Gitblit v1.9.1