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