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

---
 src/main/java/com/zy/asrs/utils/MapExcelUtils.java         |   24 +++++++++++++++++++++++-
 src/main/java/com/zy/asrs/controller/BasMapController.java |   14 ++++++++------
 src/main/java/com/zy/common/utils/NavigateSolution.java    |    3 ++-
 3 files changed, 33 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/BasMapController.java b/src/main/java/com/zy/asrs/controller/BasMapController.java
index 8a199cc..3fca44d 100644
--- a/src/main/java/com/zy/asrs/controller/BasMapController.java
+++ b/src/main/java/com/zy/asrs/controller/BasMapController.java
@@ -192,17 +192,18 @@
                         HashMap<String, Object> nodeData = new HashMap<>();
                         nodeData.put("value", map.get("value"));
 
-                        String nodeType = map.get("bgColor").toString();
-                        if (nodeType.equals("RGB(0,176,80)")) {
+                        String bgColor = map.get("bgColor").toString();
+                        String nodeType = map.get("nodeType").toString();
+                        if (nodeType.equals("shelf")) {
                             //璐ф灦
                             nodeData.put("type", "shelf");
-                        } else if (nodeType.equals("RGB(255,192,0)")) {
+                        } else if (nodeType.equals("crn")) {
                             //鍫嗗灈鏈�
                             nodeData.put("type", "crn");
-                        } else if (nodeType.equals("RGB(255,255,0)")) {
+                        } else if (nodeType.equals("dualCrn")) {
                             //鍙屽伐浣嶅爢鍨涙満
                             nodeData.put("type", "dualCrn");
-                        } else if (nodeType.equals("RGB(0,112,192)")) {
+                        } else if (nodeType.equals("devp")) {
                             //杈撻�佺嚎
                             nodeData.put("type", "devp");
 
@@ -266,7 +267,7 @@
                                 runBlockReassignStationList.add(stationObjModel);
                                 runBlockReassignStationMap.put(deviceNo, runBlockReassignStationList);
                             }
-                        } else if (nodeType.equals("RGB(0,176,240)")) {
+                        } else if (nodeType.equals("rgv")) {
                             //RGV
                             nodeData.put("type", "rgv");
                         } else if (nodeType.equals("none")) {
@@ -275,6 +276,7 @@
                         } else if (nodeType.equals("merge")) {
                             //鍚堝苟鍖哄煙
                             nodeData.put("type", "merge");
+                            nodeData.put("mergeType", map.get("mergeType"));
                         }
 
                         nodeData.put("cellWidth", map.get("cellWidth"));
diff --git a/src/main/java/com/zy/asrs/utils/MapExcelUtils.java b/src/main/java/com/zy/asrs/utils/MapExcelUtils.java
index cdca8ca..d61d64e 100644
--- a/src/main/java/com/zy/asrs/utils/MapExcelUtils.java
+++ b/src/main/java/com/zy/asrs/utils/MapExcelUtils.java
@@ -322,7 +322,9 @@
                             }
 
                             HashMap<String, Object> mapData = data.get(k - 2).get(l - 2);
-                            mapData.put("bgColor", "merge");
+                            Object devp = map.get("nodeType");
+                            mapData.put("nodeType", "merge");
+                            mapData.put("mergeType", devp);
                             mapData.put("value", map.get("value"));
                         }
                     }
@@ -342,6 +344,7 @@
         if (cell == null) {
             HashMap<String, Object> map = new HashMap<>();
             map.put("bgColor", "none");
+            map.put("nodeType", "none");
             map.put("cellWidth", "");
             map.put("cellHeight", "");
             map.put("value", "");
@@ -354,6 +357,25 @@
 
         String bgColor = getCellBackgroundColor(cell);
         map.put("bgColor", bgColor);
+        if(bgColor.equals("RGB(0,176,80)")) {
+            //璐ф灦
+            map.put("nodeType", "shelf");
+        } else if (bgColor.equals("RGB(255,192,0)")) {
+            //鍫嗗灈鏈�
+            map.put("nodeType", "crn");
+        } else if (bgColor.equals("RGB(255,255,0)")) {
+            //鍙屽伐浣嶅爢鍨涙満
+            map.put("nodeType", "dualCrn");
+        } else if (bgColor.equals("RGB(0,112,192)")) {
+            //杈撻�佺嚎
+            map.put("nodeType", "devp");
+        } else if (bgColor.equals("RGB(0,176,240)")) {
+            //RGV
+            map.put("nodeType", "rgv");
+        }else {
+            //绌虹櫧鍖哄煙
+            map.put("nodeType", "none");
+        }
 
         int columnIndex = cell.getColumnIndex();
         int columnWidth = sheet.getColumnWidth(columnIndex);//鑾峰彇鍒楀
diff --git a/src/main/java/com/zy/common/utils/NavigateSolution.java b/src/main/java/com/zy/common/utils/NavigateSolution.java
index 6514e21..ef7d708 100644
--- a/src/main/java/com/zy/common/utils/NavigateSolution.java
+++ b/src/main/java/com/zy/common/utils/NavigateSolution.java
@@ -41,11 +41,12 @@
                 JSONObject map = row.get(j);
                 NavigateNode navigateNode = new NavigateNode(i, j);
 
+                String mergeType = map.getString("mergeType");
                 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")){
+                }else if(nodeType.equals("devp") || (nodeType.equals("merge") && mergeType.equals("devp"))) {
                     navigateNode.setValue(MapNodeType.NORMAL_PATH.id);
 
                     JSONObject valueObj = JSON.parseObject(map.getString("value"));

--
Gitblit v1.9.1