酒店管理系统开发文档(共21页).doc

上传人:飞****2 文档编号:13925838 上传时间:2022-05-02 格式:DOC 页数:21 大小:554.50KB
返回 下载 相关 举报
酒店管理系统开发文档(共21页).doc_第1页
第1页 / 共21页
酒店管理系统开发文档(共21页).doc_第2页
第2页 / 共21页
点击查看更多>>
资源描述

《酒店管理系统开发文档(共21页).doc》由会员分享,可在线阅读,更多相关《酒店管理系统开发文档(共21页).doc(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上中国计量学院现代科技学院课程设计报告本课程设计名称 数据库课程设计 课程设计题目 简单酒店管理系统 系 (部) 信息系 学 号 专 业 计算机 姓 名 姚攀攀 班 级 111 指导教师 关 伟 2014年 5 月 30 日一 开发背景随着社会服务行业的发展,酒店行业对自身提供服务的质量和能力也有了更高的要求。酒店管理系统正是在这样的情况之下越来越受到重视。酒店内部服务项目 众多,既需要完成前台的服务工作,还需要完成后台的管理工作。如果没有一套可靠的酒店管理系统,单凭手工操作,不仅效率低,而且会极大地影响到酒店的服务质量。二酒店管理系统的分析和设计2.1需要解决的问题目

2、前手工操作或采用旧管理系统的酒店在运营时存在如下几个主要问题:1房间的预定功能不能或无法完全的实现,手工记录或早期系统无法即时了解当天的房间使用状况,无法判断房间是否被重复预定,客人无法在到达酒店前随时进行酒店预订和房间信息的了解。 2宾客住宿时,操作员不能直接了解实际房价和房间使用情况;对于预定宾客无法做到有效的查询、直接入住。 3收银处不能快速的了解待结用户的情况,无法有效的督促其进行费用的缴纳;当用户结账时,对于其消费情况无法快速的查询并清楚的显示,容易出现费用纠纷,住房费用靠人工进行计算,容易出现差错。4管理部门无法直接、快速查询、统计客人实际消费情况,营业情况。5酒店经理不能直接、及

3、时了解客房开房情况,客人消费情况,酒店营业收入情况,没有各种所需的数据分析。6由于人手操作的缘故,所有统计报表都由人手工计算和制作,不但效率低,容易差错,更无法作大型复杂的统计,先进的管理模式无法在酒店应用,直接影响酒店管理水平的提高。7. 客人无法提前了解酒店直观的了解酒店位置,房间信息,进行客房预订等。2.2 系统设计目标针对旧系统的主要问题,本系统提出的总目标是为酒店宾客提供迅速、高效、满意的服务;最大程度的减少事务处理过程中的误差;及时、准确地反映酒店的运作情况、经营情况,从而提高酒店的服务质量,获得更好的经济效益。具体的目标包括:1宾客在线自助预定服务功能。2快速办理客人入住 3客房

4、管理功能:显示当前各房间状态(Available/InUse/Booked)4房费扣除系统:自动扣除每日房费或半日房费,使收银员不必再进行繁琐的计算。5结帐系统:自动显示当前待结、欠款宾客;转帐、入帐、锁单功能;由电脑自动记录每位客人的每笔消费记录,确保准确无误。6客人资料管理功能:对住宿用户、预定用户、历史用户进行设置和管理。7综合查询功能。8账务统计功能:根据需求统计每日或每月宾馆收入、消费情况,方便财务部门进行资金的核对,并直观的显示出各段时间酒店的运营状况、入住状况。9系统运行稳定可靠、各项维护功能齐全、易于维护。10简单、友好的操作界面。2.3系统性能要求本系统的最终用户涉及酒店前台

5、操作人员、收银员、财务人员、经理、后勤部门,负责了整个酒店的运作。因此系统必须运行稳定可靠。并且操作界面要简单友好,功能按钮用词要明确,提示要完备,使用户在较短的时间内掌握软件的使用方法。2.4系统运行环境硬件环境:1.CPU 主频Pentium3GHz或更高。2.内存512M或更高3.显示器分辨率800*600或更高。操作系统:Windows XPWindows 2003三 功能模块划分:简单酒店管理系统的 系统功能模块如下图3-1所示:简单酒店管理系统客房信息信息查询结账账务账单统计管理员设置辅助功能关于系统系统功能模块图(3-1)3.1客房信息:该模块主要包括:客人入住信息,换房信息,退

6、房信息,预订,押金等信息3.2信息查询:此模块主要包括:入住旅客信息,房间状态,物料消耗,押金消费等查询操作3.3结账模块:此模块主要包括:餐费,话费,消费入账,物资总消耗3.4账务账单统计此模块主要包括:客房入住,客房话费,客房餐费,客房消费等统计操作3.5管理员设置此模块主要包括:管理员管理,密码修改,系统日志查看,数据备份等操作。3.6辅助功能此模块主要包括:计算器,记事本,播放器,小游戏等调用操作3.7关于系统此模块主要包括:系统的相关信息四 系统功能流程图:顾客查看房间状态查看顾客信息结帐查看押金信息更换房间前台接待员发出预请求是否为空顾客发出换房请求换房成功房间已有人,请另换房顾客

7、查看顾客消费状况请求结账返回房间信息管理员后台数据管理五 数据库设计5.1.1客户入住单表5.2客房结账单5.3客房预约单表5.4操作用户表5.5消费入帐表5.6消费物品表5.7话费入账表5.8酒店信息表5.9酒店房间表5.10餐费入账六 模块实现过程6.1主界面设计如下图所示实现过程,建立一个窗体,命名为mainform,在工具箱中找到menustrip,分别输入相应的菜单项,在form_load时间中添加如下形式的代码:Dim MyDlg As New 当前窗体() MyDlg.ShowDialog()连接子窗体。6.2工具栏的实现工具栏图示:实现方法:在工具箱中把tooltcrip按钮拖

8、到主窗体中,右击鼠标,选择新建按钮,选择属性-添加北京 图片,将图片引入到当前项目中,双击按钮填写时间,代码如下:Dim MyDlg As New 当前窗体() MyDlg.ShowDialog()6.3模块功能实现过程1建立一个模块(modul)进行数据库连接,起连接代码如下:Module MdlCommon Public txtSQL As String 存放SQL语句 Public DBSet As DataSet 查询得到的记录集 Public ErrorMsg As String 存放错误信息 Public Function ExecuteSQL(ByVal strSQL As St

9、ring, ByRef errMsg As String) As DataSet Dim cnn As SqlClient.SqlConnection Dim cmd As New SqlClient.SqlCommand() Dim adpt As SqlClient.SqlDataAdapter Dim rst As New DataSet() Dim SplitSQL() As String errMsg = Try SplitSQL = Split(strSQL) cnn = New SqlClient.SqlConnection(data source=(local);initial

10、 catalog=urp;user id=sa;pwd=1234) If InStr(INSERT,DELETE,UPDATE, UCase$(SplitSQL(0) Then cmd.Connection = cnn cmd.Connection.Open() cmd.CommandText = strSQL cmd.ExecuteNonQuery() Else adpt = New SqlClient.SqlDataAdapter(strSQL, cnn) adpt.Fill(rst) ExecuteSQL = rst End If Catch ex As Exception errMsg

11、 = ex.Message Finally rst = Nothing cnn = Nothing End Try End Function End Module 2.部分功能实现介绍:2.1入住登记:单击菜单项里面的客房入住下拉菜单,单击【客人入住信息】或单击工具栏中【住房信息】按钮,弹出如图所示窗体:可以在里面输入相应的信息,并进行保存。代码如下:Imports System.Data.SqlClientImports System.IOPublic Class BookForm Private Sub ComboBox1_SelectedIndexChanged(ByVal sender

12、 As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged strsql = select * from 酒店房间 where 类别= & ComboBox1.Text & objconn1.Open() ad = New SqlDataAdapter(strsql, objconn1) objconn1.Close() objdset1.Clear() ad.Fill(objdset1, a) DataGridView1.DataSource = objdset1.Tables(

13、a) Me.TextBox1.Text = Me.DataGridView1.CurrentRow.Cells(0).Value End Sub Private Sub 新增Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 新增Button.Click If Trim(TextBox1.Text) = Then MsgBox(房间类别不能为空!, 64, 提示) TextBox1.Focus() Else Dim strin As String objconn1.Open() Dim

14、 yybh As New SqlParameter(yybh, SqlDbType.NVarChar, 30) Dim fh As New SqlParameter(fh, SqlDbType.NVarChar, 30) Dim ysyj As New SqlParameter(ysyj, SqlDbType.Float) Dim rzrq As New SqlParameter(rzrq, SqlDbType.DateTime, 16) Dim lkrq As New SqlParameter(lkrq, SqlDbType.DateTime, 20) Dim krxm As New Sql

15、Parameter(krxm, SqlDbType.NVarChar, 30) Dim zsrs As New SqlParameter(zsrs, SqlDbType.Int) Dim krxb As New SqlParameter(krxb, SqlDbType.NVarChar, 20) Dim lxdh As New SqlParameter(lxdh, SqlDbType.NVarChar, 20) strin = insert into 客房预约单(预约编号,房号,预收押金,入住日期,离开日期,客人姓名,住宿人数,客人性别,联系电话) values(yybh,fh,ysyj,rz

16、rq,lkrq,krxm,zsrs,krxb,lxdh) Dim objcmd1 As New SqlCommand(strin, objconn1) objcmd1.Parameters.Add(yybh) objcmd1.Parameters.Add(fh) objcmd1.Parameters.Add(ysyj) objcmd1.Parameters.Add(rzrq) objcmd1.Parameters.Add(lkrq) objcmd1.Parameters.Add(krxm) objcmd1.Parameters.Add(zsrs) objcmd1.Parameters.Add(

17、krxb) objcmd1.Parameters.Add(lxdh) yybh.Value = 预约编号TextBox.Text fh.Value = TextBox1.Text ysyj.Value = 预收押金TextBox.Text rzrq.Value = 入住日期DateTimePicker.Text lkrq.Value = 离开日期DateTimePicker.Text krxm.Value = 客人姓名TextBox.Text zsrs.Value = 住宿人数ComboBox.Text krxb.Value = 客人性别ComboBox.Text lxdh.Value = 联

18、系电话TextBox.Text objcmd1.ExecuteNonQuery() objconn1.Close() objcmd1.Dispose() Dim MyCount As Integer = Convert.ToInt16(Me.DataGridView1.CurrentRow.Cells(5).Value.ToString() If MyCount 0 Then MsgBox(该房间已住人!请另选房间!) Else MsgBox(添加成功!, 64, 提示) End If End If End Sub Private Sub DataGridView1_CellContentCl

19、ick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick Me.TextBox1.Text = Me.DataGridView1.CurrentRow.Cells(0).Value.ToString End Sub Private Sub BookForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Ha

20、ndles MyBase.Load Dim MyConnection As New SqlConnection(conn) MyConnection.Open() Dim MyCommand As SqlCommand = MyConnection.CreateCommand() MyCommand.CommandText = Select max(预约编号) 最大编号 From 客房预约单 Dim MyResult As Object = MyCommand.ExecuteScalar() Dim MyID As System.Int64 = 1 If (Not (MyResult Is S

21、ystem.DBNull.Value) Then Dim MyMaxID As String = MyResult.ToString().Trim() MyMaxID = MyMaxID.Substring(2, MyMaxID.Length - 2) MyID = Convert.ToInt64(MyMaxID) + 1 End If Dim MyLength As Integer = MyID.ToString().Length Dim MyNewID As String = Select Case (MyLength) Case 1 MyNewID = YY + MyID.ToStrin

22、g() Case 2 MyNewID = YY + MyID.ToString() Case 3 MyNewID = YY00000 + MyID.ToString() Case 4 MyNewID = YY0000 + MyID.ToString() Case 5 MyNewID = YY000 + MyID.ToString() Case 6 MyNewID = YY00 + MyID.ToString() Case 7 MyNewID = YY0 + MyID.ToString() End Select If (MyConnection.State = ConnectionState.O

23、pen) Then MyConnection.Close() End If Me.预约编号TextBox.Text = MyNewID End SubEnd Class2.2旅客换房登记单击菜单项里面的客房入住下拉菜单,单击【客人换房信息】或单击工具栏中【旅客换房信息】按钮,弹出如图所示窗体:可以通过旅客入住编号,酒店房间类别两种方式进行查询,通过第二个表的信息查看房间状态,并进行换房操作,实现过程如下:Imports System.Data.SqlClientImports System.IOPublic Class ChangeHouseForm Private Sub 根据当前选择换房B

24、utton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 根据当前选择换房Button.Click Dim My住宿人数 As Integer = Convert.ToInt16(Me.客房入住单DataGridView.CurrentRow.Cells(10).Value.ToString() Dim My可入住人数 As Integer = Convert.ToInt16(Me.酒店客房信息DataGridView.CurrentRow.Cells(4).Value.ToString()

25、Dim My已住人数 As Integer = Convert.ToInt16(Me.酒店客房信息DataGridView.CurrentRow.Cells(5).Value.ToString() If (My住宿人数 My可入住人数) Then MessageBox.Show(没有足够的床位进行换房操作!, 信息提示, MessageBoxButtons.OK, MessageBoxIcon.Information) Return End If Dim My入住编号 As String = Me.客房入住单DataGridView.CurrentRow.Cells(0).Value.ToSt

26、ring() Dim My原房号 As String = Me.客房入住单DataGridView.CurrentRow.Cells(1).Value.ToString() Dim My新房号 As String = Me.酒店客房信息DataGridView.CurrentRow.Cells(0).Value.ToString() If My已住人数 0 Then MsgBox(此房间已住人,无法换房!) Return Else Dim MyInfo As String = 是否确定将 + My入住编号 + 中的客人从 + My原房号 + 号房换到 + My新房号 + 号房? If (Mes

27、sageBox.Show(MyInfo, 信息提示, MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.No) Then Return End If End If Dim MyConnection As New SqlConnection(conn) MyConnection.Open() Dim MyCommand As SqlCommand = MyConnection.CreateCommand() Dim MySQL As String = Update 酒店房间 Set 已入住人数=已入住人数+ + My

28、住宿人数.ToString() + WHERE 房号= + My新房号.ToString() + ; MySQL = MySQL + Update 酒店房间 Set 已入住人数=已入住人数- + My住宿人数.ToString() + WHERE 房号= + My原房号.ToString() + ; MySQL = MySQL + Update 客房入住单 Set 房号= + My新房号.ToString() + WHERE 入住编号= + My入住编号.ToString() + ; MyCommand.CommandText = MySQL MyCommand.ExecuteNonQuery

29、() MsgBox(换房成功!) If (MyConnection.State = ConnectionState.Open) Then MyConnection.Close() End If End Sub Private Sub 旅客登记信息Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 旅客登记信息Button.Click Dim MySQL As String = Select * From 客房入住单 Where 入住编号 LIKE + Me.ComboBox1.Text

30、 + AND 入住编号 NOT IN (Select 入住编号 FROM 客房结帐单) Dim MyConnection As New SqlConnection(conn) MyConnection.Open() Dim MyTable As New DataTable() Dim MyAdapter As New SqlDataAdapter(MySQL, MyConnection) MyAdapter.Fill(MyTable) Me.客房入住单DataGridView.DataSource = MyTable If (MyConnection.State = ConnectionSta

31、te.Open) Then MyConnection.Close() End If End Sub Private Sub 酒店房间类别ComboBox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 酒店房间类别ComboBox.SelectedIndexChanged strsql = select * from 酒店房间 where 类别= & 酒店房间类别ComboBox.Text & objconn1.Open() ad = New SqlDataAdap

32、ter(strsql, objconn1) objconn1.Close() objdset1.Clear() ad.Fill(objdset1, b) 酒店客房信息DataGridView.DataSource = objdset1.Tables(b) End SubEnd Class2.3结账登记单击菜单项里面的【结账】下拉菜单,单击【总费用结账】或单击工具栏中【旅客结账】按钮,弹出如图所示窗体:可以通过选择酒店房号,旅客姓名进行旅客结账单打印,并进行相应保存,具体实现代码如下:Imports System.Data.SqlClientImports System.IOPublic Cla

33、ss ConsumeForm Private My入住编号 As String Private MyID As Integer Private MyconsumeTable As New DataTable() Private Sub ConsumeForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load strsql = select * from 消费物品 objconn1.Open() ad = New SqlDataAdapter(strsql, objconn1)

34、 objconn1.Close() objdset1.Clear() ad.Fill(objdset1, a) 消费品价格DataGridView.DataSource = objdset1.Tables(a) Me.消费品名称TextBox.DataBindings.Add(text, objdset1.Tables(a), 名称) Me.单价TextBox.DataBindings.Add(text, objdset1.Tables(a), 单价) End Sub Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Syst

35、em.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged Dim MySQL As String = Select 客人姓名,入住编号 From 客房入住单 Where 房号= + Me.ComboBox1.Text + AND 入住编号 NOT IN(Select 入住编号 FROM 客房结帐单) Dim MyConnection As New SqlConnection(conn) MyConnection.Open() Dim MyGuestTable As New DataTable()

36、 Dim MyAdapter As New SqlDataAdapter(MySQL, MyConnection) MyAdapter.Fill(MyGuestTable) Me.ComboBox2.DataSource = MyGuestTable Me.ComboBox2.DisplayMember = 客人姓名 Me.ComboBox2.ValueMember = 入住编号 If (MyConnection.State = ConnectionState.Open) Then MyConnection.Close() End If End Sub Private Sub 添加Button

37、_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 添加Button.Click MyID = MyID + 1 Dim MyRow As DataRow = MyconsumeTable.NewRow() MyRow(1) = MyID MyRow(名称) = Me.消费品名称TextBox.Text MyRow(单价) = Me.单价TextBox.Text MyRow(数量) = Me.数量TextBox.Text MyRow(折扣价格) = Me.折扣价格TextBox.Text Myco

38、nsumeTable.Rows.Add(MyRow) End SubEnd Class2.4旅客消费账单单击菜单项里面的【账单信息】下拉菜单,单击【统计消费】或单击工具栏中【消费结账】按钮,弹出如图所示窗体:通过查询期间内的总消费,并进行打印,具体实现过程如下:文件名:PrintConsumeForm.vbImports System.TypeImports System.Data.SqlClientImports System.IOImports Microsoft.Office.Interop.ExcelImports System.ReflectionImports Microsoft.

39、Office.CorePublic Class PrintConsumeForm Public MyPrintTable As System.Data.DataTable Dim conn As String = data source=.;connect timeout=300; initial catalog=MyHotel;integrated security=true; Dim objconn1 As New SqlConnection(conn) Private Sub 查询Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 查询Button.Click Dim objconn1 As New SqlConnection(conn) objconn1.Open() MyPrintTable = New System.Data.DataTable() Dim MySQL As String = Select * From 店内消费报表视图 Wher

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