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/client/service/Level2ViewService.java |   77 +++++++++++++++++++++++++++-----------
 1 files changed, 54 insertions(+), 23 deletions(-)

diff --git a/src/main/java/com/example/client/service/Level2ViewService.java b/src/main/java/com/example/client/service/Level2ViewService.java
index e70c7a0..54b7a21 100644
--- a/src/main/java/com/example/client/service/Level2ViewService.java
+++ b/src/main/java/com/example/client/service/Level2ViewService.java
@@ -2,6 +2,8 @@
 
 import com.example.client.dto.ColumnDto;
 import com.example.client.utils.CommonTable;
+import com.example.client.utils.Compute;
+import com.example.server.progressTrack.Dto.DiagramNodeDto;
 import com.example.server.progressTrack.Dto.NetworkNodeStatusDto;
 import com.example.server.progressTrack.model.DjJdgzNetworkLevel1;
 import com.example.server.progressTrack.model.DjJdgzNetworkLevel2;
@@ -10,15 +12,13 @@
 import com.example.server.progressTrack.service.NetWorkDiagramService;
 import com.mxgraph.swing.mxGraphComponent;
 import com.mxgraph.view.mxGraph;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.swing.*;
 import java.awt.*;
-import java.awt.event.MouseAdapter;
-import java.awt.event.MouseEvent;
-import java.awt.event.MouseWheelEvent;
-import java.awt.event.MouseWheelListener;
+import java.awt.event.*;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -28,14 +28,16 @@
     @Autowired
     private DjJdgzNetworkLevel2Service level2Service;
     @Autowired
+    private DjJdgzNetworkLevel1Service level1Service;
+    @Autowired
     private NetWorkDiagramService netWorkDiagramService;
 
