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