From efce7ce3e63712ecc8b4c3039a73b508fc3ea880 Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期一, 28 四月 2025 10:20:37 +0800
Subject: [PATCH] 修改

---
 src/main/java/com/example/server/progressTrack/service/NetWorkDiagramService.java |   43 +++++++++++++++++++++++++++----------------
 1 files changed, 27 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/example/server/progressTrack/service/NetWorkDiagramService.java b/src/main/java/com/example/server/progressTrack/service/NetWorkDiagramService.java
index eeb3f99..4cc3de7 100644
--- a/src/main/java/com/example/server/progressTrack/service/NetWorkDiagramService.java
+++ b/src/main/java/com/example/server/progressTrack/service/NetWorkDiagramService.java
@@ -4,7 +4,6 @@
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONObject;;
-import cn.hutool.json.XML;
 import com.example.client.service.BaseService;
 import com.example.client.utils.UUIDUtil;
 import com.example.server.progressTrack.Dto.*;
@@ -13,7 +12,6 @@
 import com.example.server.utils.TimeUtils;
 import com.mxgraph.util.mxConstants;
 import com.mxgraph.view.mxGraph;
-import com.mxgraph.view.mxStylesheet;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -79,8 +77,8 @@
     //鐘舵�佸垎涓猴細涓撲笟銆佸凡鍚姩/杩涜涓紙娴呯伆锛夈�佷复鏈燂紙榛勮壊锛夈�佸凡閫炬湡锛堢孩鑹诧級銆佸凡瀹屾垚锛堟祬缁胯壊锛夈�佽秴鏈熷畬鎴愶紙娣辩豢鑹诧級
     enum StatusEnum {zy, jxz, lq, yq, zcwc, cqwc}
 
-    String[] fillColorArr = {"#e5e5e5", "#A9A9A9", "yellow", "#FF0000", "#90EE90", "#006400"};
-    String[] fontColorArr = {"#e5e5e5", "#A9A9A9", "yellow", "#FF0000", "#90EE90", "#006400"};
+    String[] fillColorArr = {"#e5e5e5", "#3498DB", "#F1C40F", "#E74C3C", "#2ECC71", "#006400"};
+    String[] fontColorArr = {"#e5e5e5", "#3498DB", "#F1C40F", "#E74C3C", "#2ECC71", "#006400"};
 
     InitParamDto initParamDto = new InitParamDto();
     ResultDataDto resultDataDto = new ResultDataDto();
