实例介绍
【实例简介】
数据库脚本是sql server 2008r2的,理论上sql server 2008以上的数据库均可执行
登陆密码均为 123456
【实例截图】
【核心代码】
package com.sunshine.主框架窗口;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.table.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.util.*;
import com.sunshine.sunsdk.swing.*; //加入公共类库
import com.sunshine.sunsdk.system.*;
import com.sunshine.sunsdk.sql.*;
import com.sunshine.主框架窗口.*; //加入模块类库
import com.sunshine.散客开单.*; //散客开单
import com.sunshine.团体开单.*; //团体开单
import com.sunshine.宾客结账.*; //宾客结帐
import com.sunshine.客房预定.*; //预订房间
import com.sunshine.营业查询.*; //营业查询
import com.sunshine.客户管理.*; //客户管理
import com.sunshine.网络设置.*; //网络设置
import com.sunshine.系统设置.*; //系统设置
import com.sunshine.关于我们.*; //关于我们
import com.sunshine.菜单事件窗口.*; //下拉菜单中的功能库
public class HotelFrame
extends JFrame
implements ActionListener, MouseListener, Runnable {
//用户名,权限
public static String userid, puil;
public static JLabel lbA, lbB;
public static String clue = " 提 示 : ";
public static String face = " 当前操作界面 : ";
//声名与菜单相关的类
private JMenuBar mb;
private JMenu m1, m2, m3, m4;
private JMenuItem mi11, mi12, mi13, mi14, mi15, mi16, mi17, mi18, mi19,
mi21, mi22, mi23, mi24, mi25,
mi31, mi32, mi33, mi34, mi35, mi36;
//工具栏
private JToolBar tb;
private JButton bt1, bt2, bt3, bt4, bt5, bt6, bt7, bt8, bt9, btA;
//分割面板
private JSplitPane spaneMain, spaneLeft, spaneRight;
//模块接口
private JPanel panelMain, bott, jp2, jp3, jp4;
private LeftTopPanel jp1; //主窗口左边面板
//功能提示
private String toolTip[] = {
"零散宾客入住登记 ",
"团体入住登记 ",
"关于本软件的支持信息 ",
"宾客退房结算 ",
"为宾客预订房间 ",
"查询营业情况 ",
"为酒店固定客户设置参数 ",
"设置系统的网络连接方式 ",
"设置系统参数 ",
"返回Windows "
};
//功能模块
/*#######################################################################*/
Individual idv = new Individual(this); //散客开单
Team tm = new Team(this); //团体开单
CheckOut co = new CheckOut(this); //宾客结帐
Engage eg = new Engage(this); //客房预定
Query qr = new Query(this); //营业查询
Customer ct = new Customer(this); //客户管理
NetSetup ns = new NetSetup(this); //网络设置
Setup st = new Setup(this); //系统设置
About ab = new About(this); //关于我们
GoOn go = new GoOn(this); //宾客续住
Change cg = new Change(this); //更换房间
// Remind rm = new Remind(this); //电子提醒
UniteBill ub = new UniteBill(this); //合并帐单
ApartBill ap = new ApartBill(this); //拆分帐单
Record rc = new Record(this); //系统日志
/*#######################################################################*/
//构造函数
public HotelFrame (String us, String pu) {
super ("阳光酒店管理系统 - ★★版");
userid = us; //获得操作员名称
puil = pu; //获得操作员权限
panelMain = new JPanel (new BorderLayout()); //主面板
//制作菜单
buildMenuBar ();
//制作工具栏
buildToolBar ();
//制作分割面板
buildSpaneMain ();
//制作窗口底端信息框
buildBott ();
//加入组件到主面板
panelMain.add ("North", tb); //加入工具栏
panelMain.add ("South", bott); //加入窗口底端信息框
panelMain.add ("Center", spaneMain); //加入分割面板
//加入菜单栏
this.setJMenuBar (mb);
//加事件监听
addListener ();
this.addWindowListener (new WindowAdapter () {
public void windowClosing (WindowEvent we) {
quit ();
}//End windowClosing
});
this.setContentPane (panelMain);
this.setBounds (2, 2, 1020, 740);
this.setDefaultCloseOperation (JFrame.DO_NOTHING_ON_CLOSE);
this.setMinimumSize (new Dimension (1020, 740)); //设置窗口最小尺寸
this.setVisible (true);
(new Thread(this)).start(); //启动房间状态检查线程
}
//制作菜单
private void buildMenuBar () {
//实例菜单栏
mb = new JMenuBar ();
//实例菜单
m1 = new JMenu ("来宾登记 (B)");
m2 = new JMenu ("收银结算 (S)");
m3 = new JMenu ("系统维护 (W)");
//实例菜单项
mi11 = new JMenuItem ("散客开单 (G)");
mi12 = new JMenuItem ("团体开单 (M)");
mi13 = new JMenuItem ("宾客续住 (Z)");
mi14 = new JMenuItem ("更换房间 (A)");
mi15 = new JMenuItem ("修改登记 (J)");
mi16 = new JMenuItem ("房间状态 (Z)");
mi17 = new JMenuItem ("预订管理 (T)");
mi18 = new JMenuItem ("电子提醒 (L)");
mi19 = new JMenuItem ("退出系统 (X)");
mi21 = new JMenuItem ("宾客结帐 (J)");
mi22 = new JMenuItem ("合并帐单 (E)");
mi23 = new JMenuItem ("折分帐单 (F)");
mi24 = new JMenuItem ("宾客消费明细查询");
mi25 = new JMenuItem ("宾客退单明细查询");
mi31 = new JMenuItem ("网络设置 (N)");
mi32 = new JMenuItem ("系统设置 (X)");
mi33 = new JMenuItem ("系统日志 (Z)");
mi34 = new JMenuItem ("数据备份 (R)");
mi35 = new JMenuItem ("软件帮助 (H)");
mi36 = new JMenuItem ("关于我们 (A)");
///////////////////////////////////////////
mi16.setEnabled(false);//未开发完毕的功能
mi18.setEnabled(false);
mi34.setEnabled(false);
////////////////////////////////////////////
//组织菜单
m1.add (mi11); //来宾登记
m1.add (mi12);
m1.add (mi13);
m1.add (mi14);
m1.add (mi15);
m1.add (mi16);
m1.addSeparator();
m1.add (mi17);
m1.add (mi18);
m1.addSeparator();
m1.add (mi19);
m2.add (mi21); //收银结算
m2.add (mi22);
m2.add (mi23);
//m2.addSeparator();
//m2.add (mi24); //宾客消费明细
//m2.add (mi25);
m3.add (mi31); //系统维护
m3.add (mi32);
m3.add (mi33);
m3.addSeparator();
m3.add (mi34);
m3.addSeparator();
m3.add (mi35);
m3.add (mi36);
mb.add (m1); //加入菜单栏
mb.add (m2);
mb.add (m3);
}
//制作工具栏
private void buildToolBar () {
tb = new JToolBar();
//制作按键
bt1 = new TJButton ("pic/ToolBar/m01.gif", " 散客开单 ", "零散宾客入住登记", true);
bt2 = new TJButton ("pic/ToolBar/m02.gif", " 团体开单 ", "团体入住登记", true);
bt3 = new TJButton ("pic/ToolBar/m03.gif", " 关于我们 ", "软件信息", true);
bt4 = new TJButton ("pic/ToolBar/m04.gif", " 宾客结帐 ", "宾客退房结算", true);
bt5 = new TJButton ("pic/ToolBar/m05.gif", " 客房预订 ", "为宾客预定房间", true);
bt6 = new TJButton ("pic/ToolBar/m06.gif", " 营业查询 ", "查询营业情况", true);
bt7 = new TJButton ("pic/ToolBar/m07.gif", " 客户管理 ", "为酒店固定客户设置", true);
bt8 = new TJButton ("pic/ToolBar/m08.gif", " 网络设置 ", "设置连接方式", true);
bt9 = new TJButton ("pic/ToolBar/m09.gif", " 系统设置 ", "设置系统参数", true);
btA = new TJButton ("pic/ToolBar/m10.gif", " 退出系统 ", "返回Windows", true);
//把按键加入工具栏
tb.addSeparator ();
tb.add (bt1);
tb.add (bt2);
tb.addSeparator ();
tb.add (bt4);
tb.add (bt5);
tb.add (bt6);
tb.addSeparator ();
tb.add (bt7);
tb.add (bt8);
tb.add (bt9);
tb.addSeparator ();
tb.add (bt3);
tb.addSeparator ();
tb.add (btA);
//设置工具栏不可浮动
tb.setFloatable(false);
}
//制作主面板
private void buildSpaneMain () {
jp1 = new LeftTopPanel (); //这四个面板为功能接口//////////////
jp2 = new LeftBottPanel(); //左下面板 快速通道
jp3 = new RightTopPanel(); ///////////////////////////////
jp4 = new RightBottPanel(); //右下面板 消费信息表
//声名分割面板
spaneLeft = new JSplitPane(JSplitPane.VERTICAL_SPLIT, true, jp1, jp2);
spaneRight = new JSplitPane(JSplitPane.VERTICAL_SPLIT, true, jp3, jp4);
spaneMain = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true, spaneLeft, spaneRight);
//设置面板最小尺寸
jp1.setMinimumSize(new Dimension (157, 450));
jp2.setMinimumSize(new Dimension (157, 94));
jp3.setMinimumSize(new Dimension (875, 300));
jp4.setMinimumSize(new Dimension (875, 94));
spaneRight.setMinimumSize(new Dimension (875, 565));
//设置分割条是否有伸缩键
spaneMain.setOneTouchExpandable (true);
spaneRight.setOneTouchExpandable(true);
//设置各面板的初起尺寸
spaneMain.setDividerLocation (160);
spaneLeft.setDividerLocation (450);
spaneRight.setDividerLocation(450);
//设置分隔条宽度
spaneMain.setDividerSize (10);
spaneLeft.setDividerSize (23);
spaneRight.setDividerSize(23);
}
//制作bott栏
private void buildBott () {
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); //传入住单号为结算窗口
//获得主房间状态,看是普通住宿还是钟点房
rs = sunsql.executeQuery("select state from roominfo where delmark=0 and id='" mainRoom "'");
rs.next();
int mrState = 0; //主房间状态 0:普通入住 1:钟点房
if(rs.getString(1).equals("钟点")) {
mrState = 1;
}//Endif
DefaultTableModel ckoDTM = new DefaultTableModel(); //主房间下的所有房间信息
sunsql.initDTM(ckoDTM, "select pk,r_no,r_type_id,c_type_id,in_time,foregift from "
"livein where delmark=0 and main_room='" mainRoom "'");
double total = 0; //消费总金额
double shsh = 0; //实收金额
double youh = 0; //优惠金额
for (int i = 0; i < ckoDTM.getRowCount(); i ) {
//取出当前房间的标准单价
rs = sunsql.executeQuery("select price,cl_price from roomtype where delmark=0 and id='"
ckoDTM.getValueAt(i, 2) "'");
rs.next();
double rprice = 0;
double days = 0;
if(mrState == 0) {
rprice = rs.getDouble(1); //普通入住单价
//获得入住天数
days = suntools.getConsumeFactor(ckoDTM.getValueAt(i, 4) "", Journal.getNowDTime());
}else {
rprice = rs.getDouble(2); //钟点房单价
days = suntools.getClockFactor(ckoDTM.getValueAt(i, 4) "", Journal.getNowDTime());
}//Endif
double rd = rprice * days; //当前房间的消费总金额
total = total rd; //累加总消费
rs = sunsql.executeQuery("select discount from customertype where delmark=0 and "
"id='" ckoDTM.getValueAt(i, 3) "' and dis_attr='" ckoDTM.getValueAt(i, 2) "'");
rs.next();
//取出宾客享受的折扣
int dst = rs.getInt(1);
double ddr = rd * dst/10; //当前房间的打折后价格
shsh = shsh ddr; //应收金额累加
youh = youh rd - ddr; //优惠金额累加
//向结算中间表加入数据
sunsql.executeUpdate("insert into checkout_temp(pk,r_type_id,r_no,price,"
"discount,dis_price,account,money,in_time) values(" ckoDTM.getValueAt(i, 0)
",'" ckoDTM.getValueAt(i, 2) "','" ckoDTM.getValueAt(i, 1) "',"
rprice "," dst "," rprice * dst / 10 "," days "," ddr ",'"
ckoDTM.getValueAt(i, 4) "')");
}
//传消费金额给结算窗口
co.lbD.setText(total "");
//传应收金额给结算窗口
co.lbE.setText(shsh "");
//传实收金额
co.tf1.setText(shsh "");
//传优惠金额给结算窗口
co.lbG.setText(youh "");
//传找零金额给结算窗口
co.lbH.setText(Double.parseDouble(co.lbF.getText()) - shsh "");
//刷新结算中间表数据
co.initDTM();
co.tf2.requestFocus(true); //给宾客支付焦点
}//Endif
}
catch (Exception ex) {
JOptionPane.showMessageDialog(null, "操作失败,请检查网络情况",
"提示", JOptionPane.INFORMATION_MESSAGE);
ex.printStackTrace();
System.out.println ("HotelFrame.initCKO(): false");
return false;
}//End try
return true;
}
/**=======================================================================**
* ActionListener 监听
**=======================================================================**
*/
public void actionPerformed (ActionEvent ae) {
Object o = ae.getSource ();
if(o == bt1 || o ==mi11) {//============================================
lbB.setText(face "散 客 开 单 -");
if(initIDV()) { //传数据给散客开单窗口
idv.show(); //散客开单
initLeftData(); //刷新左房间信息栏数据
}//Endif
}else if(o == bt2 || o == mi12) {//=====================================
lbB.setText(face "团 体 开 单 -");
if(initTeam()) { //传宾客类型数据给团体开单窗口
tm.show(); //团体开单
initLeftData(); //刷新左房间信息栏数据
}//Endif
}else if(o == bt3 || o == mi36) {//=====================================
lbB.setText(face "关 于 我 们 -");
ab.show(); //关于我们
}else if(o == bt4 || o == mi21) {//=====================================
lbB.setText(face "宾 客 结 帐 -");
if(initCKO()) { //传数据给结算窗口
co.show(); //宾客结帐
initLeftData(); //刷新左房间信息栏数据
}//Endif
}else if(o == bt5 || o == mi17) {//=====================================
lbB.setText(face "客 房 预 订 -");
eg.show(); //客房预订
initLeftData(); //刷新左房间信息栏数据
}else if(o == bt6) {//==================================================
lbB.setText(face "营 业 查 询 -");
qr.show(); //营业查询
}else if(o == bt7) {//==================================================
if(puil.equals("普通操作员")) { //客户管理
String msg = "对不起,您的权限不能进入 [ 客户管理 ] 页面,请用管理员ID登录 ...";
JOptionPane.showMessageDialog(null, msg, "提示", JOptionPane.INFORMATION_MESSAGE);
return;
}
lbB.setText(face "客 户 管 理 -");
ct.show();
}else if(o == bt8 || o == mi31) {//=====================================
if(puil.equals("普通操作员")) { //网络设置
String msg = "对不起,您的权限不能进入 [ 网络设置 ] 页面,请用管理员ID登录 ...";
JOptionPane.showMessageDialog(null, msg, "提示", JOptionPane.INFORMATION_MESSAGE);
return;
}
lbB.setText(face "网 络 设 置 -");
ns.show();
}else if(o == bt9 || o == mi32) {//=====================================
if(puil.equals("普通操作员")) { //系统设置
String msg = "对不起,您的权限不能进入 [ 网络设置 ] 页面,请用管理员ID登录 ...";
JOptionPane.showMessageDialog(null, msg, "提示", JOptionPane.INFORMATION_MESSAGE);
return;
}
lbB.setText(face "系 统 设 置 -");
st.buildDTM12(""); //刷新房间信息表的房间状态
st.show();
initLeftData(); //刷新左房间信息栏数据
}else if(o == btA || o == mi19) {//=====================================
quit (); //退出系统
}else if(o == mi13) {//=================================================
lbB.setText(face "宾 客 续 住 -");
go.show(); //宾客续住
}else if(o == mi14) {//=================================================
lbB.setText(face "更 换 房 间 -");
cg.show(); //更换房间
}else if(o == mi15) {//=================================================
lbB.setText(face "修 改 登 记 -");
idv.show(); //修改登记-------还要修改
}else if(o == mi16) {//=================================================
//房间状态
}else if(o == mi18) {//=================================================
//电子提醒
}else if(o == mi22) {//=================================================
lbB.setText(face "合 并 帐 单 -");
ub.show(); //合并帐单
}else if(o == mi23) {//=================================================
lbB.setText(face "折 分 帐 单 -");
ap.show(); //折分帐单
}else if(o == mi33) {//=================================================
lbB.setText(face "系 统 日 志 -");
rc.initDTM(); //刷新日志列表
rc.show(); //系统日志
}else if(o == mi34) {//=================================================
//数据备份
}else if(o == mi35) {//=================================================
//软件帮助
}
lbB.setText(face "阳 光 酒 店 管 理 系 统 - ★★ 版 ");
}
/**=======================================================================**
* MouseListener 监听
**=======================================================================**
*/
public void mouseClicked (MouseEvent me) {
}
public void mousePressed (MouseEvent me) {
}
public void mouseReleased(MouseEvent me) {
}
public void mouseEntered (MouseEvent me) { //鼠标移进提示
Object o = me.getSource ();
if(o == bt1) {
lbA.setText (clue toolTip[0]);
}else if(o == bt2) {
lbA.setText (clue toolTip[1]);
}else if(o == bt3) {
lbA.setText (clue toolTip[2]);
}else if(o == bt4) {
lbA.setText (clue toolTip[3]);
}else if(o == bt5) {
lbA.setText (clue toolTip[4]);
}else if(o == bt6) {
lbA.setText (clue toolTip[5]);
}else if(o == bt7) {
lbA.setText (clue toolTip[6]);
}else if(o == bt8) {
lbA.setText (clue toolTip[7]);
}else if(o == bt9) {
lbA.setText (clue toolTip[8]);
}else if(o == btA) {
lbA.setText (clue toolTip[9]);
}
}
public void mouseExited (MouseEvent me) {
lbA.setText (clue "请选择功能项 ... ");
}
/**=======================================================================**
* [## public void run() {} ]:
* 参数 :无
* 返回值 :无
* 修饰符 :public
* 功能 :结算后检查房间状态线程
**=======================================================================**
*/
public void run() {
try {
Statement ste1 = null;
Connection conn1 = null;
if(sunini.getIniKey ("Default_Link").equals ("1")) { //JDBC连接方式
String user1 = sunini.getIniKey ("UserID");
String pwd1 = sunini.getIniKey ("Password");
String ip1 = sunini.getIniKey ("IP");
String acc1 = sunini.getIniKey ("Access");
String dbf1 = sunini.getIniKey ("DBFname");
String url1 = "jdbc:microsoft:sqlserver://" ip1 ":" acc1 ";" "databasename=" dbf1;
//注册驱动
DriverManager.registerDriver (new com.microsoft.jdbc.sqlserver.SQLServerDriver());
//获得一个连接
conn1 = DriverManager.getConnection (url1, user1, pwd1);
}
else {
// //注册驱动 //JDBCODBC连接方式
// DriverManager.registerDriver (new sun.jdbc.odbc.JdbcOdbcDriver());
// //获得一个连接
// conn1 = DriverManager.getConnection ("jdbc:odbc:" sunini.getIniKey("LinkName"));
}
//建立高级载体
ste1 = conn1.createStatement (ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
while( true ) {
ste1.executeUpdate("update roominfo set statetime=statetime-1 where statetime>0");
ste1.executeUpdate("update roominfo set state='可供' where statetime=0 and state='脏房'");
Thread.sleep(30000);
}//End while
}
catch (Exception ex) {
JOptionPane.showMessageDialog (null, "数据库连接失败...", "错误", JOptionPane.ERROR_MESSAGE);
System.exit(0);
//ex.printStackTrace();
}//End try
}
/*
public static void main (String sd[]) {
sunswing.setWindowStyle (sunini.getIniKey ("Sys_style").charAt (0));
new HotelFrame ("gujun", "管理员");
}*/
}
相关软件
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明


网友评论
我要评论