《阳光酒店管理系统详细设计说明书.doc》由会员分享,可在线阅读,更多相关《阳光酒店管理系统详细设计说明书.doc(24页珍藏版)》请在三一办公上搜索。
1、阳光酒店管理系统详细设计说明书090821班 第六组目 录1引言31.1编写目的31.2背景32客房管理系统界面功能描述42.1主界面42.2散客开单52.3团体开单72.4宾客结帐82.5客房预订92.6 营业查询122.7 客户管理132.8系统设置162.9 关于我们173餐饮管理系统界面功能描述183.1主界面183.2菜品管理193.3菜系管理203.4台号管理213.5日(月、年)结账223.6修改密码223.7用户管理231引言1.1编写目的本文档为阳光酒店管理系统详细设计说明书,为阳光酒店管理系统编码的主要依据。1.2背景软件全称:阳光酒店管理系统。软件开发者:湖州师范学院 0
2、90821班第六组成员用户:湖州师范学院090821班测试组本软件系统主要包括酒店客房管理和餐饮管理两部分,适合各个酒店管理的需求。2客房管理系统界面功能描述2.1主界面1、系统运行主框架,实时显示房态信息。2、输入项lbB.setText(face + 散 客 开 单 -);if(initIDV() /传数据给散客开单窗口idv.show();/散客开单initLeftData();/刷新左房间信息栏数据/Endifelse if(o = bt2 | o = mi12)lbB.setText(face + 团 体 开 单 -);if(initTeam() /传宾客类型数据给团体开单窗口tm.
3、show();/团体开单initLeftData();/刷新左房间信息栏数据/Endifelse if(o = bt3 | o = mi36)lbB.setText(face + 宾 客 结 帐 -);if(initCKO() /传数据给结算窗口co.show();/宾客结帐initLeftData();/刷新左房间信息栏数据/Endifelse if(o = bt5 | o = mi17)lbB.setText(face + 客 房 预 订 -);eg.show();/客房预订initLeftData();/刷新左房间信息栏数据else if(o = bt6)lbB.setText(face
4、 + 营 业 查 询 -);qr.show();/营业查询else if(o = bt7)if(puil.equals(普通操作员) /客户管理String msg = 对不起,您的权限不能进入 客户管理 页面,请用管理员ID登录 .;JOptionPane.showMessageDialog(null, msg, 提示, JOptionPane.INFORMATION_MESSAGE);return;lbB.setText(face + 客 户 管 理 -);ct.initDTM1();/ct.initDTM2();ct.show();else if(o = bt8 | o = mi31)2
5、.2散客开单1、完成对散客的开单任务。最多能追加五个相同类型的房间。2、输入项 函数说明 : * *# public Individual(JFrame frame) : *功能: 散客开单窗口 * *# private void addListener() : *功能: 加事件监听 * *# private void buildPanel() : *功能: 制作主面板 * *# private void initDTM1() : *功能: 初始化可供房间列表 * *# private void initDTM2() : *功能: 初始化开单房间列表 * *# private void add
6、Room() : *功能: 加到开单区 * *# private void subRoom() : *功能: 从开单区移除 * *# private boolean isValidity() : *功能: 测试用户输入的数据是否合法 * *# private void saveLiveIn() : *功能: 保存宾客入住信息2.3团体开单1、完成对团体宾客的开单任务。房间数没有限制,可同时追加不同类型的房间。2、输入项 函数说明 : * *# public Team(JFrame frame) : *功能: 散客开单窗口 * *# private void addListener() : *功
7、能: 加事件监听 * *# private void buildPanel() : *功能: 制作主面板 * *# private void initDTM1(String cType) : *功能: 初始化可供房间列表 * *# private void initDTM2() : *功能: 初始化开单房间列表 * *# private void addRoom() : *功能: 加到开单区 * *# private void subRoom() : *功能: 从开单区移除 * *# private boolean isValidity() : *功能: 测试用户输入的数据是否合法 * *#
8、private void saveLiveIn() : *功能: 保存所有宾客的入住信息2.4宾客结帐1、自动统计每个登记客人在店时所发生的消费额和应付款额,并完成结帐收银操作。2、输入项# private boolean isValidity() : 测试用户输入的数据是否合法 *参数 :无 *返回值 :boolean *修饰符 :private *功能 :测试用户输入的数据是否合法2.5客房预订1、完成增加预订、修改预订、删除预订,预订情况的查询等功能。添加、修改预订信息时弹出子窗口。2、输入项public void actionPerformed(ActionEvent ae) Obje
9、ct 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,sel
10、ect r_type from roomtype where delmark = 0);else if(o=bt2) /修改预定信息if(initMrt() /传数据给窗口em.show(true);/修改预定信息initDTM(); /刷新表数据/Endifelse if(o=bt3) /删除预定信息int rRow = tb.getSelectedRows();/删除预订信息if(delInfo (rRow) /执行删除操作initDTM();/刷新房间表数据/Endifelse if(o=bt4) /查询String s = tf1.getText();String sqlCode =
11、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
12、 %+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 engagem
13、ark = 2;sunsql.initDTM(dtm,sqlCode);else if(o=bt7) /开设房间int row = tb.getSelectedRow();if(row 0) JOptionPane.showMessageDialog(null, 请在预订列表中选中指定的预订房间,开设房间, 提示, JOptionPane.INFORMATION_MESSAGE);return;/Endifif(initIDV(row) ev.show(true);initDTM();/Endifelse if(o=mi1) /过滤今日预抵宾客String date = getDate();S
14、tring 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 en
15、gagemark = 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 保留
16、时间,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) : 构造函数 *参数 :JDi
17、alog对象表示本对话框的父窗口 *返回值 :无 *修饰符 :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_
18、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,会员信息有空值,请重新输入!);retur
19、n;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
20、);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、输入项
21、 函数说明 : * *# public AddCustomerType(JDialog dialog) : *功能: 添加新的客户类型 * *# private void addListener() : *功能: 加事件监听 * *# private boolean isValidity() : *功能: 测试用户输入的数据是否合法 * *# private void saveAddCustomerType() : *功能: 保存客户类型*# public AddRoomInfo(JDialog dialog) : *功能: 添加新的房间信息 * *# private void addList
22、ener() : *功能: 加事件监听 * *# 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 (技术支
23、持: fee版权所有 (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 TJB
24、utton (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
25、、系统运行主框架,实时显示餐饮管理信息。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 GridB
26、agConstraints(); 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(); gridBagCons
27、traints_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 = Tool
28、kit.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(); operatePanel.setLayout(new GridBagLayout(); getContentPa
29、ne().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.getScreenSiz
30、e(); 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(sortName
31、Label); 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台号
32、管理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.heigh
33、t*0.1), (int)(screenSize.width*0.8), (int)(screenSize.height*0.8);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)
34、, (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(修改密码); Dimen
35、sion 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();fin
36、al 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,
37、 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.height*0.2), (int)(screenSize.width*0.6), (int)(screenSize.height*0.6);