XX酒店管理系统设计说明书.docx
《XX酒店管理系统设计说明书.docx》由会员分享,可在线阅读,更多相关《XX酒店管理系统设计说明书.docx(25页珍藏版)》请在冰豆网上搜索。
![XX酒店管理系统设计说明书.docx](https://file1.bdocx.com/fileroot1/2023-1/10/25677a8e-c51d-4ea0-8133-4bb5d2498f35/25677a8e-c51d-4ea0-8133-4bb5d2498f351.gif)
XX酒店管理系统设计说明书
XX酒店管理系统设计说明书
1引言
1.1编写目的
本文档为阳光酒店管理系统详细设计说明书,为阳光酒店管理系统编码的主要依据。
1.2背景
软件全称:
阳光酒店管理系统。
软件开发者:
湖州师范学院090821班第六组成员
用户:
湖州师范学院090821班测试组
本软件系统主要包括酒店客房管理和餐饮管理两部分,适合各个酒店管理的需求。
2客房管理系统界面功能描述
2.1主界面
1、系统运行主框架,实时显示房态信息。
2、输入项
lbB.setText(face+"散客开单 -");
if(initIDV()){//传数据给散客开单窗口
idv.show();//散客开单
initLeftData();//刷新左房间信息栏数据
}//Endif
}elseif(o==bt2||o==mi12)
lbB.setText(face+"团体开单 -");
if(initTeam()){//传宾客类型数据给团体开单窗口
tm.show();//团体开单
initLeftData();//刷新左房间信息栏数据
}//Endif
}elseif(o==bt3||o==mi36)
lbB.setText(face+"宾客结帐 -");
if(initCKO()){//传数据给结算窗口
co.show();//宾客结帐
initLeftData();//刷新左房间信息栏数据
}//Endif
}elseif(o==bt5||o==mi17)
lbB.setText(face+"客房预订 -");
eg.show();//客房预订
initLeftData();//刷新左房间信息栏数据
}elseif(o==bt6)
lbB.setText(face+"营业查询 -");
qr.show();//营业查询
}elseif(o==bt7)
if(puil.equals("普通操作员")){//客户管理
Stringmsg="对不起,您的权限不能进入[客户管理]页面,请用管理员ID登录...";
JOptionPane.showMessageDialog(null,msg,"提示",JOptionPane.INFORMATION_MESSAGE);
return;
}
lbB.setText(face+"客户管理 -");
ct.initDTM1();
//ct.initDTM2();
ct.show();
}elseif(o==bt8||o==mi31)
2.2散客开单
1、完成对散客的开单任务。
最多能追加五个相同类型的房间。
2、输入项
[函数说明]:
*
*[##publicIndividual(JFrameframe){}]:
*功能:
散客开单窗口
*
*[##privatevoidaddListener(){}]:
*功能:
加事件监听
*
*[##privatevoidbuildPanel(){}]:
*功能:
制作主面板
*
*[##privatevoidinitDTM1(){}]:
*功能:
初始化可供房间列表
*
*[##privatevoidinitDTM2(){}]:
*功能:
初始化开单房间列表
*
*[##privatevoidaddRoom(){}]:
*功能:
加到开单区
*
*[##privatevoidsubRoom(){}]:
*功能:
从开单区移除
*
*[##privatebooleanisValidity(){}]:
*功能:
测试用户输入的数据是否合法
*
*[##privatevoidsaveLiveIn(){}]:
*功能:
保存宾客入住信息
2.3团体开单
1、完成对团体宾客的开单任务。
房间数没有限制,可同时追加不同类型的房间。
2、输入项
[函数说明]:
*
*[##publicTeam(JFrameframe){}]:
*功能:
散客开单窗口
*
*[##privatevoidaddListener(){}]:
*功能:
加事件监听
*
*[##privatevoidbuildPanel(){}]:
*功能:
制作主面板
*
*[##privatevoidinitDTM1(StringcType){}]:
*功能:
初始化可供房间列表
*
*[##privatevoidinitDTM2(){}]:
*功能:
初始化开单房间列表
*
*[##privatevoidaddRoom(){}]:
*功能:
加到开单区
*
*[##privatevoidsubRoom(){}]:
*功能:
从开单区移除
*
*[##privatebooleanisValidity(){}]:
*功能:
测试用户输入的数据是否合法
*
*[##privatevoidsaveLiveIn(){}]:
*功能:
保存所有宾客的入住信息
2.4宾客结帐
1、自动统计每个登记客人在店时所发生的消费额和应付款额,并完成结帐收银操作。
2、输入项
[##privatebooleanisValidity(){}]:
测试用户输入的数据是否合法
*参数:
无
*返回值:
boolean
*修饰符:
private
*功能:
测试用户输入的数据是否合法
2.5客房预订
1、完成增加预订、修改预订、删除预订,预订情况的查询等功能。
添加、修改预订信息时弹出子窗口。
2、输入项
publicvoidactionPerformed(ActionEventae){
Objecto=ae.getSource();
if(o==bt1){
//增加预定信息
sunsql.executeUpdate("deletefromengage1");
StringsqlCode="selecta.r_type预定规格,b.r_no房间fromroomtypeasa,engage1asbwherea.id=b.r_type_id";
sunsql.initDTM(ei.dtm1,sqlCode);
ei.chk.setSelected(false);
ei.show(true);
initDTM();
//sunsql.initJComboBox(ei.cb1,"selectr_typefromroomtypewheredelmark=0");
}
elseif(o==bt2){
//修改预定信息
if(initMrt()){//传数据给窗口
em.show(true);//修改预定信息
initDTM();//刷新表数据
}//Endif
}
elseif(o==bt3){
//删除预定信息
intrRow[]=tb.getSelectedRows();//删除预订信息
if(delInfo(rRow)){//执行删除操作
initDTM();//刷新房间表数据
}//Endif
}
elseif(o==bt4){
//查询
Strings=tf1.getText();
StringsqlCode="selecta.c_name宾客姓名,a.c_tel联系电话,b.r_type预定房间类型,a.r_no预定房间编号,a.pa_time预抵时间,a.keep_time保留时间,a.eng_time预定时间,a.remark备注"+
"fromengageasa,roomtypeasbwherea.r_type_id=b.idanda.delmark=0andb.delmark=0anda.engagemark=2and(a.c_namelike'%"+s+"%'ora.r_nolike'%"+s+"%'ora.c_tellike'%"+s+"%')";
sunsql.initDTM(dtm,sqlCode);
}
elseif(o==bt6){
//刷新
StringsqlCode="selecta.c_name宾客姓名,a.c_tel联系电话,b.r_type预定房间类型,a.r_no预定房间编号,a.pa_time预抵时间,a.keep_time保留时间,a.eng_time预定时间,a.remark备注"+
"fromengageasa,roomtypeasbwherea.r_type_id=b.idanda.delmark=0andb.delmark=0andengagemark=2";
sunsql.initDTM(dtm,sqlCode);
}
elseif(o==bt7){//开设房间
introw=tb.getSelectedRow();
if(row<0){
JOptionPane.showMessageDialog(null,"请在预订列表中选中指定的预订房间,开设房间",
"提示",JOptionPane.INFORMATION_MESSAGE);
return;
}//Endif
if(initIDV(row)){
ev.show(true);
initDTM();
}//Endif
}
elseif(o==mi1){
//过滤今日预抵宾客
Stringdate=getDate();
Stringstart=date+"00:
00:
00";
Stringend=date+"23:
59:
59";
StringsqlCode="selecta.c_name宾客姓名,a.c_tel联系电话,b.r_type预定房间类型,a.r_no预定房间编号,a.pa_time预抵时间,a.keep_time保留时间,a.eng_time预定时间,a.remark备注"+
"fromengageasa,roomtypeasbwherea.r_type_id=b.idanda.delmark=0andb.delmark=0andengagemark=2anda.pa_timebetween'"+start+"'and'"+end+"'";
sunsql.initDTM(dtm,sqlCode);
}
elseif(o==mi2){
//过滤明日预抵宾客
Stringdate=tomorrow();
Stringstart=date+"00:
00:
00";
Stringend=date+"23:
59:
59";
StringsqlCode="selecta.c_name宾客姓名,a.c_tel联系电话,b.r_type预定房间类型,a.r_no预定房间编号,a.pa_time预抵时间,a.keep_time保留时间,a.eng_time预定时间,a.remark备注"+
"fromengageasa,roomtypeasbwherea.r_type_id=b.idanda.delmark=0andb.delmark=0andengagemark=2anda.pa_timebetween'"+start+"'and'"+end+"'";
sunsql.initDTM(dtm,sqlCode);
}
}
2.6营业查询
1、完成结帐单、全部宾客消费、在店宾客消费、离店宾客消费的查询
2、输入项
[##publicQuery(JFrameframe){}]:
构造函数
*参数:
JDialog对象表示本对话框的父窗口
*返回值:
无
*修饰符:
public
*功能:
组建营业查询模块
[##privatevoidaddListener(){}]:
加事件监听
*参数:
无
*返回值:
无
*修饰符:
private
*功能:
加事件监听
2.7客户管理
1、完成会员基本信息的维护和来宾一览。
增加、修改会员信息时弹出子窗口。
2、输入项
publicvoidactionPerformed(ActionEventae){
Objecto=ae.getSource();
if(o==bt1){//=====================================保存
longpk=Customer.pk;//得到主键
Stringm_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{//将添加的信息插入会员表
StringsqlCode="updatemembersetm_id='"+m_id+"',m_name='"+m_name+"',sex='"+sex+"',zj_no='"+zj_no+"',m_tel='"+m_tel+"',address='"+address+"'wherepk="+pk;
sunsql.executeUpdate(sqlCode);
}
this.setVisible(false);
}
}elseif(o==bt2){//===============================取消
this.setVisible(false);
}elseif(o==tf3){
tf4.requestFocus();
}elseif(o==tf4){
//判断必须全部为数字
if(!
suntools.isNum(tf4.getText())){//判断电话是否由数字组成
JOptionPane.showMessageDialog(null,"联系电话必须由数字组成,请重新输入!
");
tf4.setText("");
}else{
tf5.requestFocus();
}
}
}
2.8系统设置
1、完成房间项目、客户类型、操作员、计费设置。
2、输入项
[函数说明]:
*
*[##publicAddCustomerType(JDialogdialog){}]:
*功能:
添加新的客户类型
*
*[##privatevoidaddListener(){}]:
*功能:
加事件监听
*
*[##privatebooleanisValidity(){}]:
*功能:
测试用户输入的数据是否合法
*
*[##privatevoidsaveAddCustomerType(){}]:
*功能:
保存客户类型
*[##publicAddRoomInfo(JDialogdialog){}]:
*功能:
添加新的房间信息
*
*[##privatevoidaddListener(){}]:
*功能:
加事件监听
*
*[##privatevoidbuildPC(){}]:
*功能:
制作信息面板
*
*[##privatevoidbuildPS(){}]:
*功能:
制作按键面板
*
2.9关于我们
1、显示软件制作小组基本信息。
2、输入项
publicAbout(JFrameframe){
super(frame,"关于我们",true);
top=newJLabel(newImageIcon("pic/about.gif"));
li=newJLabel(newImageIcon("pic/line1.gif"));
fee=newJLabel("技术支持:
fee@
版权所有(C)2006SunshineSOFTCorporation.");
tit=newJLabel("欢迎使用阳光酒店管理系统");
ver=newJLabel("版本:
2006Bate1");
user=newJLabel("软件用户:
"+sunini.getIniKey("UserName"));
co=newJLabel("所属公司:
"+sunini.getIniKey("CompName"));
boss=newJLabel("阳光设计组成员:
顾俊、董丰");
temp=newJLabel("");
bt1=newTJButton("pic/choose.gif","确定","");
pm=newJPanel(newBorderLayout());
info=newJPanel(newGridLayout(4,1,0,0));
bott=newJPanel(newBorderLayout());
i1=newJPanel();
i2=newJPanel(newFlowLayout(FlowLayout.RIGHT));
bp=newJPanel(newFlowLayout(FlowLayout.RIGHT,10,8));
3餐饮管理系统界面功能描述
3.1主界面
1、系统运行主框架,实时显示餐饮管理信息。
2、输入项
GridBagConstraints();
gridBagConstraints_5.gridx=0;
gridBagConstraints_5.gridy=0;
panel.add(topLabel,gridBagConstraints_5);
finalJLabelleftLabel=newJLabel();
leftLabel.setPreferredSize(newDimension(140,0));
finalGridBagConstraintsgridBagConstraints_3=newGridBagConstraints();
gridBagConstraints_3.gridy=1;
gridBagConstraints_3.gridx=0;
panel.add(leftLabel,gridBagConstraints_3);
finalJLabelrightLabel=newJLabel();
rightLabel.setPreferredSize(newDimension(55,0));
finalGridBagConstraintsgridBagConstraints_2=newGridBagConstraints();
gridBagConstraints_2.gridy=1;
gridBagConstraints_2.gridx=1;
panel.add(rightLabel,gridBagConstraints_2);
3.2菜品管理
1、通过各菜品的编码、名称、助记码等来添加或者删除各个菜品。
2、输入项
publicMenuDialog(){
super();
setModal(true);
getContentPane().setLayout(newBorderLayout());
setResizable(true);
setTitle("菜品管理");
//2012-4-16
Toolkitt