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