From b83d995aad45e69c3e28f7c1ee174d992694dace Mon Sep 17 00:00:00 2001
From: Junjie <DELL@qq.com>
Date: 星期三, 11 二月 2026 14:30:49 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/utils/NavigateUtils.java    |    3 +++
 src/main/java/com/zy/common/utils/NavigateSolution.java |   20 ++++++++++++++++++--
 2 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/zy/common/utils/NavigateSolution.java b/src/main/java/com/zy/common/utils/NavigateSolution.java
index e2d429f..6514e21 100644
--- a/src/main/java/com/zy/common/utils/NavigateSolution.java
+++ b/src/main/java/com/zy/common/utils/NavigateSolution.java
@@ -42,6 +42,7 @@
                 NavigateNode navigateNode = new NavigateNode(i, j);
 
                 String nodeType = map.getString("type");
+                String nodeValue = map.getString("value");
                 if(nodeType == null) {
                     navigateNode.setValue(MapNodeType.DISABLE.id);
                 }else if(nodeType.equals("devp") || nodeType.equals("merge")){
@@ -50,12 +51,27 @@
                     JSONObject valueObj = JSON.parseObject(map.getString("value"));
                     List<String> directionList = valueObj.getJSONArray("direction").toJavaList(String.class);
                     navigateNode.setDirectionList(directionList);
-                }else {
+                } else if (nodeType.equals("rgv")) {
+                    navigateNode.setValue(MapNodeType.NORMAL_PATH.id);
+                    JSONObject valueObj = JSON.parseObject(map.getString("value"));
+
+                    JSONObject newNodeValue = new JSONObject();
+                    newNodeValue.put("rgvCalcFlag", 1);
+                    nodeValue = JSON.toJSONString(newNodeValue);
+
+                    //RGV鏆備笉鎺у埗琛岃蛋鏂瑰悜锛岄粯璁や笂涓嬪乏鍙抽兘鍙蛋
+                    List<String> directionList = new ArrayList<>();
+                    directionList.add("top");
+                    directionList.add("bottom");
+                    directionList.add("left");
+                    directionList.add("right");
+                    navigateNode.setDirectionList(directionList);
+                } else {
                     navigateNode.setValue(MapNodeType.DISABLE.id);
                 }
 
                 navigateNode.setNodeType(nodeType);
-                navigateNode.setNodeValue(map.getString("value"));
+                navigateNode.setNodeValue(nodeValue);
                 navigateNodeRow.add(navigateNode);
             }
             navigateNodeList.add(navigateNodeRow);
diff --git a/src/main/java/com/zy/common/utils/NavigateUtils.java b/src/main/java/com/zy/common/utils/NavigateUtils.java
index fb734e1..7260751 100644
--- a/src/main/java/com/zy/common/utils/NavigateUtils.java
+++ b/src/main/java/com/zy/common/utils/NavigateUtils.java
@@ -72,6 +72,9 @@
         List<NavigateNode> fitlerList = new ArrayList<>();
         for(NavigateNode navigateNode : list){
             JSONObject valuObject = JSON.parseObject(navigateNode.getNodeValue());
+            if (valuObject.containsKey("rgvCalcFlag")) {
+                continue;
+            }
             if(set.add(valuObject.getInteger("stationId"))){
                 fitlerList.add(navigateNode);
             }

--
Gitblit v1.9.1