jar
jinlin
2025-03-10 f0aae4b39afbcbb18fb5a0b32e3ca689662c5ca7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
package com.example.client.service;
 
import com.example.client.dto.ColumnDto;
import com.example.client.model.TableButton;
import com.example.client.utils.CommonTable;
import com.example.client.utils.ComplexTable;
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.service.DjJdgzNetworkLevel1Service;
import com.example.server.progressTrack.service.DjJdgzShipService;
import com.example.server.progressTrack.service.DjJdgzTrackRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import javax.swing.*;
import javax.swing.event.TableModelEvent;
import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
 
@Service
public class StatisReportsService {
    @Autowired
    private DjJdgzTrackRecordService djJdgzTrackRecordService;
 
    private JTable table;
 
    public void createTable(JFrame jFrame,Long level1NetworkId) {
        JFrame frame1 = new JFrame("统计报表");
        frame1.setSize(1200, 700);
        frame1.setResizable(false);
        frame1.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
        frame1.setLocationRelativeTo(null);
        frame1.setVisible(true);
        frame1.addWindowListener(new WindowAdapter() {
            //添加第二个界面的关闭事件:
            public void windowClosing(WindowEvent e) {
                //添加事件:
                jFrame.setEnabled(true);//将主界面再设置为可操作的
            }
        });
 
        List<ColumnDto> columnDto = new ArrayList<>();
        List<StatistReportsDto> list = djJdgzTrackRecordService.getReport(level1NetworkId);
 
        //columnDto.add(new ColumnDto("ID", "id", -1, null,false));
      /*  columnDto.add(new ColumnDto("班组专业", "TeamGroupName", 280, null, false, null,null));
        columnDto.add(new ColumnDto("项目总数", "AllNum", 150, null, false, null,null));
        columnDto.add(new ColumnDto("进行中", "JxzNum", 150, null, false, null,null));
        columnDto.add(new ColumnDto("临期", "LqNum", 150, null, false, null,null));
        columnDto.add(new ColumnDto("逾期", "YqNum", 150, null, false, null,null));
        columnDto.add(new ColumnDto("正常完成", "ZcwcNum", 150, null, false, null,null));
        columnDto.add(new ColumnDto("超期完成", "CqwcNum", 150, null, false, null,null));
 
 
        table = CommonTable.createCommonTable(list, columnDto);
 
 
        table.setRowHeight(25);
 
        table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
        JScrollPane scrollTable = new JScrollPane(table);*/
        //frame1.add(scrollTable);
 
 
 
        Object[][] headerRows = new Object[2][7];
        headerRows[0] = new Object[]{"班组专业","项目总数","未完成",ComplexTable.mergeCellX,ComplexTable.mergeCellX,"已完成",ComplexTable.mergeCellX};
        //此处2-5是不会显示出来的,因为1-4向下合并了一行 + 向右合并了一列  , 而2-5被这个矩形范围包括了
        headerRows[1] = new Object[]{ComplexTable.mergeCellY, ComplexTable.mergeCellY ,"进行中","临期","逾期","正常完成","超期完成"};
 
        String[][] body = new String[list.size()][7];
 
        for (int i = 0; i < list.size(); 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());
            body[i][3] = String.valueOf(data.getLqNum());
            body[i][4] = String.valueOf(data.getYqNum());
            body[i][5] = String.valueOf(data.getZcwcNum());
            body[i][6] = String.valueOf(data.getCqwcNum());
        }
 
        JScrollPane scrollTable = new JScrollPane(new ComplexTable(headerRows , body,171));
        frame1.add(scrollTable);
        frame1.setVisible(true);
    }
 
}