From 30b0f1f97665f07145e3580dab577fae75ee0fa7 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 27 四月 2026 10:23:23 +0800
Subject: [PATCH] fix: persist station flow capacity audit fields

---
 src/main/java/com/zy/common/utils/NavigateSolution.java |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/zy/common/utils/NavigateSolution.java b/src/main/java/com/zy/common/utils/NavigateSolution.java
index 8aaabe1..5dd839c 100644
--- a/src/main/java/com/zy/common/utils/NavigateSolution.java
+++ b/src/main/java/com/zy/common/utils/NavigateSolution.java
@@ -28,8 +28,8 @@
 
     // Open琛ㄧ敤浼樺厛闃熷垪
     public PriorityQueue<NavigateNode> Open = new PriorityQueue<NavigateNode>();
-    //Close琛ㄧ敤鏅�氱殑鏁扮粍
-    public ArrayList<NavigateNode> Close = new ArrayList<NavigateNode>();
+    //Close琛ㄧ敤鍧愭爣key闆嗗悎锛孫(1)鏌ユ壘
+    public Set<String> Close = new HashSet<>();
     //鐢ㄦ潵瀛樻斁宸茬粡鍑虹幇杩囩殑缁撶偣銆�
     Map<String, Integer> bestGMap = new HashMap<>();
 
@@ -392,13 +392,13 @@
             }
 
             //灏嗚繖涓粨鐐瑰姞鍏ュ埌Close琛ㄤ腑
-            Close.add(current_node);
+            Close.add(keyOf(current_node));
             //瀵瑰綋鍓嶇粨鐐硅繘琛屾墿灞曪紝寰楀埌涓�涓洓鍛ㄧ粨鐐圭殑鏁扮粍
             ArrayList<NavigateNode> neighbour_node = extend_current_node(map, current_node);
             //瀵硅繖涓粨鐐归亶鍘嗭紝鐪嬫槸鍚︽湁鐩爣缁撶偣鍑虹幇
             for (NavigateNode node : neighbour_node) {
                 // 宸插湪鍏抽棴鍒楄〃涓殑鑺傜偣涓嶅啀澶勭悊锛岄伩鍏嶇埗閾惧弽澶嶆敼鍐欏舰鎴愮幆
-                if (Close.contains(node)) {
+                if (Close.contains(keyOf(node))) {
                     continue;
                 }
                 // G + H + E (瀵瑰惎鍙戝嚱鏁板鍔犲幓鎷愮偣鏂规calcNodeExtraCost)
@@ -410,7 +410,7 @@
                 node.setH(calcNodeCost(node, end));
                 node.setF(node.getG() + node.getH());
 
-                String key = node.getX() + "_" + node.getY();
+                String key = keyOf(node);
                 Integer recordedG = bestGMap.get(key);
                 // 浠呭綋鎵惧埌鏇村皬鐨勪唬浠锋椂鎵嶆洿鏂颁笌鍏pen锛岄伩鍏嶇瓑浠蜂唬浠峰弽澶嶅叆闃熷鑷寸埗閾炬姈鍔�
                 if (recordedG == null || node.getG() < recordedG) {

--
Gitblit v1.9.1