From 8c7b4949dfcf875cc537304d34a7f6960cbb0c10 Mon Sep 17 00:00:00 2001
From: qlsxk <qlsxk@qq.com>
Date: 星期四, 16 十月 2025 14:57:12 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/common/utils/NavigateUtils.java | 46 ++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 44 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/zy/common/utils/NavigateUtils.java b/src/main/java/com/zy/common/utils/NavigateUtils.java
index d49b64b..9197cd8 100644
--- a/src/main/java/com/zy/common/utils/NavigateUtils.java
+++ b/src/main/java/com/zy/common/utils/NavigateUtils.java
@@ -231,9 +231,51 @@
return findTargetLocation(endPath);
}
+ public String calcFirstLocation(String startPoint, String endPoint, List<NavigationMapType> mapTypes, List<int[]> shuttlePoints, List<int[]> whites, int firstPathNumber) {
+ //璁$畻璺緞
+ List<NavigateNode> navigateNodes = calc(startPoint, endPoint, mapTypes, shuttlePoints, whites);
+ if (navigateNodes == null) {
+ News.error("{} dash {} can't find navigate path!", startPoint, endPoint);
+ return null;
+ }
+
+ //鑾峰彇鍒嗘璺緞
+ List<List<NavigateNode>> partList = this.getSectionPath(navigateNodes);
+ List<NavigateNode> firstList = partList.get(0);
+
+ NavigateNode targetNode = null;
+ if(firstList.size() <= firstPathNumber){
+ targetNode = firstList.get(firstList.size() - 1);
+ }else {
+ targetNode = firstList.get(firstPathNumber);
+ }
+
+ String locNo = NavigatePositionConvert.nodeToLocNo(targetNode);
+ return locNo;
+ }
+
public String findTargetLocation(List<List<NavigateNode>> partList) {
- List<NavigateNode> nodes = partList.get(partList.size() - 1);
- NavigateNode targetNode = nodes.get(0);
+ NavigateNode targetNode = null;
+ for (int i = partList.size(); i > 0; i--) {
+ List<NavigateNode> nodes = partList.get(i - 1);
+ for (NavigateNode node : nodes) {
+ if (node.getNodeValue() == MapNodeType.MAIN_PATH.id) {
+ continue;
+ }
+ targetNode = node;
+ break;
+ }
+
+ if(targetNode != null){
+ break;
+ }
+ }
+
+ if (targetNode == null) {
+ List<NavigateNode> list = partList.get(partList.size() - 1);
+ targetNode = list.get(0);
+ }
+
String locNo = NavigatePositionConvert.nodeToLocNo(targetNode);
return locNo;
}
--
Gitblit v1.9.1