From a80b4a7eb099390bb53c967126fa97b30568e1a3 Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期二, 01 四月 2025 10:01:38 +0800
Subject: [PATCH] 修改

---
 src/main/java/com/example/client/service/StatisReportsService.java |   64 ++++++++++++++++++++++++++++----
 1 files changed, 56 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/example/client/service/StatisReportsService.java b/src/main/java/com/example/client/service/StatisReportsService.java
index 80206a9..0a8033f 100644
--- a/src/main/java/com/example/client/service/StatisReportsService.java
+++ b/src/main/java/com/example/client/service/StatisReportsService.java
@@ -4,10 +4,13 @@
 import com.example.client.model.TableButton;
 import com.example.client.utils.CommonTable;
 import com.example.client.utils.ComplexTable;
+import com.example.client.utils.Compute;
+import com.example.server.progressTrack.Dto.ReportRecordDto;
 import com.example.server.progressTrack.Dto.StatistReportsDto;
 import com.example.server.progressTrack.model.DjJdgzNetworkLevel1;
 import com.example.server.progressTrack.model.DjJdgzNetworkLevel1List;
 import com.example.server.progressTrack.model.DjJdgzShip;
+import com.example.server.progressTrack.model.DjJdgzTrackRecord;
 import com.example.server.progressTrack.service.DjJdgzNetworkLevel1Service;
 import com.example.server.progressTrack.service.DjJdgzShipService;
 import com.example.server.progressTrack.service.DjJdgzTrackRecordService;
@@ -29,9 +32,8 @@
     @Autowired
     private DjJdgzTrackRecordService djJdgzTrackRecordService;
 
-    private JTable table;
 
-    public void createTable(JFrame jFrame,Long level1NetworkId) {
+    public void createTable(JFrame jFrame, Long level1NetworkId) {
         JFrame frame1 = new JFrame("缁熻鎶ヨ〃");
         frame1.setSize(1200, 700);
         frame1.setResizable(false);
@@ -46,7 +48,6 @@
             }
         });
 
-        List<ColumnDto> columnDto = new ArrayList<>();
         List<StatistReportsDto> list = djJdgzTrackRecordService.getReport(level1NetworkId);
 
         //columnDto.add(new ColumnDto("ID", "id", -1, null,false));
@@ -69,16 +70,15 @@
         //frame1.add(scrollTable);
 
 
-
         Object[][] headerRows = new Object[2][7];
-        headerRows[0] = new Object[]{"鐝粍涓撲笟","椤圭洰鎬绘暟","鏈畬鎴�",ComplexTable.mergeCellX,ComplexTable.mergeCellX,"宸插畬鎴�",ComplexTable.mergeCellX};
+        headerRows[0] = new Object[]{"鐝粍涓撲笟", "椤圭洰鎬绘暟", "鏈畬鎴�", ComplexTable.mergeCellX, ComplexTable.mergeCellX, "宸插畬鎴�", ComplexTable.mergeCellX};
         //姝ゅ2-5鏄笉浼氭樉绀哄嚭鏉ョ殑锛屽洜涓�1-4鍚戜笅鍚堝苟浜嗕竴琛� + 鍚戝彸鍚堝苟浜嗕竴鍒�  锛� 鑰�2-5琚繖涓煩褰㈣寖鍥村寘鎷簡
-        headerRows[1] = new Object[]{ComplexTable.mergeCellY, ComplexTable.mergeCellY ,"杩涜涓�","涓存湡","閫炬湡","姝e父瀹屾垚","瓒呮湡瀹屾垚"};
+        headerRows[1] = new Object[]{ComplexTable.mergeCellY, ComplexTable.mergeCellY, "杩涜涓�", "涓存湡", "閫炬湡", "姝e父瀹屾垚", "瓒呮湡瀹屾垚"};
 
         String[][] body = new String[list.size()][7];
 
         for (int i = 0; i < list.size(); i++) {
-            StatistReportsDto data =list.get(i);
+            StatistReportsDto data = list.get(i);
             body[i][0] = data.getTeamGroupName();
             body[i][1] = String.valueOf(data.getAllNum());
             body[i][2] = String.valueOf(data.getJxzNum());
@@ -87,12 +87,60 @@
             body[i][5] = String.valueOf(data.getZcwcNum());
             body[i][6] = String.valueOf(data.getCqwcNum());
         }
+        ComplexTable complexTable = new ComplexTable(headerRows, body, 171);
+        JScrollPane scrollTable = new JScrollPane(complexTable);
 
-        JScrollPane scrollTable = new JScrollPane(new ComplexTable(headerRows , body,171));
+        complexTable.addMouseListener(new MouseAdapter() {
+            @Override
+            public void mouseClicked(MouseEvent e) {
+
+                int row = complexTable.rowAtPoint(e.getPoint());
+                int column = complexTable.columnAtPoint(e.getPoint());
+
+                // 妫�鏌ユ槸鍚︾偣鍑讳簡鏈夋晥鍗曞厓鏍�
+                if (row >= 0 && column >= 1) {
+                    Object cellValue = complexTable.getValueAt(row, column);
+                    Integer value = Integer.parseInt(cellValue.toString());
+                    if (value > 0) {
+                        Long teamgroupId = list.get(row).getTeamgroupId();
+                        reportRecord(column,level1NetworkId,teamgroupId);
+                    }
+                }
+            }
+        });
         frame1.add(scrollTable);
         frame1.setVisible(true);
     }
 
+    private void reportRecord(int column, Long level1NetworkId,Long teamgroupId) {
+        JFrame frame1 = new JFrame("璁板綍");
+        frame1.setSize(500, 400);
+        frame1.setResizable(false);
+        frame1.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
+        frame1.setLocationRelativeTo(null);
+        frame1.setVisible(true);
+
+        List<ReportRecordDto> list = djJdgzTrackRecordService.getReportRecord(level1NetworkId,column,teamgroupId);
+
+        List<ColumnDto> columnDto = new ArrayList<>();
+        //columnDto.add(new ColumnDto("ID", "id", -1, null,false));
+        columnDto.add(new ColumnDto("搴忓彿", "", (500  - 10) / 3, "autoCreate", false, null, null));
+        columnDto.add(new ColumnDto("璁惧鍚嶇О", "name", (500  - 10) / 3, null, false, null, null));
+        columnDto.add(new ColumnDto("鑺傜偣鍚嶇О", "processName", (500  - 10) / 3, null, false, null, null));
+
+        JTable table = CommonTable.createCommonTable(list, columnDto);
+        table.setRowHeight(25);
+
+        table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
+
+        JScrollPane scrollPane = new JScrollPane(table, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
+        scrollPane.setViewportView(table);
+        scrollPane.getViewport().setBackground(Color.WHITE);
+        scrollPane.setPreferredSize(new Dimension(500 - 20, 400));
+
+        frame1.add(scrollPane);
+    }
+
 }
 
 

--
Gitblit v1.9.1