1、聂伟锋酒店管理系统毕业设计论文终稿 上海电视大学 毕业设计(论文、作业)毕业设计(论文、作业)题目: 闵二分校学生成绩管理系统 分校(站、点): 闵二分校 年级、专业: 09秋计算机 教育层次: 专科 学生姓名: 屈华 学 号: 098020518 指导教师: 黄晓冬 完成日期: 2011年11月 目 录内容摘要和关键词 一、XXXXXXXX 1(一)XXXXXXXX 21、XXXXXXXX 4 二、XXXXXXXX 7(一)XXXXXXXX 81、XXXXXXXX 10三、XXXXXXXX 12(一)XXXXXXXX 131、XXXXXXXX 14 四、XXXXXXXX 20(一)XXXXX
2、XXX 211、XXXXXXXX 23 五、XXXXXXXX 25(一)XXXXXXXX 261、XXXXXXXX 27 参考文献30附录31致谢 32内 容 摘 要随着计算机普及, 网络技术的发展, 越来越多的企业为引进现代化计算机工具,推动现代化管理,使公司管理规范化、程序化、迅速快捷。各个企业单位的管理系统也不得不与时俱进,及时开发出新的软件或对原有的软件进行功能更新或版本升级。旅游事业的蓬勃发展和宾馆管理业务的不断扩大,宾馆管理人员尤其是星级宾馆的管理人员对宾馆管理的现代化科学化的要求逐渐迫切起来。越来越多的宾馆领导认识到宾馆管理计算机化的重要性和必要性,计算机信息管理系统对宾馆管理来
3、说,已不再是一个时髦的奢侈品,而是一个必不可少的得力助手。本系统使用Visual Basic 2003编程技术和SQL Server 2000数据库技术进行开发,操作系统为Windows2000 Server。本系统共有登入功能、基础设置、业务管理、房态管理等模块。通过这些模块可以对酒店的客房,入住情况等进行搜索、新增、更改、删除等操作。本系统简单易操作,为酒店管理提供了方便。关键词:酒店管理 VB.NET2003 SQLServer2000酒店管理系统一、引言(一)本课题的研究意义酒店作为旅游业的主要组成部分,正在发挥越来越重要的作用。酒店的内涵也随着客人需要的发展而不断变革,消费者对现代酒
4、店的功能、经营管理提出了新的衡量标准。以此为基础,酒店的等级标准也在逐渐提高。现代酒店竞争格局的变化带来现代酒店集团的产生与发展,它对酒店功能的设置与资源管理也提出了更为严格的要求。(二)本论文的目的、内容酒店组织庞大,服务项目多,信息量大,要想提高劳动生产,降低成本,提高服务质量和管理水平,促进经济效益,必须借助计算机来进行现代化的信息管理。用酒店管理系统通过节省大量的人力物力,增加饭店的服务项目,提高酒店的服务档次,减少管理上的漏洞,从整体上提高酒店的经济效益。如完善的预订功能可防止有房不能租或满房重订的情况出现,可随时提供准确的房间使用和预订情况,从而提高客房出租率。二、研究现状及设计目
5、标(一)相近研究课题的特点及优缺点分析传统的酒店管理,多采用手工的形式,既繁琐又易于出差错,随着电子技术的发展,酒店管理多采用使用计算机的方式进行管理,避免进行简单的重复计算,从而做到准确、快捷。酒店管理系统发挥其强大的优势,在数据保存、数据交换等方面均快速可靠,是手工操作所不能完成的。(二)本课题要达到的设计目标酒店作为一个服务型行业,从客房的营销即客人的预订开始,到入住登记直至最后退房结帐,整个过程应该能够体现以宾馆为中心,提供快捷,方便的服务,给宾客一种顾客至上的享受,提高酒店的管理水平,简化各种复杂操作,在最合理最短时间内完成酒店业务规范操作,这样才能令旅客舒适难忘。因此,采用计算机网
6、络和管理系统,将成为提高酒店的管理效率、改善服务水准的重要手段之一。三、要解决的几个关键问题(一)问题:房态设置解决方案:酒店客房在不同时间有不同的状态,如空房、维修房等,在酒店的管理中需要实时掌握每一个客房所处的状态,从而安排各种工作。为了直观的表示和更改这些信息,酒店管理系统中一般都使用房态图来表示。房态图是酒店管理系统中最为重要的一个功能,它以图形的形式显示了酒店各个房间的不同状态,从而使操作者准确、快速地分析酒店目前的房间占用情况,用鼠标单击任意一间客房,就可以浏览到该客房相关的信息。(二)问题:系统与数据库连接解决方法:数据库建立完成后,创建保存入住单、计算应收账款、收银退房三个存储
7、过程。在程序设计界面时,从工具箱拖动一个SqlDataAdapter对象,添加界面需要的表,然后生成数据集,在生成数据集对话框单击确定。为TextBox控件以及Combobox控件设置数据源。Textbox控件属性DataBingings与Text进行数据绑定。(三)问题:登入系统解决方法:在数据库中创建一个登入使用的“用户信息” 表,规定只有数据库有信息的操作员才能登入系统,里面包含操作员登入时使用的用户编号、姓名、密码等信息。程序设计里添加一个frmLogin登入界面,并为其添加Label、Textbox、Button等控件,操作员需输入正确的用户名和密码方可进入操作,输入错误则提示确认用
8、户名密码是否正确,确定后返回重新输入四、系统结构与模型(一)系统结构酒店管理系统基础设置业务管理房态管理收银管理消费记账入住管理预订管理客房类型设置客户信息设置图1 系统模块结构图(二)系统流程客房管理客房信息预订单预订管理入住单入住管理管理员账单明细消费记账消费信息收银管理房态管理房态信息图2 系统流程图(三)设计实现的策略和算法描述客房信息是系统关键的表,其它信息均与通过客房编号字段相对应进行多对一的关联。系统共需要10张表格,用途分别如下表:数据表名数据表用途用户信息保存系统操作人员的信息楼层信息保存楼城编号及其名称客房类型保存客房的类型信息客房信息保存酒店所有的客房信息预订单散客预订房
9、间是使用预订单历史将预订单转到入住单后,将预订单清除并导入到预订单历史入住单散客入住酒店时使用,信息可以由预订单转入入住单历史入住单在收银结帐后清除,并导入入住单历史账单明细客户消费的明细账单账单明细历史收银结帐后,账单明细导入历史系统数据表及其用途表创建完成各个表格后,还要创建主键及外键等表约束,尤其关键的是创建存储过程,这个系统使用了“sf_保存入住单”,“sf_计算应收账款”,“sf_收银退房”三个存储过程,操作实现的功能分别为保存入住单时修改房态,收银结帐时计算应收账款总额和收银结帐。具体计算方法在下面的脚本中有详细的注释:1. sf_保存入住单create proc sf_保存入住单
10、 入住单号 varchar(36)asbegin tran - 修改客房信息 update 客房信息 set 状态=住房 from 客房信息 as a, 入住单 as b where a.客房编号=b.客房编号 and b.入住单号=入住单号 - 修改预定单状态 update 预定单 set 单据状态=入住 from 预定单 as a, 入住单 as b where a.预定单号=b.预定单号 and b.入住单号=入住单号 - 将已入住的预定单放入历史 insert into 预定单历史 select * from 预定单 where 单据状态 = 入住 - 清除已入住预定单 delete
11、from 预定单 where 单据状态 = 入住commitGO2. sf_计算应收账款create proc sf_计算应收帐款 入住单号 varchar(36)asbegin tran declare total money declare datecount int - 设置离电时间 update 入住单 set 离店时间 = getdate() where 入住单号 = 入住单号 - 住店天数 select datecount = datediff(dd,抵店时间,getdate() from 入住单 where 入住单号 = 入住单号 - 住店金额 select total = 0
12、select total = datecount*(isnull(入住价格,0)+isnull(加床价格,0) from 入住单 where 入住单号 = 入住单号 - 消费金额 select total = total + isnull(b.消费金额,0) from (select sum(消费金额) as 消费金额 from 帐单明细 where 入住单号 = 入住单号) as b - 设置应收帐款和结算金额 update 入住单 set 应收帐款 = total, 结帐金额 = total - isnull(预收款,0) where 入住单号 = 入住单号commitGO3. sf_收银
13、退房create proc sf_收银退房 入住单号 varchar(36), 付款方式 varchar(20)asbegin tran update 入住单 set 离店时间 = getdate(), 单据状态 = 离店, 付款方式 = 付款方式, 是否结帐=1, 结帐日期 = getdate() where 入住单号 = 入住单号 - 设置房态 update 客房信息 set 状态=空房 from 客房信息 as a, 入住单 as b where a.客房编号=b.客房编号 and b.入住单号=入住单号 - 倒入历史 insert into 入住单历史 select * from 入住
14、单 where 入住单号 = 入住单号 insert into 帐单明细历史 select * from 帐单明细 where 入住单号 = 入住单号 delete from 帐单明细 where 入住单号 = 入住单号 - 清除入住单 delete from 入住单 where 入住单号 = 入住单号commitGO本系统采用多文档窗体程序,每一功能对应一个子窗体,选择主菜单中的各菜单命令可以进入相应的功能。(四)编程模型及数据结构1.酒店管理系统E-R图类型名称价格拼房价格可超预订数是否可拼房客房类型类型编号入住单入住单号会员编号客房类型抵店时间离店时间单据状态入住人数客房编号客房价格折扣
15、折扣原因是否加床预收款预订人预订公司联系电话备注操作员业务员早餐叫醒保密vip电话等级特要说明应收账款是否结帐结帐金额结帐日期付款方式预订单预订单号会员编号客房类型抵店时间离店时间单据状态入住人数客房编号客房价格入住价格折扣折扣原因是否加床预收款预订人预订公司联系电话备注操作员业务员楼层信息楼层名称楼层编号客房信息类型编号楼层编号额定人数床数客房描述备注状态是否可拼房客房编号账单明细账单编号入住单号消费内容消费金额消费时间备注图3 酒店管理系统E-R图2.数据库结构列名数据类型长度允许空用户编号Char6部门Char20姓名Char10密码char10表1 用户信息表列名数据类型长度允许空联系
16、电话varchar40备注varchar510操作员varchar10业务员varhar50早餐Bit1叫醒Bit1保密Bit1VipBit1电话等级Varchar20特要说明Varchar50应收账款Money8是否结帐Bit1结帐金额Money8结帐日期smalldatetime4付款方式varchar20表2 入住单表列名数据类型长度允许空入住单号varchar40预订单号varchar510会员编号Int10客房类型varchar50抵店时间smalltime1离店时间smalltime1单据状态varchar1入住人数int1客房编号varchar20客房价格Money50入住价格M
17、oney8折扣Decimal1折扣原因Varchar8是否加床Money4预收款Money20预定人varchar预定公司varchar联系电话varchar备注varchar操作员varchar业务员varchar早餐Bit叫醒Bit保密BitVipBit电话等级Varchar特要说明Varchar应收账款Money是否结帐Bit结帐金额Money结帐日期Smalldatetime付款方式Varchar表3 入住单历史表列名数据类型长度允许空客房编号varchar12类型编号varchar4楼层编号Int4额定人数Int4床数Int4客房描述Varchar40备注Varchar100状态Va
18、rchar4是否可拼房bit1表4 客房信息表列名数据类型长度允许空类型编号varchar4类型名称varchar40价格Money8拼房价格Money8可超预订数Decimal5是否可拼房Bit1表5 客房类型表列名数据类型长度允许空账单编号Int4入住单号Varchar36消费内容Varchar40消费金额Money8消费时间Smalldatetime4备注varchar80表6 账单明细表列名数据类型长度允许空账单编号Int4入住单号Varchar36消费内容Varchar40消费金额Money8消费时间Smalldatetime4备注varchar80表7 账单明细历史表列名数据类型长
19、度允许空楼层编号Int40楼层名称Varchar60表8 楼层信息表列名数据类型长度允许空预订单号varchar36会员编号Int4客房类型varchar4抵店时间smalltime4离店时间smalltime4单据状态varchar20入住人数int4客房编号varchar12客房价格Money8入住价格Money8折扣Decimal5折扣原因Varchar60是否加床Bit1加床价格Money8预收款Money8预定人varchar20预定公司varchar60联系电话varchar40备注varchar510操作员varchar10业务员varchar50表9 预订单表列名数据类型长度允
20、许空预订单号varchar36会员编号Int4客房类型varchar4抵店时间smalltime4离店时间smalltime4单据状态varchar20入住人数int4客房编号varchar12客房价格Money8入住价格Money8折扣Decimal5折扣原因Varchar60是否加床Bit1加床价格Money8预收款Money8预定人varchar20预定公司varchar60联系电话varchar40备注varchar510操作员varchar10业务员varchar50表10 预订单历史表五、系统实现技术程序设计首先要创建一个登入窗体,再进行创建系统主窗体,系统主窗体包括“基础设置”、
21、“业务管理”、“房态管理”三大模块。基础设置包括:客房类型设置和客房信息设置;业务管理包括:预订管理、入住管理、消费记账和收银退房。然后创建各个模块的控件。(一)创建登入窗体本系统采用多文档窗体程序,每一功能对应一个子窗体,利用Visual Basic.NET实现登入系统的功能。如图5,在用户输入“用户号”和“密码” 后对用户的输入进行验证,并记录登录用户的姓名和用户号,供系统使用(权限管理、制单人指定等)。图4 登入窗口登入窗体将其Name属性设置为“frmlogin”,主要代码:在“确定”的Click事件中添加如下代码Private Sub btnSubmit_Click(ByVal se
22、nder As System.Object, ByVal e As System.EventArgs) Handles btnSubmit.Click 判断用户输入密码的合法性 If Me.UserPwd.Trim() = Me.txbPwd.Text.Trim() _ And UserPwd Then 合法用户 bResult = True UserName = Me.txbName.Text.Trim() Me.Close() Else 密码错误 bResult = False MessageBox.Show(请确认你的用户名或密码是否正确) End If End Sub(二)创建数据访问
23、模块因为各个窗体均需要对数据库进行访问,可以把对数据库的一些操作通过一个类来实现,这样可以使数据库的访问更加简单。添加一个名为“DadaBase.vb”的类文件,主要代码: Private SqlConn As SqlConnection Public Shared sConn As String = Persist Security Info=False;Integrated Security=SSPI;database=hotelbook;server=localhost;Connect Timeout=30 Public Sub Dispose() Implements System.I
24、Disposable.Dispose Dispose(True) GC.SuppressFinalize(True) End Sub Protected Sub Dispose(ByVal disposing As Boolean) If disposing True Then Return End If If SqlConn Is Nothing = False Then SqlConn.Dispose() SqlConn = Nothing End If End Sub Public Sub Open() If SqlConn Is Nothing = True Then 建立数据库连接对象 SqlConn = New SqlConnection(Me.sConn) 打开数据库连接 SqlConn.Open() End If End Sub Public Sub Close() 如果数据库连接对象不为空则关闭数据库连接 If SqlConn Is Nothing = False Then SqlConn.Close() End If End Sub Public Function RunSelectSQL(By
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1