@@ -136,7 +134,7 @@
             ) {
                 JSONObject jsonObject = dialgramJsonArray.getJSONObject(i);
                 String shape = jsonObject.get("shape").toString();
-                StatusEnum status = StatusEnum.jxz;//StatusEnum.wqd;
+                StatusEnum status = StatusEnum.jxz;
                 if (shape.equals("custom-text")) {
                     JsonUtils2.setJsonValueByPath(jsonObject, "attrs/body/fill".split("/"), fillColorArr[StatusEnum.zy.ordinal()]);
                     JsonUtils2.setJsonValueByPath(jsonObject, "attrs/text/fill".split("/"), fontColorArr[StatusEnum.zy.ordinal()]);
@@ -1066,7 +1064,7 @@
                 JSONObject jsonObject = modelJsonArray.getJSONObject(i);
                 if (jsonObject.get("shape").equals("custom-circle")) {
                     Object nodeMarker = JsonUtils2.getJsonValueByPath(jsonObject, "attrs/text/text".split("/"));
-                    if ("涓撲笟".equals(nodeMarker)) {
+                   /* if ("涓撲笟".equals(nodeMarker)) {
                         fillColorArr[StatusEnum.zy.ordinal()] = JsonUtils2.getJsonValueByPath(jsonObject, "attrs/body/fill".split("/")).toString();
                         fontColorArr[StatusEnum.zy.ordinal()] = JsonUtils2.getJsonValueByPath(jsonObject, "attrs/text/fill".split("/")).toString();
                     }
@@ -1089,7 +1087,7 @@
                     if ("瓒呮湡瀹屾垚".equals(nodeMarker)) {
                         fillColorArr[StatusEnum.cqwc.ordinal()] = JsonUtils2.getJsonValueByPath(jsonObject, "attrs/body/fill".split("/")).toString();
                         fontColorArr[StatusEnum.cqwc.ordinal()] = JsonUtils2.getJsonValueByPath(jsonObject, "attrs/text/fill".split("/")).toString();
-                    }
+                    }*/
                     if ("闃舵鍚嶇О".equals(nodeMarker)) {
                         networkDiagramPetsDto.getCirclePet().setJson(jsonObject.toString());
                         int width = Convert.toInt(JsonUtils2.getJsonValueByPath(jsonObject, "size/width".split("/")).toString());
@@ -1187,10 +1185,11 @@
         return result;
     }
 
-    public mxGraph getCsDiagram(mxGraph graph, String json, List<NetworkNodeStatusDto> nodeStatusList, Integer panelWidth, Integer panelHeight) {
+    public mxGraph getCsDiagram(mxGraph graph, String json, List<NetworkNodeStatusDto> nodeStatusList, Integer panelWidth, Integer panelHeight, List<DiagramNodeDto> list) {
         if (StringUtils.isBlank(json)) {
             return graph;
         }
+
         Map<Long, StatusEnum> statusMap = new HashMap<>();
         if (nodeStatusList != null) {
             Date today = new Date();
@@ -1305,13 +1304,13 @@
         for (int i = 0; i < jsonArray.size(); i++) {
             String shapeValue = jsonArray.getJSONObject(i).get("shape").toString();
             String idValue = jsonArray.getJSONObject(i).get("id").toString();
-            StatusEnum status = StatusEnum.jxz;//StatusEnum.wqd;
+            StatusEnum status = StatusEnum.jxz;
             if (!shapeValue.equals("edge")) {
                 status = statusMap.get(Long.parseLong(idValue));
                 if ("1888761224410202114".equals(idValue)) {
                     System.out.println(2222);
                 }
-                Object insertVertex = createInsertVertex(graph, jsonArray.getJSONObject(i), defX, defY, status);
+                Object insertVertex = createInsertVertex(graph, jsonArray.getJSONObject(i), defX, defY, status, list);
                 map.put(idValue, insertVertex);
             }
         }
@@ -1449,9 +1448,8 @@
         return graph;
     }
 
-    public Object createInsertVertex(mxGraph graph, JSONObject jsonObject, Integer defX, Integer defY, StatusEnum status) {
+    public Object createInsertVertex(mxGraph graph, JSONObject jsonObject, Integer defX, Integer defY, StatusEnum status, List<DiagramNodeDto> list) {
         Object parent = graph.getDefaultParent();
-
         String shapeValue = jsonObject.get("shape").toString();
         Object graphObject = null;
         switch (shapeValue) {
@@ -1467,8 +1465,21 @@
                 Integer height = (Integer) JsonUtils2.getJsonValueByPath(jsonObject, "size/height".split("/"));
                 if (status != null) {
                     String fontColor = "fontColor=" + fillColorArr[status.ordinal()] + ";";
-                    graphObject = graph.insertVertex(parent, idValue, text, x, y, width, height,
-                            "whiteSpace=wrap;labelWidth=60;" + fontColor + mxConstants.STYLE_SHAPE + "=" + mxConstants.SHAPE_ELLIPSE);
+                    if (list != null && list.size() > 0) {
+                        for (DiagramNodeDto node : list) {
+                            if (text.equals(node.getProcessName())){
+                                graphObject = graph.insertVertex(parent, idValue, text, x, y, width, height,
+                                        "whiteSpace=wrap;labelWidth=60;" + fontColor );
+                                break;
+                            }else{
+                                graphObject = graph.insertVertex(parent, idValue, text, x, y, width, height,
+                                        "whiteSpace=wrap;labelWidth=60;" + fontColor + mxConstants.STYLE_SHAPE + "=" + mxConstants.SHAPE_ELLIPSE);
+                            }
+                        }
+                    }else{
+                        graphObject = graph.insertVertex(parent, idValue, text, x, y, width, height,
+                                "whiteSpace=wrap;labelWidth=60;" + fontColor + mxConstants.STYLE_SHAPE + "=" + mxConstants.SHAPE_ELLIPSE);
+                    }
                 } else {
                     if ("寮�濮�".equals(text) || "缁撴潫".equals(text)) {
                         graphObject = graph.insertVertex(parent, idValue, "", x + width / 4, y + height / 4, width / 2, height / 2,
@@ -1478,9 +1489,9 @@
                                 "whiteSpace=wrap;labelWidth=60;" + mxConstants.STYLE_SHAPE + "=" + mxConstants.SHAPE_ELLIPSE);
                     }
                 }
-                /*if (StringUtils.isNotBlank(title)) {
+                if (StringUtils.isNotBlank(title)) {
                     createText(graph, title, x, y, width, height);
-                }*/
+                }
                 break;
             case "custom-rect":
                 String label = (String) JsonUtils2.getJsonValueByPath(jsonObject, "attrs/label/textWrap/text".split("/"));

--
Gitblit v1.9.1