-    public JPanel createTable(Integer width, Integer height) {
-        height = height - 100;
-        JPanel panel = new JPanel();
+    public JPanel createTable(Integer width, Integer height, JFrame frame) {
+        JPanel panel = new JPanel(new BorderLayout());
+        panel.setPreferredSize(new Dimension(width, height));
 
-        JPanel jLeft = new JPanel(new BorderLayout());
-        jLeft.setPreferredSize(new Dimension(width / 4 - 20, height));
+        JPanel jLeft = new JPanel();
+        jLeft.setPreferredSize(new Dimension(width / 4 - 20, Compute.ComputeHeight(0, frame)));
 
         JPanel diagram = new JPanel(new BorderLayout());
         diagram.setPreferredSize(new Dimension(width - width / 4, height));
@@ -43,20 +45,36 @@
 
         // 鍒涘缓瀛愯〃鏍�
         List<ColumnDto> columnDto = new ArrayList<>();
-        List<DjJdgzNetworkLevel2> list = level2Service.getList(null);
+        List<DjJdgzNetworkLevel1> list = level1Service.getList(null);
         //columnDto.add(new ColumnDto("ID", "id", -1, null,false));
+        if (list == null || list.size() == 0) {
+            JOptionPane.showMessageDialog(null, "杩樻湭褰曞叆浜岀骇缃戠粶鍥炬暟鎹�", "鎻愮ず", JOptionPane.WARNING_MESSAGE);
+            return null;
+        }
 
-
-        columnDto.add(new ColumnDto("搴忓彿", "", width / 10 - 10, "autoCreate", false, null,null));
-        columnDto.add(new ColumnDto("宸ョ▼", "ProjectName", width / 8, null, false, null,null));
-        columnDto.add(new ColumnDto("涓�绾ц妭鐐�", "processName", width / 8, null, false, null,null));
+        columnDto.add(new ColumnDto("搴忓彿", "", 120, "autoCreate", false, null, null));
+        columnDto.add(new ColumnDto("宸ョ▼", "ProjectName", 270, null, false, null, null));
+        //columnDto.add(new ColumnDto("涓�绾ц妭鐐�", "processName", 125, null, false, null, null));
 
         JTable subTable = CommonTable.createCommonTable(list, columnDto);
         subTable.setRowHeight(25);
-        subTable.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
+        subTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
 
         JScrollPane scrollTable = new JScrollPane(subTable);
-        jLeft.add(scrollTable, BorderLayout.CENTER);
+        scrollTable.setPreferredSize(new Dimension(width / 4 - 20, Compute.ComputeHeightWithScroll(0, frame)));
+        jLeft.add(scrollTable);
+        frame.addComponentListener(new ComponentAdapter() {
+            @Override
+            public void componentResized(ComponentEvent e) {
+
+                jLeft.setPreferredSize(new Dimension(width / 4 - 20, Compute.ComputeHeight(0, frame)));
+                scrollTable.setPreferredSize(new Dimension(width / 4 - 20, Compute.ComputeHeightWithScroll(0, frame)));
+                jLeft.revalidate();
+                jLeft.repaint();
+                scrollTable.revalidate();
+                scrollTable.repaint();
+            }
+        });
 
         // 鍒涘缓姘村钩鍒嗗壊闈㈡澘
         JSplitPane hSplitPane = new JSplitPane(
@@ -72,15 +90,19 @@
         panel.add(hSplitPane, BorderLayout.CENTER);
 
         mxGraph graph = new mxGraph();
-        String json = list.get(0).getContent();
-        List<NetworkNodeStatusDto> nodeStatusList = level2Service.getNodeStatusData(list.get(0).getId());
 
-        graph = netWorkDiagramService.getCsDiagram(graph, json, nodeStatusList, diagram.getPreferredSize().width, diagram.getPreferredSize().height);
+        List<DiagramNodeDto> list2 = level1Service.getNodeList(list.get(0).getId());
+        List<DiagramNodeDto> list22 = level1Service.getNodeList2(list.get(0).getId());
+
+        String json = netWorkDiagramService.createSimpleDiagram(list2);
+        List<NetworkNodeStatusDto> nodeStatusList = level1Service.getNodeStatus(list.get(0).getId());
+
+        graph = netWorkDiagramService.getCsDiagram(graph, json, nodeStatusList, diagram.getPreferredSize().width, diagram.getPreferredSize().height,list22);
 
         mxGraphComponent graphComponent = new mxGraphComponent(graph);
         graphComponent.setConnectable(false);
         graphComponent.setDragEnabled(false);
-        graphComponent.zoomTo(2, true);
+        graphComponent.zoomTo(1, true);
         diagram.add(graphComponent);
 
         mxGraph finalGraph = graph;
@@ -102,9 +124,18 @@
                 if (e.getButton() == MouseEvent.BUTTON1) {
                     // 寰楀埌閫変腑鐨勮鍒楃殑绱㈠紩鍊�
                     int r = subTable.getSelectedRow();
-                    DjJdgzNetworkLevel2 data = list.get(r);
-                    List<NetworkNodeStatusDto> nodeStatusList = level2Service.getNodeStatusData(data.getId());
-                    graph2[0] = netWorkDiagramService.getCsDiagram(graph2[0], data.getContent(), nodeStatusList, diagram.getPreferredSize().width, diagram.getPreferredSize().height);
+
+                    List<DiagramNodeDto> list2 = level1Service.getNodeList(list.get(r).getId());
+
+                    String json = netWorkDiagramService.createSimpleDiagram(list2);
+                    List<NetworkNodeStatusDto> nodeStatusList = level1Service.getNodeStatus(list.get(r).getId());
+                    List<DiagramNodeDto> list22 = level1Service.getNodeList2(list.get(r).getId());
+                    mxGraph csDiagram = netWorkDiagramService.getCsDiagram(graph2[0], json, nodeStatusList, diagram.getPreferredSize().width, diagram.getPreferredSize().height,list22);
+                    if (StringUtils.isNotBlank(json)) {
+                        graph2[0] = csDiagram;
+                    } else {
+                        graph2[0].removeCells(graph2[0].getChildVertices(graph2[0].getDefaultParent()));
+                    }
                 }
             }
         });

--
Gitblit v1.9.1