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