⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 renewalbook.java

📁 简单的书店管理系统,是课设期间教师指导完成的,希望会对大家有帮助!
💻 JAVA
字号:
package book;

import java.awt.Color;
import java.awt.HeadlessException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;

import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextField;

public class RenewalBook extends Mb{
	private JLabel icon,bookNumber,bookName,readerNumber,readerName,jbookTime,yhbookTime,chaoTime,jsr,chaoqi;

	
	private JTextField tbookNumber,tbookName,treaderNumber,treaderName,tjbookTime,tyhbookTime,tchaoTime,tjsr,tchaoqi;
	

	private ButtonIcon ok,xu,close,quxiao;

	private ArrayList List = new ArrayList();

	private Table table;

	private PreparedStatement pstmt = null;
	
	RenewalBook(String s, int i, int j) throws SQLException {
		super(s, i, j);
		con.setLayout(null);
		shezhi();
		add();
	}
	
	private void shezhi(){
		
		setLabel();
		setTextField();
		setButton();
	}
	
	void setLabel(){
		
		icon=new JLabel(new ImageIcon("./data/image/heard/xujietushu.jpg"));
		icon.setBounds(0,5,600,50);
		
		bookNumber=new JLabel("图书编号:");
		bookNumber.setBounds(20, 60, 80, 18);
		
		readerNumber=new JLabel("读者编号:");
		readerNumber.setBounds(22, 100, 80, 18);
		
		bookName=new JLabel("图书名称:");
		bookName.setBounds(180, 60, 80, 18);
		
		
		readerName=new JLabel("读者姓名:");
		readerName.setBounds(180, 90, 80, 18);
		
		jbookTime=new JLabel("借书日期:");
		jbookTime.setBounds(180, 120, 80, 18);
		
		yhbookTime=new JLabel("应还日期:");
		yhbookTime.setBounds(180, 150, 80, 18);
		
		chaoTime=new JLabel("是否超期:");
		chaoTime.setBounds(400, 60, 80, 18);
		
		chaoqi=new JLabel("超期天数:");
		chaoqi.setBounds(400, 90, 80, 18);
		
		jsr=new JLabel("经手人:");
		jsr.setBounds(400, 120, 80, 18);
		
		
		
	}
	
	void setTextField(){

		tbookNumber=new JTextField();
		tbookNumber.setBounds(20, 80, 120, 18);
		
		treaderNumber=new JTextField();
		treaderNumber.setBounds(20, 120, 120, 18);
		treaderNumber.setEnabled(false);
		
		tbookName=new JTextField();
		tbookName.setBounds(250, 60, 120, 18);
		tbookName.setEnabled(false);
		
		treaderName=new JTextField();
		treaderName.setBounds(250, 90, 120, 18);
		treaderName.setEnabled(false);
		
		tjbookTime=new JTextField();
		tjbookTime.setBounds(250, 120, 120, 18);
		tjbookTime.setEnabled(false);
		
		tyhbookTime=new JTextField();
		tyhbookTime.setBounds(250, 150, 120, 18);
		tyhbookTime.setEnabled(false);
		
		tchaoTime=new JTextField();
		tchaoTime.setBounds(470,60,120,18);
		tchaoTime.setEnabled(false);
		
		tchaoqi=new JTextField();
		tchaoqi.setBounds(470,90,120,18);
		tchaoqi.setEnabled(false);
		
		tjsr=new JTextField();
		tjsr.setBounds(470,120,120,18);
		tjsr.setEnabled(false);
		
	}
	
	void setButton(){
		ok = new ButtonIcon("确定");
		ok.setBounds(20, 150, 70, 25);
		ok.addActionListener(new ActionListener(){

			public void actionPerformed(ActionEvent arg0) {
				try {
					MainDAO dao=new MainDAO();
					if(judge()){
						xu.setEnabled(true);
						ResultSet rs=null;
						String str = "select * from jiechutushu where 图书编号=?";
						pstmt = dao.getPreparedStatement(str);
						pstmt.setInt(1,Integer.parseInt(tbookNumber.getText()));
						rs=pstmt.executeQuery();
					    if(rs.next()){
					    	treaderNumber.setText(rs.getString("读者编号"));
					    	tbookName.setText(rs.getString("图书名称"));
					        treaderName.setText(rs.getString("读者姓名"));
					        tjbookTime.setText(rs.getString("借书日期"));
					        tyhbookTime.setText(rs.getString("应还日期"));
                            tchaoqi.setText(cTime(tyhbookTime.getText()));
                            if(Integer.parseInt(tchaoqi.getText())>0){
                            	tchaoTime.setText("是");
                            	setChaoTime();
                            	
                            }
                            else{
                            	tchaoTime.setText("否");
                            }
					        tjsr.setText(rs.getString("经手人"));
					    }
					    rs.close();
					    dao.close();
					}
				} catch (SQLException e) {
					e.printStackTrace();
				}
				
			}
		});
		
		
		xu = new ButtonIcon("确定");
		xu.setBounds(310, 180, 70, 25);
		xu.setEnabled(false);
		xu.addActionListener(new ActionListener(){

			public void actionPerformed(ActionEvent arg0) {
		        	try {
		        		java.sql.Date nowTime= new java.sql.Date(Calendar.getInstance().getTime().getTime());
		        		if(tchaoTime.getText().equals("是")){
		        			JOptionPane.showMessageDialog(tbookName, "图书已超期,请还书处罚后再借!!!");
		        			allClean();
		        		}
		        		else
		        		{   MainDAO dao = new MainDAO();
		        		String s=getDate(getReaderType());
		        		System.out.println(s);
		        		String str = "update jiechutushu set 借书日期=?,应还日期=? where 图书编号=?";
		        		pstmt = dao.getPreparedStatement(str);
		        		pstmt.setDate(1,nowTime);
		        		pstmt.setString(2,s);
		        		pstmt.setInt(3,Integer.parseInt(tbookNumber.getText()));
		        		pstmt.executeUpdate();
		        		pstmt.close();
		        		dao.close();
		        			JOptionPane.showMessageDialog(tbookName, "续借成功,请按时还书!!!");
		        			allClean();
		        		}
		    
					} catch (SQLException e) {
						e.printStackTrace();
					}
			
			}
			
		});
		
		
		quxiao = new ButtonIcon("取消");
		quxiao.setBounds(410, 180, 70, 25);
		quxiao.addActionListener(new ActionListener(){

			public void actionPerformed(ActionEvent arg0) {

                  allClean();
			}
			
		});
		
		
		close = new ButtonIcon("关闭");
		close.setBounds(510, 180, 70, 25);
		close.addActionListener(new ActionListener(){

			public void actionPerformed(ActionEvent arg0) {
			close();
			}
			
		});
	}
		
