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

📄 hotelframe.java

📁 主要功能包括散客开单、团体开单、宾客结帐、客房预订、营业查询、客户管理、网络设置、系统设置等等。 详细说明见阳光酒店管理系统需求规格说明书。
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
		JLabel lb1, lb2;
		
		lb1 = new JLabel("    阳 光 酒 店 管 理 系 统    ");
		lb2 = new JLabel("    当前操作员 :  " + userid + "                  ");
		lbA = new JLabel(clue + "请选择功能项 ...                       ");
		lbB	= new JLabel(face + "阳 光 酒 店 管 理 系 统 -    ★★ 版         ");
		
		//加外框线
		lbA.setBorder(new LineBorder(new Color(87, 87, 47)));
		lbB.setBorder(new LineBorder(new Color(87, 87, 47)));
		lb1.setBorder(new LineBorder(new Color(87, 87, 47)));
		lb2.setBorder(new LineBorder(new Color(87, 87, 47)));
		
		bott = new JPanel(new FlowLayout(FlowLayout.LEFT, 2, 2));
		
		bott.add (lb1);
		bott.add (lbA);
		bott.add (lbB);
		bott.add (lb2);
	}
	
	//加事件监听
	private void addListener () {
		mi11.addActionListener (this);		//来宾登记
		mi12.addActionListener (this);
		mi13.addActionListener (this);
		mi14.addActionListener (this);
		mi15.addActionListener (this);
		mi16.addActionListener (this);
		mi17.addActionListener (this);
		mi18.addActionListener (this);
		mi19.addActionListener (this);
		mi21.addActionListener (this);		//收银结算
		mi22.addActionListener (this);
		mi23.addActionListener (this);
		mi24.addActionListener (this);
		mi25.addActionListener (this);
		mi31.addActionListener (this);		//系统维护
		mi32.addActionListener (this);
		mi33.addActionListener (this);
		mi34.addActionListener (this);
		mi35.addActionListener (this);
		mi36.addActionListener (this);
		bt1.addActionListener (this);		//按键加动作监听
		bt2.addActionListener (this);
		bt3.addActionListener (this);
		bt4.addActionListener (this);
		bt5.addActionListener (this);
		bt6.addActionListener (this);
		bt7.addActionListener (this);
		bt8.addActionListener (this);
		bt9.addActionListener (this);
		btA.addActionListener (this);
		bt1.addMouseListener (this);		//按键加鼠标监听
		bt2.addMouseListener (this);
		bt3.addMouseListener (this);
		bt4.addMouseListener (this);
		bt5.addMouseListener (this);
		bt6.addMouseListener (this);
		bt7.addMouseListener (this);
		bt8.addMouseListener (this);
		bt9.addMouseListener (this);
		btA.addMouseListener (this);
	}
	
	/**=======================================================================**
	 *		[## private void quit () {} ]: 				系统退出
	 *			参数   :无
	 *			返回值 :无
	 *			修饰符 :private
	 *			功能   :关闭系统函数,仅类内使用
	 **=======================================================================**
	 */
	private void quit () {
		int flag = 0;
		String msg = "您 现 在 要 关 闭 系 统 吗 ?";
		flag = JOptionPane.showConfirmDialog (null, msg, "提示", JOptionPane.YES_NO_OPTION);
		if(flag == JOptionPane.YES_OPTION) {
			Journal.writeJournalInfo(userid, "退出本系统", Journal.TYPE_LG);//记录操作日志
			this.setVisible (false);
			System.exit (0);
		}//End if(flag == JOptionPane.YES_OPTION)
		return;
	}
	
	//刷新左房间信息栏数据
	private void initLeftData() {
		jp1.title1.setText("");		//刷房间信息
		for (int i = 0; i < 8; i++) {
			jp1.lt[i].setText("");
	    }//Endfor
		jp1.initRoomstate();					//刷新房间总状态
	}
	
	//传数据给散客开单窗口
	private boolean initIDV() {
		try {
			//从房间信息表里获得当前房间的状态和房间类型编号
			ResultSet rs = sunsql.executeQuery("select state,r_type_id from roominfo " +
			"where delmark=0 and id='" + LeftTopPanel.title1.getText() + "'");
			
			if(!rs.next()) {		//如果无结果集,提示用户刷新房间数据
				if(LeftTopPanel.title1.getText().length() == 0) {
					JOptionPane.showMessageDialog(null,"请选定房间后,再为宾客开设房间", 
					"提示", JOptionPane.INFORMATION_MESSAGE);
				}else {
					JOptionPane.showMessageDialog(null, "[ " + LeftTopPanel.title1.getText() + 
					" ] 房间信息已更改,请刷新房间信息,再为宾客开设房间", "提示", JOptionPane.INFORMATION_MESSAGE);
				}
				return false;
			}else {
				if(!rs.getString(1).equals("可供")) {		//只有状态是可供房间,才能为宾客开设
					JOptionPane.showMessageDialog(null, "请选择空房间,再为宾客开设房间", 
					"提示", JOptionPane.INFORMATION_MESSAGE);
					return false;
				}//Endif
				
				//传房间号到开单窗口
				Individual.lbA.setText(LeftTopPanel.title1.getText());
				//传房间类型到开单窗口
				Individual.lbB.setText(LeftTopPanel.title0.getText().substring(0, 
									   LeftTopPanel.title0.getText().length()-2));
				//传房间单价到开单窗口
				Individual.lbC.setText(LeftTopPanel.lt[1].getText());
				
				//房间类型编号
				String clRoom = rs.getString(2);
				//获得此类型房间是否可以开设钟点房
				rs = sunsql.executeQuery("select cl_room from roomtype where " +
				"delmark=0 and id='" + clRoom + "'");
				rs.next();
				if(rs.getString(1).equals("N")) {	//不能开设,则开单窗口的钟点选项不可用
					Individual.chk1.setSelected(false);		//取消选中状态
					Individual.chk1.setEnabled(false);		//设置不可用
				}else {
					Individual.chk1.setEnabled(true);		//可用
				}//Endif
				
				//传宾客类型数据给开单窗口
				rs = sunsql.executeQuery("select distinct c_type from customertype where " +
				"delmark = 0 and pk!=0");
				int ct = sunsql.recCount(rs);
				String cType[] = new String[ct];
				for (int i = 0; i < ct; i++) {
					rs.next();
					cType[i] = rs.getString(1);
			    }//Endfor
			    Individual.cb2.removeAllItems();
				for (int i = 0; i < ct; i++) {
					Individual.cb2.addItem(cType[i]);
			    }//Endfor
			    Individual.cb2.setSelectedItem("普通宾客");
				
				//初始化开单房间表---------临时表
				sunsql.executeUpdate("delete from roomnum");		//清空临时表
				sunsql.executeUpdate("insert into roomnum(roomid) values('" + 
				LeftTopPanel.title1.getText() + "')");				//加入当前房间信息
				//初始化开单窗口的开单房间表
				sunsql.initDTM(Individual.dtm2,"select roomid 房间编号 from roomnum");
				
				//初始化追加房间表---------当前类型的除当前房间的所有可供房间
				sunsql.executeUpdate("update roominfo set indimark=0");	//刷新所有房间的开单状态
				sunsql.executeUpdate("update roominfo set indimark=1 where id='" + 
				LeftTopPanel.title1.getText() + "'");				//设置当前房间为开单状态
				//初始化开单窗口的可供房间表
				sunsql.initDTM(Individual.dtm1,"select a.id 房间编号1 from roominfo " +
				"a,(select id from roomtype where r_type='" + Individual.lbB.getText() + 
				"') b where a.delmark=0 and a.indimark=0 and a.state='可供' and a.r_type_id=b.id");
				
			}//Endif
	    }
	    catch (Exception ex) {
	    	System.out.println ("HotelFrame.initIDV(): false");
	    }//End try
	    return true;
	}
	
	//传数据给团体开单窗口
	private boolean initTeam() {
		try {
			//初始化开单房间表---------临时表
			sunsql.executeUpdate("delete from roomnums");		//清空临时表
			//初始化开单窗口的开单房间表
			Team.initDTM2();
			
			//初始化追加房间表---------当前类型的除当前房间的所有可供房间
			sunsql.executeUpdate("update roominfo set indimark=0");	//刷新所有房间的开单状态
			
			//传房间类型数据给团体开单窗口
			ResultSet rs = sunsql.executeQuery("select r_type from roomtype where delmark=0");
			int ct = sunsql.recCount(rs);
			String type[] = new String[ct];
			
			//传宾客房型数据给团体开单窗口
			for (int i = 0; i < ct; i++) {
				rs.next();
				type[i] = rs.getString(1);
			}//Endfor
			Team.cb.removeAllItems();
			for (int i = 0; i < ct; i++) {
				Team.cb.addItem(type[i]);
			}//Endfor
			
			//传宾客类型数据给团体开单窗口
			rs = sunsql.executeQuery("select distinct c_type from customertype where " +
			"delmark = 0 and pk!=0");
			ct = sunsql.recCount(rs);
			for (int i = 0; i < ct; i++) {
				rs.next();
				type[i] = rs.getString(1);
			}//Endfor
			Team.cb2.removeAllItems();
			for (int i = 0; i < ct; i++) {
				Team.cb2.addItem(type[i]);
			}//Endfor
			Team.cb2.setSelectedItem("普通宾客");
	    }
	    catch (Exception ex) {
	    	System.out.println ("HotelFrame.initTeam(): false");
	    }//Endtry
	    return true;
	}
	
	//传数据给结算窗口
	private boolean initCKO() {
		try {
			ResultSet rs = sunsql.executeQuery("select state,r_type_id from roominfo " +
			"where delmark=0 and id='" + LeftTopPanel.title1.getText() + "'");
			
			if(!rs.next()) {		//如果无结果集,提示用户刷新房间数据
				if(LeftTopPanel.title1.getText().length() == 0) {
					JOptionPane.showMessageDialog(null,"请选定宾客入住的房间后,再为宾客结算费用", 
					"提示", JOptionPane.INFORMATION_MESSAGE);
				}else {
					JOptionPane.showMessageDialog(null, "[ " + LeftTopPanel.title1.getText() + 
					" ] 房间信息已更改,请刷新房间信息,再为宾客开设房间", "提示", JOptionPane.INFORMATION_MESSAGE);
				}//Endif
				return false;
			}else {
				//只有状态是占用或钟点房间,才能为宾客结算
				if(!rs.getString(1).equals("占用") && !rs.getString(1).equals("钟点")) {
					JOptionPane.showMessageDialog(null, "请选择宾客正在消费的房间进行结算费用操作", 
					"提示", JOptionPane.INFORMATION_MESSAGE);
					return false;
				}//Endif
				
				//传结算单号给结算窗口
				co.lbA.setText(suntools.getNumber(suntools.Number_JS));
				//传结算房间给结算窗口
				co.lbB.setText(jp1.title1.getText());
				//传结算宾客名称给结算窗口
				co.lbC.setText(jp1.lt[0].getText());
				//传押金给结算窗口
				co.lbF.setText(jp1.lt[6].getText());
				
				//清空结算中间表
				sunsql.executeUpdate("delete from checkout_temp");
				
				//获得主房间号
				rs = sunsql.executeQuery("select main_room,in_no from livein where " +
				"delmark=0 and r_no='" + co.lbB.getText() + "' and statemark='正在消费'");
				
				if(!rs.next()) {
					JOptionPane.showMessageDialog(null, "操作失败,请检查网络情况", 
					"提示", JOptionPane.INFORMATION_MESSAGE);
					return false;
				}//Endif
				
				String mainRoom = rs.getString(1);		//取出主房间号
				co.inNo = rs.getString(2);				//传入住单号为结算窗口

⌨️ 快捷键说明

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