package Frame;
|
import java.awt.BorderLayout;
|
import java.awt.Color;
|
import java.awt.Container;
|
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionListener;
|
import java.awt.event.KeyEvent;
|
import java.awt.event.KeyListener;
|
import java.util.Iterator;
|
import java.util.List;
|
import java.util.Vector;
|
import javax.swing.Box;
|
import javax.swing.ImageIcon;
|
import javax.swing.JInternalFrame;
|
import javax.swing.JPanel;
|
import javax.swing.JScrollPane;
|
import javax.swing.JTable;
|
import javax.swing.JTextField;
|
import javax.swing.table.DefaultTableModel;
|
|
import ColorAndFont.English;
|
import ColorAndFont.NothJPanel;
|
import ColorAndFont.UIColor;
|
import ColorAndFont.buttonTitle;
|
import DataBase.DatabaseManagement;
|
import PbuliClass.FileIn;
|
import PbuliClass.JButtonModel;
|
import PbuliClass.JlableModel;
|
import PbuliClass.OutButton;
|
import PbuliClass.ShowMessage;
|
import PbuliClass.Systems;
|
import PbuliClass.WarningMessage;
|
import PbuliClass.greateTables;
|
import PbuliClass.jinternalFrame;
|
import tbDataModel_Dell.Map_Dell;
|
/**Ѳ¼ì¼Ç¼±í*/
|
@SuppressWarnings("rawtypes")
|
public class Xunjian_JL extends jinternalFrame {
|
/**
|
*
|
*/
|
private static final long serialVersionUID = 1L;
|
jinternalFrame jinerFrame=null;
|
JInternalFrame jinFrame=null;
|
JPanel innerPanel=null;//ÄÚ²¿´°ÌåÃæ°å
|
NothJPanel northPanel=null;//Äϲ¿Ãæ°å
|
JPanel centerPanel=null;//Öв¿Ãæ°å
|
JTextField searchFileld=null;//ËÑË÷Îı¾¿ò
|
JTextField jt_hang=null;//ËÑË÷Îı¾¿ò
|
JButtonModel search=null;//ËÑË÷°´Å¥
|
JButtonModel shuaxin=null;//ˢа´Å¥
|
JButtonModel delete=null;//ɾ³ý°´Å¥
|
JButtonModel deleteAll=null;//È«²¿É¾³ý°´Å¥
|
JScrollPane gd=null;//¹ö¶¯Ãæ°å
|
JTable table=null;//ÉêÃ÷±í¸ñ
|
Vector rowData=null;
|
DefaultTableModel tableModel=null;//ÉùÃ÷±í¸ñÄ£ÐÍ
|
List list=null;
|
int selectedRow;//±»Ñ¡ÖеÄÐÐ
|
Container rq;
|
JlableModel hangrow= new JlableModel("ÿҳÏÔʾµÄÐÐÊý: ");
|
|
|
JButtonModel firstPageButton=null;
|
JButtonModel latePageButton=null;
|
JButtonModel nextPageButton=null;
|
JButtonModel lastPageButton=null;
|
int maxPageNumber;
|
static int currentPageNumber = 1;//µ±Ç°Ò³Ãæ
|
int allrows;//Êý¾Ý×ÜÌõÊý
|
JPanel south=null;
|
JlableModel nowpage;//µ±Ç°Ò³Âë
|
int k;
|
String serch;
|
String a;
|
|
public Xunjian_JL() {//¹¹Ôì·½·¨
|
rowData=new Vector();
|
String title="Ѳ¼ì¼Ç¼";
|
if(Systems.sys().getLanguage().equals("English")) {
|
title="Inspection record";
|
}
|
this.setTitle(title);
|
rq=getContentPane();//»ñÈ¡ÈÝÆ÷
|
rq.setLayout(new BorderLayout());
|
rq.setBackground(Color.white);
|
rq.add(getNorthPanel(),BorderLayout.NORTH);
|
rq.add(getGd(),BorderLayout.CENTER);
|
rq.add(getSouth(),BorderLayout.SOUTH);
|
this.setFrameIcon(new ImageIcon("image/icon/addmapicon.png"));//ÉèÖô°Ìåͼ±ê
|
|
}
|
|
|
|
/**»ñÈ¡±±²¿Ãæ°åµÄ·½·¨*/
|
public NothJPanel getNorthPanel() {
|
if(northPanel==null) {
|
northPanel=new NothJPanel();
|
Box topicBox = Box.createHorizontalBox();// ´´½¨Ò»¸öˮƽÏäÈÝÆ÷
|
topicBox.add(getSearchFileld());//Ìí¼ÓËÑË÷Îı¾¿ò
|
topicBox.add(Box.createHorizontalStrut(2));
|
topicBox.add(getSearch());//Ìí¼ÓËÑË÷°´Å¥
|
topicBox.add(Box.createHorizontalStrut(15));
|
topicBox.add(getShuaxin());//Ìí¼Óˢа´Å¥
|
topicBox.add(Box.createHorizontalStrut(15));
|
topicBox.add(getDelete());//Ìí¼Óɾ³ý°´Å¥
|
topicBox.add(Box.createHorizontalStrut(15));
|
topicBox.add(getDeleteAll());//Ìí¼Óɾ³ýÈ«²¿°´Å¥
|
topicBox.add(Box.createHorizontalStrut(15));
|
topicBox.add(getOutport());//Ìí¼Óµ¼³ö±í¸ñ°´Å¥
|
topicBox.add(Box.createHorizontalStrut(15));
|
topicBox.add(hangrow);
|
topicBox.add(Box.createHorizontalStrut(5));
|
topicBox.add(getJt_hang());
|
northPanel.add(topicBox );
|
}
|
return northPanel;
|
}
|
|
|
/**»ñÈ¡Öв¿Ãæ°åµÄ·½·¨*/
|
public JPanel getCenterPanel() {
|
if(centerPanel==null) {
|
centerPanel=new JPanel();
|
centerPanel.add(getGd());//Ìí¼Ó¹ö¶¯Ãæ°å
|
centerPanel.setBackground(Color.WHITE);
|
|
}
|
return centerPanel;
|
}
|
|
/**»ñÈ¡Äϲ¿Ãæ°åµÄ·½·¨*/
|
public JPanel getSouth() {
|
if(south==null) {
|
south=new JPanel();
|
south.setBackground(UIColor.getNorth_color());//ÉèÖÃÃæ°å±³¾°Îª°×É«
|
Box topicBox = Box.createHorizontalBox();// ´´½¨Ò»¸öˮƽÏäÈÝÆ÷
|
topicBox.add(getFirstPageButton());//Ìí¼ÓËÑË÷Îı¾¿ò
|
topicBox.add(Box.createHorizontalStrut(15));// Ìí¼ÓÒ»¸ö3ÏñËØ¿íµÄˮƽ֧Öù
|
topicBox.add(getLatePageButton());//Ìí¼ÓËÑË÷°´Å¥
|
topicBox.add(Box.createHorizontalStrut(15));// Ìí¼ÓÒ»¸ö5ÏñËØ¿íµÄˮƽ֧Öù
|
topicBox.add(getNextPageButton());//Ìí¼Óˢа´Å¥
|
topicBox.add(Box.createHorizontalStrut(15));// Ìí¼ÓÒ»¸ö5ÏñËØ¿íµÄˮƽ֧Öù
|
topicBox.add(getLastPageButton());//Ìí¼Óɾ³ý°´Å¥
|
nowpage= new JlableModel("µÚ"+currentPageNumber+"Ò³"+" /¹²"+getMaxPageNumber()+"Ò³");
|
topicBox.add(Box.createHorizontalStrut(25));// Ìí¼ÓÒ»¸ö15ÏñËØ¿íµÄˮƽ֧Öù
|
topicBox.add(nowpage);
|
|
if(getMaxPageNumber()==1) {
|
getFirstPageButton().setEnabled(false);
|
getLatePageButton().setEnabled(false);
|
getNextPageButton().setEnabled(false);
|
getLastPageButton().setEnabled(false);
|
}else if(getMaxPageNumber()>1){
|
getNextPageButton().setEnabled(true);
|
getLastPageButton().setEnabled(true);
|
}
|
|
south.add(topicBox );
|
}
|
return south;
|
}
|
|
|
/**»ñÈ¡ËÑË÷Îı¾¿òµÄ·½·¨*/
|
public JTextField getSearchFileld() {
|
if(searchFileld==null){
|
searchFileld=new JTextField(10);
|
searchFileld.addKeyListener(new KeyListener() { //¼üÅÌʼþ¼àÌý
|
public void keyTyped(KeyEvent e) {
|
|
}
|
public void keyReleased(KeyEvent e) {
|
int keyCode=e.getKeyCode();
|
if(keyCode==KeyEvent.VK_ENTER) {
|
getSearch().doClick();//ËÑË÷°´Å¥±»µã»÷
|
}
|
}
|
public void keyPressed(KeyEvent e) {
|
|
}
|
});
|
|
}
|
return searchFileld;
|
}
|
/**»ñÈ¡ËÑË÷°´Å¥µÄ·½·¨*/
|
public JButtonModel getSearch() {
|
if(search==null){
|
search=new JButtonModel(buttonTitle.getSerch());
|
search.addActionListener(new ActionListener() {
|
|
public void actionPerformed(ActionEvent e) {
|
|
// Ö´ÐÐSQL²éѯÓï¾ä»ñµÃµÄ½á¹û¼¯
|
|
try {
|
if(getSearchFileld().getText().length()>1) {
|
String serch="select * from tb_xunjianbaobiao where tagid like'"+getSearchFileld().getText()+"%'";
|
updateSerch(serch);
|
}
|
|
} catch (Exception er) {
|
er.printStackTrace();
|
}
|
|
|
}
|
});
|
|
}
|
return search;
|
}
|
/**»ñȡˢа´Å¥µÄ·½·¨*/
|
public JButtonModel getShuaxin() {
|
if(shuaxin==null){
|
shuaxin=new JButtonModel(buttonTitle.getRefresh());
|
shuaxin.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent e) {
|
updateTable() ;
|
if(getMaxPageNumber()>1){
|
getNextPageButton().setEnabled(true);
|
getLastPageButton().setEnabled(true);
|
}
|
}
|
});
|
|
}
|
return shuaxin;
|
}
|
|
/**»ñÈ¡±í¸ñ±»Ñ¡ÖеÄÐз½·¨*/
|
public int getSelectedRow() {
|
selectedRow=getTable().getSelectedRow();
|
return selectedRow;
|
|
}
|
|
|
|
/**»ñȡɾ³ý°´Å¥µÄ·½·¨*/
|
public JButtonModel getDelete() {
|
if(delete==null){
|
delete=new JButtonModel(buttonTitle.getDelete());
|
delete.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent e) {
|
int[] selectedRows=table.getSelectedRows();//±»Ñ¡ÖÐÐеÄË÷Òý¼¯ºÏ
|
if(selectedRows.length !=0) {
|
for(int i=0;i<selectedRows.length;i++){
|
String id=(String) table.getValueAt(selectedRows[i],0);
|
String floor=(String) table.getValueAt(selectedRows[i],1);
|
String deleteSql="DELETE FROM tb_xunjianbaobiao WHERE id='"+id+"'";
|
String path = "image/mapfile/"+(String)table.getValueAt(selectedRows[i],2);//ͼƬ±£´æÂ·¾¶
|
FileIn.deleteFile(path);
|
if(DatabaseManagement.update(deleteSql) !=0) {
|
Map_Dell.delete_map(floor);
|
};
|
}
|
//ɾ³ý³É¹¦ÌáʾÐÅÏ¢
|
ShowMessage.delteSuccess(selectedRows.length);
|
updateTable();//ˢбí¸ñ
|
|
}
|
else {
|
ShowMessage.zidingyi("ÇëÑ¡ÖÐÐèҪɾ³ýµÄÐУ¡");
|
}
|
|
}
|
});
|
|
}
|
return delete;
|
}
|
/**»ñȡȫ²¿É¾³ý°´Å¥µÄ·½·¨*/
|
public JButtonModel getDeleteAll() {
|
if(deleteAll==null){
|
deleteAll=new JButtonModel(buttonTitle.getDeleteall());
|
deleteAll.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent e) {
|
//Ñ¡Ôñ¶Ô»°¿òÈçyes·µ»Ø0£¬NO·µ»Ø1£¬È¡Ïû·µ»Ø2
|
WarningMessage warning=new WarningMessage();
|
warning.setMessage("Ñ¡Ôñɾ³ýÈ«²¿½«»á°Ñ±í¸ñÊý¾ÝÈ«²¿É¾³ýÈ·¶¨Âð£¿");
|
int warn=warning.getwarMss(getCenterPanel());
|
int tagnum=table.getRowCount();//±í¸ñ×ÜÐÐÊý
|
if(tagnum!=0 && warn==0) {
|
String deleteSql="TRUNCATE TABLE tb_xunjianbaobiao";
|
if(DatabaseManagement.update(deleteSql) !=0) {
|
Map_Dell.delete_all_map();
|
ShowMessage.zidingyi("ɾ³ýÈ«²¿Êý¾Ý³É¹¦£¡");
|
rq.repaint();
|
}
|
}
|
}
|
});
|
|
}
|
return deleteAll;
|
}
|
|
/**»ñÈ¡µ¼³ö±í¸ñ°´Å¥µÄ·½·¨*/
|
public JButtonModel getOutport() {
|
OutButton.setAddtime("addTime");
|
OutButton.setDataName("tb_xunjianbaobiao");
|
|
return new OutButton().get_ouotport_button();
|
|
}
|
|
|
/**»ñÈ¡¹ö¶¯Ãæ°åµÄ·½·¨*/
|
public JScrollPane getGd() {
|
if(gd==null){
|
gd=new JScrollPane(getTable());
|
gd.setBackground(UIColor.getNorth_color());
|
|
}
|
return gd;
|
}
|
|
|
/**Ìí¼Ó±í¸ñÐÐÏòÁ¿Êý¾Ý·½·¨*/
|
@SuppressWarnings("unchecked")
|
public void getRowData(List list ) {
|
Iterator iterator = list.iterator();//´´½¨µü´úÆ÷
|
while (iterator.hasNext()) {//µü´úÆ÷´æÔÚÔªËØ
|
List info = (List) iterator.next();//½«µü´úÆ÷ÀïÃæµÄÔªËØ¸øµ½list¼¯ºÏ
|
Vector rowV = new Vector<>();
|
for(int i=0;i<info.size();i++) {
|
rowV.add(String.valueOf(info.get(i)));
|
}
|
rowData.add(rowV);// Ïò±í¸ñ¶ÔÏóÌí¼ÓÐÐÊý¾Ý
|
}
|
|
}
|
|
|
/**»ñÈ¡»ùÕ¾±í¸ñµÄ·½·¨*/
|
@SuppressWarnings("serial")
|
public JTable getTable() {
|
if(table==null) {
|
String[] name1= {"ÐòºÅ","ÐÕÃû","É豸id","ÇøÓòÃû³Æ","ÇøÓòÐòºÅ","½øÈëʱ¼ä","³öȥʱ¼ä","Í£Áôʱ¼ä/s","ÊÇ·ñÍê³ÉѲ¼ì","Ìí¼Óʱ¼ä"};//±í¸ñÁÐÃû
|
String[] name2= {"Serial Number", "Name", "Equipment ID", "Area Name", "Area Serial Number",
|
"Enter Time", "Exit Time", "Stay Time/s", "Whether the Inspection Is Completed", "Add Time"};//±í¸ñÁÐÃû
|
String[] columnNames=English.columnNames(name1, name2);
|
//Ìí¼Ó±í¸ñÁÐÏòÁ¿
|
Vector<String> columnName=new Vector<>();
|
for(int i=0;i<columnNames.length;i++){
|
columnName.add(columnNames[i]);
|
}
|
|
String sql="select * from tb_xunjianbaobiao order by addtime DESC limit "+getJt_hang().getText();
|
|
//½«ÁбíÖÐËùÓнá¹û¼¯¸øµ½list¼¯ºÏ
|
list = DatabaseManagement.serch(sql);
|
|
getRowData(list );
|
greateTables tables=new greateTables();
|
tableModel=new DefaultTableModel(rowData, columnName){
|
// ʵÏÖÈÃÕû¸ö±í¸ñ²»²»ÔÊÐí±»±à¼
|
public boolean isCellEditable(int row,int column){
|
return false;
|
}
|
};
|
|
table=tables.getTable(tableModel);
|
|
}
|
return table;
|
|
}
|
|
/**ˢбí¸ñ·½·¨*/
|
public void updateTable() {
|
int tagnum=getTable().getRowCount();//±í¸ñ×ÜÐÐÊý
|
if(tagnum !=0 ) {
|
for (int i = 0; i < tagnum; i++) {//ɾ³ýËùÓÐÐÐ
|
tableModel.removeRow(0);
|
}
|
|
String sql="select * from tb_xunjianbaobiao order by addtime DESC limit "+getJt_hang().getText();
|
list = DatabaseManagement.serch(sql);//½«ÁбíÖÐËùÓнá¹û¼¯¸øµ½list¼¯ºÏ
|
getRowData(list );
|
|
}
|
|
}
|
|
/**ËÑË÷·½·¨*/
|
public void updateSerch(String serch) {
|
int tagnum=getTable().getRowCount();//±í¸ñ×ÜÐÐÊý
|
if(tagnum !=0 ) {
|
for (int i = 0; i < tagnum; i++) {//ɾ³ýËùÓÐÐÐ
|
tableModel.removeRow(0);
|
}
|
list = DatabaseManagement.serch(serch);//½«ÁбíÖÐËùÓнá¹û¼¯¸øµ½list¼¯ºÏ
|
getRowData(list);
|
}
|
}
|
|
|
|
/**ÿҳÏÔʾµÄÐÐÊý*/
|
public JTextField getJt_hang() {
|
if(jt_hang==null) {
|
jt_hang=new JTextField(3);
|
jt_hang.setText("500");
|
}
|
return jt_hang;
|
}
|
|
public JButtonModel getFirstPageButton() {
|
if(firstPageButton==null) {
|
firstPageButton=new JButtonModel(buttonTitle.getHome());
|
firstPageButton.setEnabled(false);
|
firstPageButton.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent e) {
|
currentPageNumber=1;
|
nowpage.setText("µÚ"+currentPageNumber+"Ò³");
|
lastPageButton.setEnabled(true);
|
nextPageButton.setEnabled(true);
|
k=Integer.parseInt(jt_hang.getText());
|
serch="select * from tb_xunjianbaobiao limit 0,"+k;
|
updateSerch(serch);
|
currentPageNumber = 1;
|
firstPageButton.setEnabled(false);
|
latePageButton.setEnabled(false);
|
}
|
});
|
}
|
return firstPageButton;
|
}
|
|
public JButtonModel getLatePageButton() {
|
if(latePageButton==null) {
|
latePageButton=new JButtonModel(buttonTitle.getPrevious());
|
latePageButton.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent e) {
|
lastPageButton.setEnabled(true);
|
latePageButton.setEnabled(true);
|
|
--currentPageNumber;
|
nowpage.setText("µÚ"+currentPageNumber+"Ò³");
|
if(currentPageNumber==1) {
|
latePageButton.setEnabled(false);
|
firstPageButton.setEnabled(false);
|
}
|
if(currentPageNumber>=1) {
|
k=Integer.parseInt(jt_hang.getText().trim());
|
a=String.valueOf(currentPageNumber*k-k);
|
serch="select * from tb_xunjianbaobiao limit "+a+","+k;
|
updateSerch(serch);
|
nextPageButton.setEnabled(true);
|
}
|
}
|
});
|
}
|
return latePageButton;
|
}
|
|
public JButtonModel getNextPageButton() {
|
if(nextPageButton==null) {
|
nextPageButton=new JButtonModel(buttonTitle.getNext());
|
nextPageButton.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent e) {
|
++currentPageNumber;
|
nowpage.setText("µÚ"+currentPageNumber+"Ò³");
|
k=Integer.parseInt(jt_hang.getText().trim());
|
a=String.valueOf(currentPageNumber*k-k);
|
serch="select * from tb_xunjianbaobiao limit "+a+","+k;
|
updateSerch(serch);
|
if(currentPageNumber!=1) {
|
firstPageButton.setEnabled(true);
|
latePageButton.setEnabled(true);
|
}
|
if (currentPageNumber == maxPageNumber) {
|
nextPageButton.setEnabled(false);
|
lastPageButton.setEnabled(false);
|
}
|
|
|
}
|
});
|
}
|
return nextPageButton;
|
}
|
|
public JButtonModel getLastPageButton() {
|
if(lastPageButton==null) {
|
lastPageButton=new JButtonModel(buttonTitle.getLast());
|
lastPageButton.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent e) {
|
nextPageButton.setEnabled(false);
|
lastPageButton.setEnabled(false);
|
k=Integer.parseInt(jt_hang.getText().trim());
|
a=String.valueOf(getMaxPageNumber()*k-k);
|
serch="select * from tb_xunjianbaobiao limit "+a+","+k;
|
updateSerch(serch);
|
latePageButton.setEnabled(true);
|
firstPageButton.setEnabled(true);
|
currentPageNumber=getMaxPageNumber();
|
nowpage.setText("µÚ"+currentPageNumber+"Ò³");
|
|
}
|
});
|
|
}
|
return lastPageButton;
|
}
|
|
/**×î´óµÄÒ³ÂëÊý*/
|
public int getMaxPageNumber() {
|
allrows=DatabaseManagement.get_alldate_indatabase("tb_xunjianbaobiao").size();
|
double k=Integer.parseInt(jt_hang.getText().trim());
|
double j=allrows/k;
|
return maxPageNumber=(int) Math.ceil(j);
|
}
|
|
|
}
|