package com.example.client.service; import com.example.client.dto.ColumnDto; import com.example.client.dto.JComboBoxItem; import com.example.client.utils.CommonTable; import com.example.client.utils.GBC; import com.example.client.utils.UploadFile; import com.example.server.progressTrack.model.DjJdgzHandover; import com.example.server.progressTrack.model.DjJdgzTrackRecord; import com.example.server.progressTrack.service.DjJdgzHandoverService; import com.example.server.progressTrack.service.DjJdgzNetworkLevel1Service; import com.example.server.progressTrack.service.DjJdgzTrackRecordService; import com.example.server.sysOss.model.SysOss; import org.apache.commons.lang3.StringUtils; import org.jdesktop.swingx.JXDatePicker; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @Service public class HandoverAddOrUpdate { @Autowired private DjJdgzHandoverService handoverService; @Autowired private HandoverService handoverManageService; @Autowired private DjJdgzNetworkLevel1Service level1Service; @Autowired private UploadFile uploadFile; public void openDialog(DjJdgzHandover data, JFrame jFrame, List columnDto, JTable table) { JFrame frame1 = new JFrame("交接情况"); frame1.setSize(1000, 800); 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);//将主界面再设置为可操作的 } }); GridBagLayout layout = new GridBagLayout(); frame1.setLayout(layout); JComboBoxItem[] projectList = level1Service.getProjectList(); JLabel JLabel0 = new JLabel("工程"); JComboBox comboBox = new JComboBox<>(projectList); if(data.getLevel1NetworkId()!=null){ comboBox.setSelectedItem(new JComboBoxItem(data.getLevel1NetworkId(),data.getProjectName())); } JLabel JLabel1 = new JLabel("交方艇队"); JTextField currentTeamDesc = new JTextField(16); if (StringUtils.isNotBlank(data.getCurrentTeam())) { currentTeamDesc.setText(data.getCurrentTeam()); } JLabel JLabel2 = new JLabel("接方艇队"); JTextField handoverTeamDesc = new JTextField(16); if (StringUtils.isNotBlank(data.getHandoverTeam())) { handoverTeamDesc.setText(data.getHandoverTeam()); } JLabel JLabel3 = new JLabel("交接时间"); JXDatePicker handoverTimeDate = new JXDatePicker(); handoverTimeDate.setPreferredSize(new Dimension(185, 28)); SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy-MM-dd"); handoverTimeDate.setFormats(sdFormat); Date parse = new Date(); try { if (StringUtils.isNotBlank(data.getHandoverTime())) { parse = sdFormat.parse(data.getHandoverTime()); } } catch (ParseException e) { e.printStackTrace(); } handoverTimeDate.setDate(parse); JLabel JLabel4 = new JLabel("交接情况说明"); JTextArea handoverSitua = new JTextArea(5, 40); handoverSitua.setLineWrap(true); handoverSitua.setPreferredSize(new Dimension(600,200)); if (StringUtils.isNotBlank(data.getHandoverSituation())) { handoverSitua.setText(data.getHandoverSituation()); } JLabel JLabel5 = new JLabel("附件"); SysOss oss = new SysOss(); if (data.getId()!=null){ oss.setBusiId(data.getId()); } oss.setBusiType("HandoverFileUpload"); oss.setBusiField("HandoverFileUpload"); oss.setBusiTypeName("交接情况文件"); oss.setBusiFieldName("交接情况文件"); oss.setStatus(1); oss.setChannel("local"); JPanel jPanel = uploadFile.uploadFile(jFrame,500,250,oss); JButton saveButton = new JButton("确定"); frame1.add(JLabel0, new GBC(0, 0, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5)); frame1.add(comboBox, new GBC(1, 0, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5)); frame1.add(JLabel1, new GBC(0, 1, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5)); frame1.add(currentTeamDesc, new GBC(1, 1, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5)); frame1.add(JLabel2, new GBC(0, 2, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5)); frame1.add(handoverTeamDesc, new GBC(1, 2, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5)); frame1.add(JLabel3, new GBC(0, 3, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5)); frame1.add(handoverTimeDate, new GBC(1, 3, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5)); frame1.add(JLabel4, new GBC(0, 4, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5)); frame1.add(handoverSitua, new GBC(1, 4, 1, 5).setAnchor(GBC.SOUTHWEST).setInsets(5)); frame1.add(JLabel5, new GBC(0, 9, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5)); frame1.add(jPanel, new GBC(1, 9, 6, 5).setAnchor(GBC.SOUTHWEST).setInsets(5)); frame1.add(saveButton, new GBC(0, 15, 6, 1).setWeight(0, 0)); saveButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { JComboBoxItem project = (JComboBoxItem) comboBox.getSelectedItem(); data.setLevel1NetworkId(project.getId()); data.setCurrentTeam(currentTeamDesc.getText()); data.setHandoverTeam(handoverTeamDesc.getText()); data.setHandoverTime(sdFormat.format(handoverTimeDate.getDate())); data.setHandoverSituation(handoverSitua.getText()); Long id = handoverService.save(data); uploadFile.save(id); List list = handoverService.getList(project.getId()); CommonTable.refreshTable(list,columnDto,table); handoverManageService.tableModelListener(table,jFrame,list); frame1.dispose(); jFrame.setEnabled(true);//将主界面再设置为可操作的 } }); } }