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

📄 checkoutclick.java

📁 这是我我完成的java的课程设计,是一个宾馆管理系统
💻 JAVA
字号:
import java.awt.Dimension;
import java.awt.TextField;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.sql.SQLException;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;


public class CheckOutClick extends DBAccess implements ActionListener//定义一个类实现退房功能
{
	static JFrame fm;//控件的声明
	static JLabel user;
	static JTextField usertype;
	static JLabel pwd;
	static TextField password;
	static JButton ok,cancel;
	CheckOutClick()
	{
		super();
	}	
	public  void  show(){		
		fm  = new JFrame("旅客退房");
		fm.setSize(300, 180);
		fm.setLayout(null);
		fm.setAlwaysOnTop(true);
		fm.setResizable(false);		 
		user=new JLabel("请输入旅客姓名:");
		user.setBounds(40, 15, 100, 32);
		usertype=new JTextField(10);
		usertype.setBounds(150, 17, 70, 25);
		fm.add(user);fm.add(usertype);			 
		pwd=new JLabel("请输入您退房的房号:");
		pwd.setBounds(10, 40, 130, 47);
		password=new TextField(10);
		password.setBounds(150, 50, 70, 25);
		fm.add(pwd);
		fm.add(password);			 
		ok=new JButton("退房");
		cancel=new JButton("取消");			 
		ok.setBounds(50, 90, 70, 30);
		cancel.setBounds(155, 90, 70, 30);
		fm.add(cancel);
		fm.add(ok);
		fm.addWindowListener(new WindowAdapter(){
			public void windowClosing(WindowEvent e){
				fm.dispose();
			}			
		});
		cancel.addActionListener(new ActionListener(){		
			public void actionPerformed(ActionEvent arg0) {
				fm.dispose();				
			}			
		});
		ok.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent arg0) {
				String name=usertype.getText().trim().toString();//输入的姓名
				String roomnum=password.getText().trim().toString();//房间号
				try {
					String status=getValue("select * from Room where RoomNum='"+roomnum+"'","Status");//房间状态
					if(status.trim().equalsIgnoreCase("有客")|| status.trim().equalsIgnoreCase("预定"))
					{
						String status1=getValue("select * from Customer where 登记房号='"+roomnum+"'","姓名");//把预定或者入住的顾客姓名赋给status1
						if(status1.trim().equalsIgnoreCase(name))
						{	
							st.executeUpdate("update Customer set 离开时间=getdate() where 姓名='"+name+"'");  //写入离开时间
							st.executeUpdate("update Customer set 用户状态='离开'  where 姓名='"+name+"'"); //更新Customer表中旅客状态为离开
							st.executeUpdate("update Room set Status='空闲'  where RoomNum='"+roomnum+"'");//更新Room表中房间状态为空闲
							st.executeUpdate("insert into HistoryCustomer ( 姓名 ,性别 ,年龄 ,生日 ,藉贯 ,工作单位,联系电话,身份证号码 ,登记房号,用户状态,预定时间 ,入住时间 ,离开时间  )select * from Customer where Customer.姓名='"+name+"'");	//将退店旅客信息加入历史信息表中
							st.executeUpdate("delete Customer where 姓名='"+name+"'");//从Customer表中删除离店旅客信息
							
							
							String RigisterDate=new String();//预定或者入住房间的日期
							String CheckoutDate=new String();//退房日期
							String CheckoutHour=new String();//入住的时间
							if(status.trim().equalsIgnoreCase("预定")){
								RigisterDate=getValue("select DATEPART(day , 预定时间) as date from HistoryCustomer  where 姓名='"+name+"'","date").trim();
							}
							else{
								RigisterDate=getValue("select DATEPART(day , 入住时间) as date from HistoryCustomer  where 姓名='"+name+"'","date").trim();  //获取入店时间
							}
							CheckoutDate=getValue("select DATEPART(day , 离开时间) as date from HistoryCustomer  where 姓名='"+name+"'","date").trim();  //获取离店天数
							CheckoutHour=getValue("select DATEPART(hour , 离开时间) as date from HistoryCustomer  where 姓名='"+name+"'","date").trim();   //获取离店小时
							float day;
							if(Integer.parseInt(CheckoutDate)==Integer.parseInt(RigisterDate))
								day=1;  //如果当天订当天退算是一天
							else{
								//退店日减去入住日
									day=Integer.parseInt(CheckoutDate)-Integer.parseInt(RigisterDate);
									if (Integer.parseInt(CheckoutHour)<=12)
										day=(float) (day+0.5);  //12点前退房算半价
									else
										day++;	//12点后退房算全价
							}
							String dayCount=getValue("select * from Room where RoomNum='"+roomnum+"'","Price").trim();//房价(元/每天)
							float fee=day*Integer.parseInt(dayCount);//顾客消费金额
							st.executeUpdate("update HistoryCustomer set 消费金额='"+fee+"'  where 姓名='"+name+"'"); //更新HistoryCustomer表中旅客的消费金额
						
							javax.swing.JOptionPane.showMessageDialog(fm, "旅客 "+name+",您已经退掉"+roomnum+"号房间.您本次消费金额"+fee+"元.欢迎您下次入住本店!!");
							fm.dispose();
						}
						else
						{							
							JOptionPane.showMessageDialog(fm, "您没有入住本房间");
							fm.dispose();
						}					
					}
					else
					{
						System.out.println("else");
						JOptionPane.showMessageDialog(fm, "您没有入住本房间");
						fm.dispose();
					}
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}			
		});
		 Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); 
			fm.setLocation( 
				(screen.width - fm.getWidth()) / 2, 
				(screen.height - fm.getHeight()) / 2);
		fm.setVisible(true);
	}
	public void actionPerformed(ActionEvent arg0) {
		show();		
	}
}

⌨️ 快捷键说明

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