From 79b3bca0befd3d247d9b9c17ea4287ed19b97920 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期四, 11 五月 2023 11:18:37 +0800 Subject: [PATCH] Navigate库位计算错误、获取地图错误问题 --- src/main/java/com/zy/common/utils/NavigateUtils.java | 21 +++++++++++++++------ 1 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/zy/common/utils/NavigateUtils.java b/src/main/java/com/zy/common/utils/NavigateUtils.java index ea1a70e..a0aab42 100644 --- a/src/main/java/com/zy/common/utils/NavigateUtils.java +++ b/src/main/java/com/zy/common/utils/NavigateUtils.java @@ -1,7 +1,7 @@ package com.zy.common.utils; -import com.alibaba.fastjson.JSONObject; import com.zy.asrs.utils.Utils; +import com.zy.common.model.MapNode; import com.zy.common.model.NavigateNode; import com.zy.core.enums.ShuttleTaskModeType; @@ -26,7 +26,7 @@ start.setFather(null); NavigateNode end = new NavigateNode(endArr[0], endArr[1]); - NavigateSolution solution = new NavigateSolution(mapType); + NavigateSolution solution = new NavigateSolution(mapType, lev); NavigateNode res_node = solution.astarSearch(start, end); if (res_node == null) { System.out.println("鏈壘鍒拌矾寰�"); @@ -163,11 +163,20 @@ //鑾峰彇浠巟鐐瑰埌涓嬩竴鐐圭殑琛岃蛋璺濈 public static Integer getXToNextDistance(NavigateNode xNode) { NavigateMapData mapData = new NavigateMapData(); - ArrayList<ArrayList<JSONObject>> lists = mapData.getJsonData(1); + List<List<MapNode>> lists = mapData.getJsonData(1); if (lists != null) { - JSONObject jsonObject = lists.get(xNode.getX()).get(xNode.getY()); - if (jsonObject != null) { - return Integer.parseInt(jsonObject.getOrDefault(xNode.getDirection(), 0).toString()); + 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(); + } } return 0; } -- Gitblit v1.9.1