From dad4b7fd3a7fcaed73d28f0ebd9e90d86ca21225 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期二, 22 七月 2025 12:34:51 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/utils/NavigateUtils.java | 47 ++++++++++++++++++++++++++--------------------- 1 files changed, 26 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/zy/common/utils/NavigateUtils.java b/src/main/java/com/zy/common/utils/NavigateUtils.java index c6e94ab..dd88872 100644 --- a/src/main/java/com/zy/common/utils/NavigateUtils.java +++ b/src/main/java/com/zy/common/utils/NavigateUtils.java @@ -2,7 +2,6 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; -import com.core.common.SpringUtils; import com.core.exception.CoolException; import com.zy.asrs.utils.Utils; import com.zy.common.model.MapNode; @@ -288,10 +287,13 @@ * 鑾峰彇鍒嗘璺緞锛屾瘡褰撴湁涓�涓嫄鐐瑰垯杩涜涓�娆″垎娈碉紝鏈�缁堣繑鍥炴�诲垎娈垫暟鎹� */ public List<List<NavigateNode>> getSectionPath(List<NavigateNode> mapList) { - List<List<NavigateNode>> list = new ArrayList<>(); + NavigateNode firstNode = mapList.get(0); + //鑾峰彇鍦板浘 + List<List<MapNode>> mapNodes = navigateMapData.getJsonData(firstNode.getZ(), NavigationMapType.getMapTypes(NavigationMapType.NONE), null, null); + List<List<NavigateNode>> list = new ArrayList<>(); List<NavigateNode> data = new ArrayList<>(); - String direction = mapList.get(0).getDirection();//琛岃蛋鏂瑰悜 + String direction = firstNode.getDirection();//琛岃蛋鏂瑰悜 for (NavigateNode navigateNode : mapList) { data.add(navigateNode); @@ -306,7 +308,7 @@ //鐩磋绾胯矾 navigateNode.setDirection(direction);//璁剧疆琛岃蛋鏂瑰悜 } - Integer distance = getXToNextDistance(navigateNode);//鑾峰彇褰撳墠鐐瑰埌涓嬩竴鐐圭殑琛岃蛋璺濈 + Integer distance = getXToNextDistance(mapNodes, navigateNode);//鑾峰彇褰撳墠鐐瑰埌涓嬩竴鐐圭殑琛岃蛋璺濈 navigateNode.setMoveDistance(distance); } @@ -362,25 +364,28 @@ } //鑾峰彇浠巟鐐瑰埌涓嬩竴鐐圭殑琛岃蛋璺濈 - public Integer getXToNextDistance(NavigateNode xNode) { - NavigateMapData mapData = SpringUtils.getBean(NavigateMapData.class); - List<List<MapNode>> lists = mapData.getJsonData(xNode.getZ(), NavigationMapType.getMapTypes(NavigationMapType.NONE), null, null); - if (lists != null) { - MapNode mapNode = lists.get(xNode.getX()).get(xNode.getY()); - if (mapNode != null) { - switch (xNode.getDirection()) { - case "top": - return mapNode.getTop(); - case "bottom": - return mapNode.getBottom(); - case "left": - return mapNode.getLeft(); - case "right": - return mapNode.getRight(); - } - } + public Integer getXToNextDistance(List<List<MapNode>> mapLists, NavigateNode xNode) { + if (mapLists == null) { return 0; } + + if (mapLists.isEmpty()) { + return 0; + } + + MapNode mapNode = mapLists.get(xNode.getX()).get(xNode.getY()); + if (mapNode != null) { + switch (xNode.getDirection()) { + case "top": + return mapNode.getTop(); + case "bottom": + return mapNode.getBottom(); + case "left": + return mapNode.getLeft(); + case "right": + return mapNode.getRight(); + } + } return 0; } -- Gitblit v1.9.1