package net.tqm.view;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Date;
import java.util.Iterator;
import java.util.Map;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import net.tqm.control.TimeRecording;
import net.tqm.util.DayChooser;
import net.tqm.util.ShutdownTimeRecord01;
public class TimeRecordRespective extends JFrame {
/**
* @author tqm
*/
private static final long serialVersionUID = 8831501534638274287L;
private JLabel lblOvertimeDay, lblLeaveTime;
private JTextField jtfOvertimeDay;
private String leaveTime[] = { " ", "7:30", "7:45", "8:00", "8:30", "8:45",
"9:00", "9:45" };
private JComboBox jcbLeaveTime;
private JTextArea jtaHistoryData;
private JButton jbtnOvetimeSubmit, jbtnOvertimeFromFile, jbtnHistoryQuery,
jbtnExcelExport;
private static DayChooser dayChooser = DayChooser.getInstance(new Date());;
JPanel timeRecordPanel, historyListPanel, historyHandlePanel;
JScrollPane jspOvertimeHistory;
public TimeRecordRespective() {
initPanels();
addListener();
defaultSetting();
}
private void initPanels() {
initTimeRecordPanel();// contains overtime日期 时间 excel导出
initHistoryListPanel();// only contains Overtime历史列表
}
private void defaultSetting() {
setTitle("overtime日期及时间记录");
quitControl();
pack();
setResizable(false);
}
private void initHistoryListPanel() {
jbtnHistoryQuery = new JButton("历史数据");
jbtnOvertimeFromFile = new JButton("FromConfig");
jbtnExcelExport = new JButton("excel导出");
historyListPanel = new JPanel();
historyHandlePanel = new JPanel();
jspOvertimeHistory = new JScrollPane(jtaHistoryData);
historyListPanel.add(jspOvertimeHistory);
historyHandlePanel.add(jbtnHistoryQuery);
historyHandlePanel.add(jbtnOvertimeFromFile);
historyHandlePanel.add(jbtnExcelExport);
add(historyListPanel, BorderLayout.CENTER);
add(historyHandlePanel, BorderLayout.SOUTH);
}
private void initTimeRecordPanel() {
timeRecordPanel = new JPanel();
lblOvertimeDay = new JLabel("overtime日期:");
jtfOvertimeDay = new JTextField(10);
dayChooser.register(jtfOvertimeDay);
lblLeaveTime = new JLabel("终 时:");
jcbLeaveTime = new JComboBox(leaveTime);
jbtnOvetimeSubmit = new JButton("提 交");
jtaHistoryData = new JTextArea(10, 32);
timeRecordPanel.add(lblOvertimeDay);
timeRecordPanel.add(jtfOvertimeDay);
timeRecordPanel.add(lblLeaveTime);
timeRecordPanel.add(jcbLeaveTime);
timeRecordPanel.add(jbtnOvetimeSubmit);
add(timeRecordPanel, BorderLayout.NORTH);
}
private void quitControl() {
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
int flag = JOptionPane.showConfirmDialog(null, "确认关闭?", "确认!",
JOptionPane.YES_NO_OPTION,
JOptionPane.INFORMATION_MESSAGE);
if (JOptionPane.YES_OPTION == flag) {
System.exit(0);
} else {
return;
}
}
});
}
private void addListener() {
jbtnOvertimeFromFile.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
Map<String, String> time = ShutdownTimeRecord01
.fetchOvertimeFromConfig();
Iterator<String> ite = time.keySet().iterator();
while (ite.hasNext()) {
String date = ite.next();
TimeRecording.insertRecord(date, time.get(date));
}
try {
TimeRecording.queryHistoryRecord(jtaHistoryData);
} catch (Exception e1) {
e1.printStackTrace();
}
}
});
jbtnOvetimeSubmit.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
String overtimeDay = jtfOvertimeDay.getText();
String leaveTime = (String) jcbLeaveTime.getSelectedItem();
if (otCheck(overtimeDay, leaveTime))
TimeRecording.insertRecord(overtimeDay, leaveTime);
}
private boolean otCheck(String overtimeDay, String leaveTime) {
if (overtimeDay.trim().equals("")
|| leaveTime.trim().equals("")) {
JOptionPane.showMessageDialog(null, "请选择日期和时间!");
return false;
}
return true;
}
});
jbtnHistoryQuery.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
try {
TimeRecording.queryHistoryRecord(jtaHistoryData);
} catch (Exception e1) {
e1.printStackTrace();
}
jtfOvertimeDay.setText(" ");
}
});
jbtnExcelExport.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
TimeRecording.export2Excel();
}
});
}
public static void main(String[] args) {
TimeRecordRespective window = new TimeRecordRespective();
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
window.setLocation((dim.width - window.getWidth()) / 2,
(dim.height - window.getHeight()) / 2);
window.setVisible(true);
}
}
09-05
09-05
09-05