	void allClean(){
		
		tbookNumber.setText("");
		treaderNumber.setText("");
    	tbookName.setText("");
        treaderName.setText("");
        tjbookTime.setText("");
        tyhbookTime.setText("");
        tchaoTime.setText("");
        tchaoqi.setText("");
        tjsr.setText("");  
	    xu.setEnabled(false);
	}
	
	private String getDate(int i){
		   Calendar cal  = Calendar.getInstance();
		   java.util.Date myDate=new java.util.Date();  
		   long myTime;
		   SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
		   String mDateTime=formatter.format(cal.getTime());
		   String mDate=formatter.format(myDate);

		   myDate=new java.util.Date(); 
		   myTime=(myDate.getTime()/1000)+60*60*24*i;
		   myDate.setTime(myTime*1000);
		   mDate=formatter.format(myDate);
		   System.out.println(mDate);
            return mDate;
       
	}
	
	
	boolean judge() throws HeadlessException, SQLException{
		boolean boo=true;
		MainDAO dao = new MainDAO();
		char b[] = tbookNumber.getText().toCharArray();
		for (int i = 0; i < b.length; i++) {
			if (!(Character.isDigit(b[i]))) {
				boo = false;
			} 
		 }
		
		if(!boo){
			 JOptionPane.showMessageDialog(table, "图书编号只能是数字!!");
		 }
		
		if(boo){
			if (!dao.Judge("select 图书编号 from jiechutushu", tbookNumber
					.getText(), "图书编号")) {
				boo = false;
				JOptionPane.showMessageDialog(table, "此书并未借出,请确认输入是否正确!!");
			}
		}
		dao.close();
		return boo;
	}

	
	
	
	String  cTime(String time){
		int year,month,day;
		
		year=Integer.parseInt(time.substring(0,4));
		month=Integer.parseInt(time.substring(5,7));
		day=Integer.parseInt(time.substring(8,10));
		if(!(month==0)){
			month--;
		}
		
		Calendar calendar=Calendar.getInstance();
		calendar.set(year,month,day);
	    long time1=calendar.getTimeInMillis();
	    calendar.setTime(new Date());
	    long time2=calendar.getTimeInMillis();
		
	    long xtime=(time2-time1)/(1000*60*60*24);
		
	    
		return String.valueOf(xtime);
	}
	
	//如果图书超期、 设置属性超期
	void setChaoTime() throws SQLException{
		MainDAO dao = new MainDAO();
		String str = "update jiechutushu set 是否超期=? where 图书编号=?";
		pstmt = dao.getPreparedStatement(str);
		pstmt.setString(1,"是");
		pstmt.setInt(2,Integer.parseInt(tbookNumber.getText()));
		pstmt.executeUpdate();
		pstmt.close();
		dao.close();

	}
		
int getReaderType() throws SQLException{
	int i = 0;
	MainDAO dao=new MainDAO();
	ResultSet rs=null;
	String str = "select 天数上限 from duzheziliao where 读者编号="+treaderNumber.getText();
	pstmt = dao.getPreparedStatement(str);
	rs=pstmt.executeQuery();
	if(rs.next()){
		i=Integer.parseInt(rs.getString("天数上限"));
	}
	pstmt.close();
	dao.close();
	
	return i;
}

	void add(){
	
		con.add(icon);
		
		con.add(bookNumber);
		con.add(tbookNumber);
		
		
		con.add(bookName);
		con.add(tbookName);
		
		con.add(readerNumber);
		con.add(treaderNumber);
		
		con.add(readerName);
		con.add(treaderName);
		
		con.add(jbookTime);
		con.add(tjbookTime);
		
		con.add(yhbookTime);
		con.add(tyhbookTime);
		
		con.add(chaoTime);
		con.add(tchaoTime);
		
		con.add(chaoqi);
		con.add(tchaoqi);
		
		con.add(jsr);
		con.add(tjsr);
		
		
		con.add(ok);
		con.add(xu);
		con.add(quxiao);
		con.add(close);
		con.validate();
	}


}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -