1、客房管理系统毕业设计范例客房管理系统学 院专 业班 级学 号姓 名指导教师教师职称年月日摘要【摘要】随着改革开放步伐的加快,我国服务业取得了巨大的发展。而宾馆是我国的改革开放过程中起步最早的、开拓发展最快、收效最为明显、市场化程度高的服务行业之一。而随着信息科技的发展,传统的管理模式逐渐被信息化及数字化的管理模式所取代,如何得用先进的管理手段,提 高宾馆的管理水平,已成为宾馆行业的当务之急。面对信息时代的机遇和挑战,得用科技手段提高企业管理无疑是一条行之有效的途径。客房管理系统的开发充分利用了信息技术提高了宾馆客房的管理水平、服务水平。系统实现了客房预定、住宿登记、宿费提醒、追加押金、调房登记
2、、退房结帐、挂帐、查询统计等功能。其中宿费提醒可以在住宿费超过押金时预警,提示前台要客人补交押金,该功能可明显提高对住宿人员住宿的有效管理。将动态实时的住宿登记、客房调整、销售报表、追加押金等有机地联系在一起,对宾馆客房进行全方位的管理。【关键词】客房管理系统0 引言随着我国经济的迅速发展,人们的生活水平有了明显的提高,假日经济和旅游经济已经成为人们的消费热点。各地也把旅游也当作本地经济发展的重要支柱之一,从而促进了宾馆酒店业的发展。同时,随着宾馆酒店越来越多,人们的要求越来越高,宾馆酒店的竞争也越来越激烈。如何在激烈的竞争中生存发展,是每个宾馆酒店必须面临的问题。对宾馆经营状况起决定作用的是
3、宾馆的服务管理水平。如何利用先进的管理手段,提高宾馆的管理水平,已成为宾馆酒店也发展的当务之急。客房管理系统的开发可以帮助系统管理员完成日常的客人入住及客人的退房信息的管理及查询等工作,大大提高了的工作效率。虽然计算机管理并不是宾馆管理走向成功的关键元素,但它可以最大限度地发挥准确、快捷、高效等作用,对宾馆的服务管理提供有力的支持。1 需求分析根据该宾馆的具体情况,系统主要的功能包括:前台管理:“客房预定”、“住宿登记”、“调房登记”、“追加押金”、“退房结帐”。客房管理:“客房查询”、“房态查看”。查询统计:“预定房查询”、“住宿查询”、“退宿查询”、“宿费提醒”。挂帐管理:“挂帐管理”、“
4、客人结帐”。基础信息设置:“客房信息”、“客房类型信息”、“员工信息”、“挂帐单位信息”。系统初始化:“本单位定义”、“业务部门定义”、“操作员管理”、“权限设置”。系统维护:“系统初始化”、“数据备份”、“数据恢复”。2 总体设计2.1 项目规划客房管理系统主要是针对中小型的宾馆、酒店开发的客房管理系统,系统由前台管理、客房管理、查询统计、挂帐管理、基础信息设置、系统初始化、系统维护和帮助等几个功能模块组成,规划系统功能模块如下:前台管理前台管理:客房预定、住宿登记、调房登记、追加押金、退宿结帐和退出。客房管理客房管理:客房查询和房态查看。查询统计查询统计:预定房查询、住宿查询、退宿查询、宿
5、费提醒。挂帐管理挂帐管理:挂帐查询和客人结帐。基础信息设置基础信息设置:客房信息、客房类型信息、员工信息和帐挂单位信息。系统初始化系统初始化:本单位定义、业务部分定义、操作员管理和权限设置。系统维护系统维护:系统初始化、数据备份和数据恢复。帮助帮助:帮助和关于本软件2部分。2.2 系统功能结构本系统共分7大部分、24个完整的功能模块。系统结构图如图1所示。图1 客房管理系统结构图2.3 设计目标本系统主要是针对中小型的宾馆、酒店开发的的客房管理系统,主要实现可以下目标:界面设计美观友好。操作员可以随时修改自己的口令,并且不同的操作员设置不同的操作权限,以增强系统的安全性。数据保密性强,为每个用
6、户设置相应的权限级别。信息查询灵活、方便、快捷,数据存储安全可靠。能够实现数据备份和数据恢复,保证数据安全。系统运行稳定,安全可靠。3 系统设计3.1 开发及运行环境系统开发平台:Microsoft Visual FoxPro 6.0。运行平台:Windows XP/ Windows 2000/ Windows 2003。分辨率:最佳效果1024768像素2 数据库设计。1数据库概要说明数据库在一个管理系统中占居非常重要的地位,数据库结构设计的好坏将直接影响系统的效率和实现的效果。本系统采用的是Visual FoxPro自带的数据库,数据库文件名为Roommanage。2主要数据表的结构数据库
7、中的数据表请参见附录B。4 主要功能模块设计4.1 程序主界面的设计程序启动后,在系统登录界面验证操作员密码后,将进入主程序界面。通过主程序界面可以执行相应权限的操作,并且通过选择主界面的菜单,来调用相应程序并进行相应操作。主程序界面如图2所示。图2 程序主界面1表单设计(1)创建一个标准项目,名称为客房管理系统,在该项目中添加一个新表单,名称为Fdesktop。(2)在表单中插入名称为Vcxmain的ToolBar类,在类中添加Command控件、Image控件。2代码设计在“客房预定”按钮的Click事件中添加以下代码:do form kfglformkfyd在“住宿登记”按钮的Click
8、事件中添加以下代码:do form kfglformzsdj在“退宿结帐”按钮的Click事件中添加以下代码:do form kfglformtsjz在“住宿查询”按钮的Click事件中添加以下代码:do form kfglformzsquery在“客房查询”按钮的Click事件中添加以下代码:do form kfglformkfquery在“房态查看”按钮的Click事件中添加以下代码:do form kfglformfangtaiquery在“宿费提醒”按钮的Click事件中添加以下代码:do form kfglformsftx在“客房信息”按钮的Click事件中添加以下代码:do for
9、m kfglformkfmanage根据用户的使用权限,设置按钮是否有效。在vcxmain1类的Init事件中添加以下代码:if purview4 or pqtgl=.f. this.parent.vcxmain1.kfyd.enabled=.f. this.parent.vcxmain1.zsdj.enabled=.f. this.parent.vcxmain1.tsjz.enabled=.f.else this.parent.vcxmain1.kfyd.enabled=.t. this.parent.vcxmain1.zsdj.enabled=.t. this.parent.vcxmain
10、1.tsjz.enabled=.t.endifif purview4 OR pcxtj=.f. this.parent.vcxmain1.zscx.enabled=.f. this.parent.vcxmain1.sftx.enabled=.f.else this.parent.vcxmain1.zscx.enabled=.t. this.parent.vcxmain1.sftx.enabled=.t.endifif purview4 OR pkfgl=.f. this.parent.vcxmain1.kfcx.enabled=.f. this.parent.vcxmain1.ftck.ena
11、bled=.f. else this.parent.vcxmain1.kfcx.enabled=.t. this.parent.vcxmain1.ftck.enabled=.t.endifif purview4 OR pjcinfo=.f. this.parent.vcxmain1.kfinfo.enabled=.f.else this.parent.vcxmain1.kfinfo.enabled=.t.endif在 vcxmain1类的“退出”按钮的Click事件中添加以下代码:quit4.2 系统登录界面设计用户进入系统前,必须通过系统登录进入主程序界面,系统登录界面主要用于确认用户的身份
12、及使用权限,并且可对系统信息起到保密作用。系统登录界面如图3所示。图3 系统登录界面运行结果1表单设计(1)在客房管理系统项目中,添加一个新表单,名称为Admin。(2)在表单中添加Combo控件、Text控件、Label控件、Command控件、Image控件。(3)重要控件属性如表1所示。表1 重要控件的重要属性及值控件名属性值Combo1RowSourceRowSourceTypetabpurview.操作员姓名6-字段Text1PasswordChar*2代码设计定义全局变量cn,manager,cn存放输入操作员或密码的次数,当cn大于3时,将自动退出系统。manager存放操作员姓
13、名,在系统中应用到操作员姓名时,系统自动添加。在表单的Init事件中添加以下代码:public cn ,manager &定义全局变量cn=0 &给全局变量赋初值在表单的Resize事件中添加根据用户选择操作员所拥有的权限级别为全局变量赋值的代码。purview=val(alltrim(tabpurview.权限级别)pqtgl=tabpurview.前台管理pkfgl=tabpurview.客房管理pcxtj=tabpurview.查询统计pgzgl=tabpurview.挂帐管理pjcinfo=tabpurview.基础信息设置psyscsh=tabpurview.系统初始化psyswh=
14、tabpurview.系统维护在“确定”按钮的Click事件中添加以下代码实现判断操作员和密码是否正确的功能。如果操作员或密码不正确,将提示重新输入,三次后仍不正确,系统将自动退出。public manager &定义全局变量manager=alltrim(bo1.value)use kfgldatabasetabpurview &打开数据表cname=alltrim(thisform.Combo1.value)ppassword=alltrim(thisform.text1.value)set order to 操作员姓名 &指定操作员姓名为控制索引if empty(操作员姓名) thisf
15、orm.resize &执行表单的Resize事件 manager=alltrim(bo1.displayvalue) store .t.to pqtgl,pkfgl,pcxtj,pgzgl,pjcinfo,psyscsh,psyswh do form formfdesktop &调入表单 thisform.releaseelse seek cname &快速查询 set exact on &设置字符精确比较 if alltrim(tabpurview.操作员姓名)!=cname cn=cn+1 cMessagetitle=系统登录cMessagetext=操作员错误,请重新输入! nDial
16、ogtype=4+32nanswer=messagebox(cmessagetext,ndialogtype,cmessagetitle)do case case nanswer=6 &选择“是”时的操作 bo1.value= bo1.setfocus case nanswer=7 &选择“否”时的操作messagebox(不要乱来!,48, 系统登录)thisform.release &释放表单endcaseif cn=3thisform.releaseendifelseif alltrim(tabpurview.密码)!=ppasswordcn=cn+1cmessagetitle=系统登录
17、cmessagetext=密码错误,请重新输入!ndialogtype=4+32nanswer=messagebox(cmessagetext,ndialogtype,cmessagetitle)do case case nanswer=6 &当用户单击“是”按钮 thisform.text1.value= thisform.text1.setfocus case nanswer=7 messagebox(不要乱来!,48, 系统登录) thisform.release endcase if cn=3 thisform.release endif else thisform.resize &执
18、行表单的Resize事件 manager=alltrim(bo1.displayvalue) do form formfdesktop thisform.release endif endif endifset exact off &设置字符非精确比较在“取消”按钮的Click事件中添加以下代码:cmessagetitle=系统登录cmessagetext=真的想要退出吗?nDialogtype=4+32nanswer=messagebox(cMessagetext,nDialogtype,cMessagetitle)if nanswer=6 thisform.release &释放表单end
19、if4.3 客房信息设计用户进入系统后,单击主菜单基础信息设置下的客房信息子菜单选项,进入客房信息界面时可以通过查询条件查询客房基本信息,并以文本框和列表两种方式显示客房信息。客房信息表单运行结果如图4所示。图4 客房管理表单运行结果1表单设计(1)在客房管理系统项目中,添加一个新表单,名称为Kfmanage。(2)在表单中添加Label控件、Combo控件、Text控件、Edit控件、Command控件、Commandgroup控件、PageFrame控件和Grid控件。(3)重要控件属性如表2所示。表2 重要控件的重要属性及值控件名属性值Combo1DisplayValueRowSourc
20、eRowSourceType房间号房间号,房间类型,房态1-值Combo2RowSourceRowSourceTypeStyleAll,like,=,1-值2-下拉列表框2代码设计在表单的Load事件中添加以下代码:public cx,l &定义全局变量cx=0l=.f.在表单的Resize事件中添加以下代码:thisform.pageframe1.page1.text1.value=tabkfinfo.房间号 &赋值给Text1等bo1.value=tabkfinfo.房间类型thisform.pageframe1.page1.text3.value=tabkfinfo.价格bo2.valu
21、e=tabkfinfo.房态thisform.pageframe1.page1.text5.value=tabkfinfo.营业时间thisform.pageframe1.page1.text6.value=tabkfinfo.备注thisform.pageframe1.page1.text7.value=tabkfinfo.使用设置thisform.pageframe1.page1.edit1.value=tabkfinfo.配置L是全局变量,当L为.T.或.F.时,这个值会集体赋给相关控件的Enabled属性。这种写法其实将Init事件当成一个设相关控件是否有效的函数。在表单的Init事件
22、中添加以下代码:store l to bo1.enabled=l bo2.enabled=lthisform.pageframe1.page1.text5.enabled=lthisform.pageframe1.page1.text6.enabled=lthisform.pageframe1.page1.text7.enabled=lthisform.pageframe1.page1.edit1.enabled=l在combo2控件的InteractiveChange事件中添加以下代码:if alltrim(bo2.value)=All thisform.text1.value= thisf
23、orm.text1.enabled=.f.else thisform.text1.enabled=.t.endif在“查询”按钮的Click事件中添加可以根据用户选择的条件查找记录的代码。cx=0cif=alltrim(bo1.displayvalue)ccif=alltrim(bo2.displayvalue)ctext=alltrim(thisform.text1.value)if empty(ccif) messagebox(请输入查询条件!,48,操作失败!) bo2.setfocus &Combo2获得焦点else if empty(ctext) if ccif!=All messa
24、gebox(请输入查询条件!,48,操作失败!) thisform.text1.setfocus else select *; &选择所有字段 from roommanage!tabkfinfo; &指定查询的数据库文件 order by tabkfinfo.房间号; &查询结果升序排序 into cursor lindeping thisform.pageframe1.page2.grid1.recordsource=lindeping &赋数据源 lkfnumber=lindeping.房间号 select tabkfinfo set order to 房间号 &指定控制索引文件 seek
25、 lkfnumber &快速查询 thisform.resize &执行表单的Resize事件 thisform.pageframe1.page1.text1.enabled=.f. thisform.pageframe1.page1.text3.enabled=.f. l=.f. thisform.init &执行表单的Init事件 mandgroup2.enabled=.t. endif else if bo2.displayvalue=like MySQL=cif+ +ccif+ +%+ctext+% else MySQL=cif+ +ccif+ +alltrim(thisform.te
26、xt1.value)+ endif select * from roommanage!tabkfinfo where &MySQL.into cursor lindeping go top if eof() go bottom messagebox(客房不存在,48,信息窗口) mandgroup2.enabled=.f. mandgroup1.cmodify.enabled=.f. mandgroup1.cdel.enabled=.f. cx=1 else lkfnumber=lindeping.房间号 select tabkfinfo set order to 房间号 seek lkfnu
27、mber thisform.resize &执行表单的Resize事件 thisform.pageframe1.page1.text1.enabled=.f. thisform.pageframe1.page1.text3.enabled=.f. l=.f. thisform.init &执行表单的Init事件 mandgroup2.enabled=.t. endif thisform.pageframe1.page2.grid1.recordsource=lindeping endifendifmand1.setfocusthisform.refresh在页框控件的Init事件中添加以下代码
28、:thisform.pageframe1.page1.text1.enabled=.f.thisform.pageframe1.page1.text3.enabled=.f.l=.f.thisform.init &执行表单的Init事件thisform.resize &执行表单的Resize事件 在“客房基本信息”选项卡的Activate事件中添加以下代码:mandgroup1.csave.enabled=.f.mandgroup1.ccancel.enabled=.f.mandgroup1.cadd.enabled=.t.mandgroup1.cexit.enabled=.t.mandgroup1.cmodify.enabled=.t.mandgroup1.cdel.enabled=.t.mandgroup2.enabled=.t.在“客房基本信息列表”选项卡的Activate事件中添加以下代码:mandgroup1.csave.enabled=.f.mandgroup1.ccancel.enabled=.f.mandgroup1.cadd.enabled=.f.thi
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1