From 5e492e5d5a2b743e2e99443220d343f72a633f6d Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 03 三月 2026 16:57:52 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/common/utils/NavigateUtils.java | 28 ++++++++++++++++++++++------
1 files changed, 22 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 7260751..b5d3424 100644
--- a/src/main/java/com/zy/common/utils/NavigateUtils.java
+++ b/src/main/java/com/zy/common/utils/NavigateUtils.java
@@ -45,12 +45,12 @@
List<List<NavigateNode>> stationMap = navigateSolution.getStationMap(lev);
NavigateNode startNode = navigateSolution.findStationNavigateNode(stationMap, startStationId);
- if (startNode == null){
+ if (startNode == null) {
throw new CoolException("鏈壘鍒拌 璧风偣 瀵瑰簲鐨勮妭鐐�");
}
NavigateNode endNode = navigateSolution.findStationNavigateNode(stationMap, endStationId);
- if (endNode == null){
+ if (endNode == null) {
throw new CoolException("鏈壘鍒拌 缁堢偣 瀵瑰簲鐨勮妭鐐�");
}
@@ -58,7 +58,8 @@
News.info("[WCS Debug] 绔欑偣璺緞寮�濮嬭绠�,startStationId={},endStationId={}", startStationId, endStationId);
List<List<NavigateNode>> allList = navigateSolution.allSimplePaths(stationMap, startNode, endNode, 120, 500, 300);
if (allList.isEmpty()) {
- throw new CoolException("鏈壘鍒拌璺緞");
+// throw new CoolException("鏈壘鍒拌璺緞");
+ return new ArrayList<>();
}
News.info("[WCS Debug] 绔欑偣璺緞璁$畻瀹屾垚锛岃�楁椂锛歿}ms", System.currentTimeMillis() - startTime);
@@ -70,12 +71,12 @@
//鍘婚噸
HashSet<Integer> set = new HashSet<>();
List<NavigateNode> fitlerList = new ArrayList<>();
- for(NavigateNode navigateNode : list){
+ for (NavigateNode navigateNode : list) {
JSONObject valuObject = JSON.parseObject(navigateNode.getNodeValue());
if (valuObject.containsKey("rgvCalcFlag")) {
continue;
}
- if(set.add(valuObject.getInteger("stationId"))){
+ if (set.add(valuObject.getInteger("stationId"))) {
fitlerList.add(navigateNode);
}
}
@@ -83,6 +84,20 @@
for (int i = 0; i < fitlerList.size(); i++) {
NavigateNode currentNode = fitlerList.get(i);
currentNode.setIsInflectionPoint(false);
+ currentNode.setIsLiftTransferPoint(false);
+
+ try {
+ JSONObject valueObject = JSON.parseObject(currentNode.getNodeValue());
+ if (valueObject != null) {
+ Object isLiftTransfer = valueObject.get("isLiftTransfer");
+ if (isLiftTransfer != null) {
+ String isLiftTransferStr = isLiftTransfer.toString();
+ if ("1".equals(isLiftTransferStr) || "true".equalsIgnoreCase(isLiftTransferStr)) {
+ currentNode.setIsLiftTransferPoint(true);
+ }
+ }
+ }
+ } catch (Exception ignore) {}
NavigateNode nextNode = (i + 1 < fitlerList.size()) ? fitlerList.get(i + 1) : null;
NavigateNode prevNode = (i - 1 >= 0) ? fitlerList.get(i - 1) : null;
@@ -115,7 +130,8 @@
News.info("[WCS Debug] RGV璺緞寮�濮嬭绠�,startTrackSiteNo:{},endTrackSiteNo={}", startTrackSiteNo, endTrackSiteNo);
NavigateNode res_node = navigateSolution.astarSearchJava(rgvTrackMap, startNode, endNode);
if (res_node == null) {
- throw new CoolException("鏈壘鍒拌璺緞");
+// throw new CoolException("鏈壘鍒拌璺緞");
+ return new ArrayList<>();
}
News.info("[WCS Debug] RGV璺緞璁$畻瀹屾垚锛岃�楁椂锛歿}ms", System.currentTimeMillis() - startTime);
--
Gitblit v1.9.1