阳光酒店管理系统详细设计说明书
阳光酒店管理系统
详细设计说明书
090821班 第六组
目 录
1引言 ............................................................................................................................................... 3 1.1编写目的 . ................................................................................................................................ 3 1.2背景......................................................................................................................................... 3 2客房管理系统界面功能描述........................................................................................................ 4 2.1主界面..................................................................................................................................... 4 2.2散客开单 . ................................................................................................................................ 5 2.3团体开单 . ................................................................................................................................ 7 2.4宾客结帐 . ................................................................................................................................ 8 2.5客房预订 . ................................................................................................................................ 9 2.6 营业查询 .............................................................................................................................. 12 2.7 客户管理 .............................................................................................................................. 13 2.8系统设置 . .............................................................................................................................. 16 2.9 关于我们 .............................................................................................................................. 17 3餐饮管理系统界面功能描述...................................................................................................... 18 3.1主界面................................................................................................................................... 18 3.2菜品管理 . .............................................................................................................................. 19 3.3菜系管理 . .............................................................................................................................. 20 3.4台号管理 . .............................................................................................................................. 21 3.5日(月、年)结账 . .............................................................................................................. 22 3.6修改密码 . .............................................................................................................................. 22 3.7用户管理 . .............................................................................................................................. 23
1引言
1.1编写目的
本文档为阳光酒店管理系统详细设计说明书,为阳光酒店管理系统编码的主要依据。
1.2背景
软件全称:阳光酒店管理系统。
软件开发者:湖州师范学院 090821班第六组成员 用户:湖州师范学院090821班测试组
本软件系统主要包括酒店客房管理和餐饮管理两部分,适合各个酒店管理的需求。
2客房管理系统界面功能描述
2.1主界面
1、系统运行主框架,实时显示房态信息。
2、输入项
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 + "宾 客 结 帐 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.INFORMA TION_MESSAGE); return; } lbB.setText(face + "客 户 管 理 -"); ct.initDTM1(); //ct.initDTM2(); ct.show(); }else if(o == bt8 || o == mi31)
2.2散客开单
1、完成对散客的开单任务。最多能追加五个相同类型的房间。
2、输入项
[ 函数说明 ] : *
* [## public Individual(JFrame frame) {} ]: * 功能: 散客开单窗口 *
* [## private void addListener() {} ]: * 功能: 加事件监听 *
* [## private void buildPanel() {} ]: * 功能: 制作主面板 *
* [## private void initDTM1() {} ]: * 功能: 初始化可供房间列表 *
* [## private void initDTM2() {} ]:
* * * * * * * * * * * * *
功能: 初始化开单房间列表
[## private void addRoom() {} ]: 功能: 加到开单区 [## private void subRoom() {} ]: 功能: 从开单区移除
[## private boolean isValidity() {} ]: 功能: 测试用户输入的数据是否合法 [## private void saveLiveIn() {} ]: 功能: 保存宾客入住信息
2.3团体开单
1、完成对团体宾客的开单任务。房间数没有限制,可同时追加不同类型的房间。
2、输入项
[ 函数说明 ] : *
* [## public Team(JFrame frame) {} ]: * 功能: 散客开单窗口 * * [## private void addListener() {} ]: * 功能: 加事件监听 * * [## private void buildPanel() {} ]: * 功能: 制作主面板
* * [## private void initDTM1(String cType) {} ]: * 功能: 初始化可供房间列表 * * [## private void initDTM2() {} ]: * 功能: 初始化开单房间列表 * * [## private void addRoom() {} ]: * 功能: 加到开单区 * * [## private void subRoom() {} ]: * 功能: 从开单区移除
* * [## private boolean isValidity() {} ]: * 功能: 测试用户输入的数据是否合法 * * [## private void saveLiveIn() {} ]: *
功能: 保存所有宾客的入住信息
2.4宾客结帐
1、自动统计每个登记客人在店时所发生的消费额和应付款额,并完成结帐收银操作。
2、输入项
[## private boolean isValidity() {} ]: 测试用户输入的数据是否合法 * 参数 :无 * 返回值 :boolean * 修饰符 :private * 功能 :测试用户输入的数据是否合法
2.5客房预订
1、完成增加预订、修改预订、删除预订,预订情况的查询等功能。
添加、修改预订信息时弹出子窗口。
2、输入项
public void actionPerformed(ActionEvent ae) { Object o = ae.getSource(); if(o==bt1) { //增加预定信息 sunsql.executeUpdate("delete from engage1"); String sqlCode = "select a.r_type 预定规格,b.r_no 房间 from roomtype as a,engage1 as b where a.id = b.r_type_id"; sunsql.initDTM(ei.dtm1,sqlCode); ei.chk.setSelected(false); ei.show(true); initDTM(); // sunsql.initJComboBox(ei.cb1,"select r_type from roomtype where delmark = 0"); }
else if(o==bt2) {
//修改预定信息
if(initMrt()) { //传数据给窗口
em.show(true); //修改预定信息
initDTM(); //刷新表数据
}//Endif
}
else if(o==bt3) {
//删除预定信息
int rRow[] = tb.getSelectedRows(); //删除预订信息 if(delInfo (rRow)) { //执行删除操作
initDTM(); //刷新房间表数据
}//Endif
}
else if(o==bt4) {
//查询
String s = tf1.getText();
String sqlCode = "select a.c_name 宾客姓名,a.c_tel 联系电话,b.r_type 预定房间类型,a.r_no 预定房间编号,a.pa_time 预抵时间,a.keep_time 保留时间,a.eng_time 预定时间,a.remark 备注 "+
"from engage as a,roomtype as b where a.r_type_id = b.id and a.delmark = 0 and b.delmark = 0 and a.engagemark = 2 and (a.c_name like '%"+s+"%' or a.r_no like '%"+s+"%' or a.c_tel like '%"+s+"%')";
sunsql.initDTM(dtm,sqlCode);
}
else if(o==bt6) {
//刷新
String sqlCode = "select a.c_name 宾客姓名,a.c_tel 联系电话,b.r_type 预定房间类型,a.r_no 预定房间编号,a.pa_time 预抵时间,a.keep_time 保留时间,a.eng_time 预定时间,a.remark 备注 "+
"from engage as a,roomtype as b where a.r_type_id = b.id and a.delmark = 0 and b.delmark = 0 and engagemark = 2";
sunsql.initDTM(dtm,sqlCode);
}
else if(o==bt7) { //开设房间
int row = tb.getSelectedRow();
if(row
JOptionPane.showMessageDialog(null, "请在预订列表中选中指定的预订房间,开设房间",
" 提示", JOptionPane.INFORMATION_MESSAGE);
return;
}//Endif
if(initIDV(row)) {
ev.show(true);
initDTM();
}//Endif
}
else if(o==mi1) {
//过滤今日预抵宾客
String date = getDate();
String start = date + " 00:00:00";
String end = date + " 23:59:59";
String sqlCode = "select a.c_name 宾客姓名,a.c_tel 联系电话,b.r_type 预定房间类型,a.r_no 预定房间编号,a.pa_time 预抵时间,a.keep_time 保留时间,a.eng_time 预定时间,a.remark 备注 "+
"from engage as a,roomtype as b where a.r_type_id = b.id and a.delmark = 0 and b.delmark = 0 and engagemark = 2 and a.pa_time between '"+start+"' and '"+end+"'";
sunsql.initDTM(dtm,sqlCode);
}
else if(o==mi2) {
//过滤明日预抵宾客
String date = tomorrow();
String start = date + " 00:00:00";
String end = date + " 23:59:59";
String sqlCode = "select a.c_name 宾客姓名,a.c_tel 联系电话,b.r_type 预定房间类型,a.r_no 预定房间编号,a.pa_time 预抵时间,a.keep_time 保留时间,a.eng_time 预定时间,a.remark 备注 "+
"from engage as a,roomtype as b where a.r_type_id = b.id and a.delmark = 0 and b.delmark = 0 and engagemark = 2 and a.pa_time between '"+start+"' and '"+end+"'";
sunsql.initDTM(dtm,sqlCode);
}
}
2.6 营业查询
1、完成结帐单、全部宾客消费、在店宾客消费、离店宾客消费的查询
2、输入项
[## public Query(JFrame frame) {} ]: 构造函数
* 参数 :JDialog 对象表示本对话框的父窗口
* 返回值 :无
* 修饰符 :public
* 功能 :组建营业查询模块
[## private void addListener() {} ]: 加事件监听
* 参数 :无
* 返回值 :无
* 修饰符 :private
* 功能 :加事件监听
2.7 客户管理
1、完成会员基本信息的维护和来宾一览。
增加、修改会员信息时弹出子窗口。
2、输入项
public void actionPerformed(ActionEvent ae) {
Object o = ae.getSource();
if(o==bt1) {//=====================================保存
long pk = Customer.pk;//得到主键
String m_id,m_name,sex,zj_no,m_tel,address;
m_id = tf1.getText();
m_name = tf2.getText();
sex = cb1.getSelectedItem()+"";
zj_no = tf3.getText();
m_tel = tf4.getText();
address = tf5.getText();
if(m_name.equals("")||zj_no.equals("")||m_tel.equals("")||address.equals("")) { //若添加项有空值
JOptionPane.showMessageDialog(null,"会员信息有空值,请重新输入!");
return;
}else {
if(!suntools.isNum(tf4.getText())) {//判断电话是否由数字组成
JOptionPane.showMessageDialog(null,"联系电话必须由数字组成, 请重新输入!");
tf4.setText("");
}else {//将添加的信息插入会员表
String sqlCode = "update member set m_id='"+m_id+"',m_name='"+m_name+"',sex='"+sex+"',zj_no='"+zj_no+"',m_tel='"+m_tel+"',address='"+address+"' where pk = "+pk;
sunsql.executeUpdate(sqlCode);
}
this.setVisible(false);
}
}else if(o==bt2) {//===============================取消
this.setVisible(false);
}else if(o==tf3) {
tf4.requestFocus();
}else if(o==tf4) {
//判断必须全部为数字
if(!suntools.isNum(tf4.getText())) {//判断电话是否由数字组成
JOptionPane.showMessageDialog(null,"联系电话必须由数字组成, 请重新输入!");
tf4.setText("");
}else {
tf5.requestFocus();
}
}
}
2.8系统设置
1、完成房间项目、客户类型、操作员、计费设置。
2、输入项
[ 函数说明 ] :
*
* [## public AddCustomerType(JDialog dialog) {} ]:
* 功能: 添加新的客户类型
*
* [## private void addListener() {} ]:
* 功能: 加事件监听
*
* [## private boolean isValidity() {} ]:
* 功能: 测试用户输入的数据是否合法
*
* [## private void saveAddCustomerType() {} ]:
* 功能: 保存客户类型
* [## public AddRoomInfo(JDialog dialog) {} ]:
* 功能: 添加新的房间信息
*
* [## private void addListener() {} ]:
*
*
*
*
*
*
*
* 功能: 加事件监听 [## private void buildPC() {} ]: 功能: 制作信息面板 [## private void buildPS() {} ]: 功能: 制作按键面板
2.9 关于我们
1、显示软件制作小组基本信息。
2、输入项
public About (JFrame frame) {
super (frame, "关于我们", true);
top = new JLabel (new ImageIcon("pic/about.gif"));
li = new JLabel (new ImageIcon("pic/line1.gif"));
fee = new JLabel ("技术支持: [email protected]
版权所有 (C) 2006 SunshineSOFT Corporation.");
tit = new JLabel (" 欢 迎 使 用 阳 光 酒 店 管 理 系 统");
ver = new JLabel ("版本: 2006 Bate1 ");
user= new JLabel ("软件用户: " + sunini.getIniKey("UserName"));
co = new JLabel (" 所属公司: " + sunini.getIniKey("CompName"));
boss= new JLabel (" 阳光设计组成员: 顾俊、董丰");
temp= new JLabel (" "); bt1 = new TJButton ("pic/choose.gif", "确 定", ""); pm = new JPanel (new BorderLayout ()); info = new JPanel (new GridLayout (4, 1, 0, 0)); bott = new JPanel (new BorderLayout ()); i1 = new JPanel (); i2 = new JPanel (new FlowLayout (FlowLayout.RIGHT)); bp = new JPanel (new FlowLayout (FlowLayout.RIGHT, 10 ,8));
3餐饮管理系统界面功能描述
3.1主界面
1、系统运行主框架,实时显示餐饮管理信息。
2、输入项
GridBagConstraints();
gridBagConstraints_5.gridx = 0;
gridBagConstraints_5.gridy = 0;
panel.add(topLabel, gridBagConstraints_5);
final JLabel leftLabel = new JLabel();
leftLabel.setPreferredSize(new Dimension(140, 0));
final GridBagConstraints gridBagConstraints_3 = new GridBagConstraints();
gridBagConstraints_3.gridy = 1;
gridBagConstraints_3.gridx = 0;
panel.add(leftLabel, gridBagConstraints_3);
final JLabel rightLabel = new JLabel();
rightLabel.setPreferredSize(new Dimension(55, 0));
final GridBagConstraints gridBagConstraints_2 = new GridBagConstraints(); gridBagConstraints_2.gridy = 1;
gridBagConstraints_2.gridx = 1;
panel.add(rightLabel, gridBagConstraints_2);
3.2菜品管理
1、通过各菜品的编码、名称、助记码等来添加或者删除各个菜品。
2、输入项
public MenuDialog() {
super();
setModal(true);
getContentPane().setLayout(new BorderLayout());
setResizable(true);
setTitle("菜品管理");
//2012-4-16
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension screenSize = toolkit.getScreenSize();
setBounds( (int)(screenSize.width*0.1),
(int)(screenSize.width*0.8), (int)(screenSize.height*0.8));
(int)(screenSize.height*0.1),
final JPanel operatePanel = new JPanel();
operatePanel.setLayout(new GridBagLayout());
getContentPane().add(operatePanel,BorderLayout.NORTH);
3.3菜系管理
1、添加或删除各个菜系的管理界面。
2、输入项
public SortDialog() {
super();
setModal(true);
getContentPane().setLayout(new BorderLayout());
setResizable(true);
setTitle("菜系管理");
//2012-4-16
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension screenSize = toolkit.getScreenSize();
setBounds( (int)(screenSize.width*0.1), (int)(screenSize.height*0.1), (int)(screenSize.width*0.8), (int)(screenSize.height*0.8));
final JPanel operatePanel = new JPanel();
getContentPane().add(operatePanel, BorderLayout.NORTH);
final JLabel sortNameLabel = new JLabel();
operatePanel.add(sortNameLabel);
sortNameLabel.setText("菜系名称:");
sortNameTextField = new JTextField();
operatePanel.add(sortNameTextField);
sortNameTextField.setColumns(20);
final JLabel topPlaceholderLabel = new JLabel();
topPlaceholderLabel.setPreferredSize(new Dimension(20, 40));
operatePanel.add(topPlaceholderLabel);
3.4台号管理
1、对各个台号进行添加、删除管理。
2、输入项
super();
setModal(true);
getContentPane().setLayout(new BorderLayout());
setResizable(true);
setTitle("台号管理");
//2012-4-16
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension screenSize = toolkit.getScreenSize();
setBounds( (int)(screenSize.width*0.1),
(int)(screenSize.width*0.8), (int)(screenSize.height*0.8)); (int)(screenSize.height*0.1),
3.5日(月、年)结账
1、通过此管理界面对酒店每天(月、年)的营业额进行管理和报表处理。
2、输入项
super();
setModal(true);
setTitle("日结账");
//2012-4-16
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension screenSize = toolkit.getScreenSize();
setBounds( (int)(screenSize.width*0.05), (int)(screenSize.height*0.1), (int)(screenSize.width*0.9), (int)(screenSize.height*0.8));
final JPanel panel = new JPanel();
getContentPane().add(panel, BorderLayout.NORTH);
3.6修改密码
1、管理员通过此功能修改自己的登录密码。
2、输入项
super();
getContentPane().setLayout(new GridBagLayout());
setModal(true);
setTitle("修改密码");
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setBounds((screenSize.width - 300) / 2, (screenSize.height - 200) / 2, 300, 200);
final JLabel oldPasswordLabel = new JLabel();
oldPasswordLabel.setText("原 密 码:");
final GridBagConstraints gridBagConstraints_7 = new GridBagConstraints(); final JLabel newPasswordLabel = new JLabel();
newPasswordLabel.setText("新 密 码:");
final GridBagConstraints gridBagConstraints = new GridBagConstraints(); gridBagConstraints.insets = new Insets(10, 0, 0, 0);
gridBagConstraints.gridy = 1;
gridBagConstraints.gridx = 0;
getContentPane().add(newPasswordLabel, gridBagConstraints);
3.7用户管理
1、对酒店内部人事管理。
2、输入项
super();
setModal(true);
setTitle("用户管理");
//2012-4-16
Toolkit toolkit = Toolkit.getDefaultToolkit(); Dimension screenSize = toolkit.getScreenSize(); setBounds( (int)(screenSize.width*0.2), (int)(screenSize.width*0.6), (int)(screenSize.height*0.6)); (int)(screenSize.height*0.2),