1、 运城学院 计算机科学与技术系 网站规划与建设综合实验 课程设计报告 设计题目:宾馆管理信息系统 专 业:计算机科学与技术系(网络工程方向) 班 级:1002 班 指导教师:杜经纬 组长姓名: 2013 年 6 月 计算机科学与技术系 宾馆管理信息系统的设计与实现 摘 要:随着计算机科学技术的发展,人们已进入了互联网的时代,由于目 前计算机文化基础以全部提升到 Windows平台,因此作为其后继课程的程序设 计语言,自然也应在这一平台上深入下去。本次设计之所以采用 Visual Studio2010 ,就是因为其具有程序设计语言简单易学、易用的特点,又在编程 系统中引入了面向对象的机制,用一种
2、巧妙的方法把 Windows编程的复杂性封 装起来,提供了一种可视界面的设计方法,使用窗体和控件设计应用程序界面, 从而极大的提高了用户开发应用程序的效率。现代社会中,各行各业都通过应 用计算机实现自动化,提高工作效率,把劳动者从繁杂的脑力劳动和体力劳动中 解放出来。近 20年间,管理信息系统(MIS)的应用得到了迅速的发展,尤其 是今年来 Internet/Intranet技术的飞速发展,为企业建立 MIS系统提供了良 好的支持环境。通过本次设计,开发软件应如何下手,按照怎样的顺序来完成软 件,从这种基本思想出发,提出了软件开发中一些问题的复杂性和软件工程学的 概念。 关键词:宾馆管理 数据
3、库 Visual Studio2010 目 录 第一章 系统概述 .1 1.1 课题的背景、目的与意义 1 第二章 系统分析 .2 2.1 技术分析 2 2.2 功能分析 2 第三章 总体设计与详细设计 .3 3.1系统总体设计 3 3.2 数据库设计 4 第四章 系统测试 10 4.1测试分类 .10 4.2测试结果 .12 第五章 设计总结 13 参考文献 .14 致 谢 15 第一章 系统概述 1.1 课题的背景、目的与意义 近年来,宾馆业迅猛发展,市场的竞争日趋激烈,全面提高宾馆的软件管 理水准,已成为宾馆业发展的当务之急。尤其是对于星级宾馆,既需要完成前 台的一些服务工作,还需要完成
4、后台的管理工作。然而,传统的人工管理模式 已经远远不能满足有效、快捷地处理经营中产生的大量信息数据的需要,从而 使得企业决策层无法及时、准确地掌握一线资料,继而影响对市场进行正确地 分析和预测。像沿海城市三星级以上宾馆引进外方管理,使小部分宾馆管理水 准几乎接近或达到国际水平。但对占 80%以上的广大中小型宾馆来说,是难以 做到的。因此,欲在竞争中甩开对手,取得优势,必须在经营、管理、产品、 服务等方面具备独到之处。而对宾馆的经营状况起决定作用的是客房的管理。 简单的服务标准已不是制胜的锦囊,只有管理做到最细微之处,才能让顾客体 会到宾馆服务的高标准、高质量,而准确、快速、周全往往就是最基本的
5、成功 要素。 传统的管理方法已经不能适应现代社会的需要,因此采用电脑管理业务、 财务等诸多环节已成为推动宾馆业迅速发展的先决条件,宾馆客房管理信息系 统是各大中小型宾馆所需要使用的一个管理系统。 第二章 系 统 分 析 2.1 技术分析 该软件适用于 Win7/2000/NT/XP等系统,并且功能齐全、操作方便、效果 甚佳。开发工具可选用 Visual Studio 2010,它作为一种面向对象的可视化开 发工具,不仅开发速度快,效率高,成本低,界面友好,数据和图形功能强大, 而且易于掌握和使用。另外,在数据库功能方面新增了功能强大、使用方便的 ADO(Active Database Obje
6、ct)技术,可以方便地和多种数据库相连,并支 持 CS,BS 多层结构模式,易于将本系统向其他数据库环境的移植和扩展。 数据库可选用 Microsoft SQL 2005,其性能比较高,而且数据库安全管理形式 灵活方便,更为突出的是它与 Windows操作系统的集成和协调性是其他数据库 产品不能比拟的 2.2 功能分析 一个宾馆管理信息系统,首先宾馆管理系统的基本需求归纳如下: (1)客房类型管理应该提供有关客房类型情况的规范,如标准间和双人间 的各自设置。 (2)客房信息管理用来管理各个客房的信息和状况,包括房间位置、价格 、额定人数和实际人数等。 (3)客房查询是在客户入住之前根据客户的要
7、求提供给客户的客房的情况 。 (4)客户查询主要是根据客户的号码来显示客户的住宿记录,以便用户管 理和计算。 (5)客户入住就是登记客户入住信息。 (6)客户结算是客户付清住宿费用并注销房间。 (7)系统帮助是用来提示工作人员怎么使用该宾馆管理系统的模块 (8)登录设计要求工作人员正确输入 ID 和密码且查询相对应之后才能登陆 系统,同时设置不同的登录身份便于对系统的管理和保密工作。 第三章 总体设计与详细设计 3.1系统总体设计 1.系统结构图: 本宾馆客房管理系统适用于各类中小型宾馆的客房资源和客户信息的管理, 实现了宾馆客房的信息化管理,该系统主要包括基础信息设置、客房前台管理、 查询统
8、计管理、挂账管理、系统初始设计、系统维护等功能。 2.系统设计草图: 3.2 数据库设计 1.数据库技术 它是在既定(本系统使用 SQL Server)的数据库管理系统基础之上建立 数据库的过程。其过程是将现实存在的数据及其应用处理关系进行抽象,从而 形成数据库结构。具体实现时,首先明确用户对数据的需求,在此基础上,建 立数据库的概念模型,概念模型主要是用来反映用户的现实环境和需求,它独 立于具体的数据库管理系统,并且与数据库怎样实现无关。在建立数据库概念 模型之后,要真正实现与数据库管理系统的结合,即能够由既定的数据库管理 系统所支持,还必须进行逻辑结构的设计,在逻辑结构设计阶段,主要完成建
9、 立数据库的逻辑模型,并解决数据的完整性、一致性、安全性和有效性等问题; 最后一个阶段是数据库的物理结构设计,其任务是为系统逻辑结构模型确定合 理的存储结构、存取方法、以及数据表示和数据存储空间分配等内容,从而得 到具体的数据库物理结构。 10 2.数据库表的设计: 字段名称 说明 类型 长度 说明 czy 操作员 char 10 czybh 操作员编号 char 10 czyjb 操作员级别 char 10 pwd 密码 char 10 表 3.1 操作员表 czy_tab 字段名称 说明 类型 长度 说明 dwmc 单位名称 char 50 dz 地址 char 50 yzbm 邮政编码
10、char 6 dh 电话 char 20 cz 传真 char 20 wz 网址 char 40 dzyj 电子邮件 char 40 cwzg 财务主管 char 20 表 3.2 本单位定义表 bdwdy_tab 字段名称 说明 类型 长度 说明 fjh 房间号 char 10 非空 fjlx 房间类型 char 16 ft 房态 char 10 jg 价格 char 10 yyrq 营业日期 char 10 sysz 使用设置 char 40 pz 配置 char 40 bz 备注 text 表 3.3 客房信息类型表 kfxxlx_lab 字段名称 说明 类型 长度 说明 bmbh 部门
11、编号 char 10 bmmc 部门名称 char 50 bmfzr 部门负责人 char 20 bmdh 部门电话 char 20 表 3.4 业务部门定义表 ywbmdy_tab 字段名称 说明 类型 长度 说明 ygbh 单位编号 char 10 非空 yglb 单位全称 char 10 ygxm 简称 char 20 ygxb 电话 char 10 ygzw 地址 char 20 pyrq 邮政编码 char 10 xj 传真 char 10 bz 联系人 text 表 3.5 员工信息表 ygxx_tab 字段名称 说明 类型 长度 说明 dwbh 单位编号 char 10 非空 d
12、wqc 单位全称 char 40 jc 简称 char 20 dh 电话 char 20 dz 地址 char 50 yzbm 邮政编码 char 6 cz 传真 char 20 lxr 联系人 char 20 lxrdh 联系人电话 char 20 表 3.6 工作单位信息表 gzdwxx_tab 字段名称 说明 类型 长度 说明 xm 姓名 char 10 zj 证件 char 10 zjh 证件号 char 25 lxdh 联系电话 char 20 xxdz 详细地址 char 50 gzdw 工作单位 char 50 kflx 客房类型 char 10 kfjg 客房价格 char 3
13、0 yzrq 预住日期 char 10 yzts 预住天数 char 10 yfje 预住金额 char 30 czy 操作员 char 10 表 3.7 客房预订表 kfyd_tab 字段名称 说明 类型 长度 说明 zxno 住宿编号 char 10 xm 姓名 char 10 zj 证件 char 10 zjh 证件号 char 20 dwordz 单位或地址 char 40 zxsy 住宿事由 char 40 fjhm 房间号码 char 10 kfbz 客房标准 char 10 kfjg 客房价格 char 10 zxrq 住宿日期 char 10 zxsj 住宿时间 char 10
14、 zxts 住宿天数 char 10 zqxf 折前宿费 char 10 dzfs 打折方式 char 10 dzds 打折多少 char 10 sjxf 实际宿费 char 10 txrq 退宿日期 char 10 txsj 退宿时间 char 10 ysyj 预收押金 char 10 bz 备注 text czy 操作员 char 10 tixrq 提醒日期 char 10 tixsj 提醒时间 char 10 表 3.8 住宿登记表 zxdj_tab 字段名称 说明 类型 长度 说明 gzdw 工作单位 char 6 jkfs 结款方式 char 20 hkje 还款金额 char 4
15、jkr 结款人 char 8 czy 操作员 char 6 表 3.9 挂账结算表 krjk_tab 字段名称 说明 类型 长度 说明 txno 退宿编号 char 10 pzhm 凭证号码 char 10 txrq 退房日期 char 10 txsj 退房时间 char 10 xm 姓名 char 10 zj 证件 char 10 zjh 证件号 char 20 xxdz 详细地址 char 40 fjh 房间号 char 10 kflx 客房类型 char 10 kfjg 客房价格 char 10 szts 实住天数 char 10 xf 宿费 char 10 dzfs 打折方式 char
16、 10 dzds 打折多少 char 10 fjfs 附加方式 char 10 fjds 附加多少 char 10 ssje 实收金额 char 10 yj 押金 char 10 thje 退还金额 char 10 bz 备注 text dhf 电话费 char 10 zf 杂费 char 10 hyf 会议费 char 10 tcf 停车费 char 10 pcf 赔偿费 char 10 zxrq 住宿日期 char 10 zxsj 住宿时间 char 10 表 3.10 退宿结账表 txjz_tab 3.3系统功能描述: (一)基础信息设置 1、设置客房信息:对客房的基本信息进行增加、修改
17、、删除。 2、设置员工信息:对员工的基本信息进行增加、修改、删除。 3、设置挂账单位:对挂账单位的基本信息进行增加、修改、删除。 (二)客房前台管理 1、客房预订:可以通过此窗口实现客房预订。 2、住宿登记:客人入住宾馆登记信息,退宿一天前进行提醒。 3、宿费提醒:查询某日期的提醒信息或全部提醒信息。 4、退宿结帐:可以选择挂账、打折等多种方式,并可以在此增加其他消 费项目的费用。自动提取系统时间以及当前操作员。 (三)查询统计管理 1、客房查询:通过房间号查询客房基本信息。 2、房态查询:(未实现) 3、预订房查询:通过客户姓名查询预订信息。 4、住宿查询:通过客户姓名查询住宿信息。 5、退
18、宿查询:通过客户姓名查询退宿信息。 (四)挂账管理 1、挂账查询:通过挂账单位或地址以及时间段查询挂账信息。 2、挂账结款:登记挂账单位对挂账的还款。 (五)系统初始设计 1、本单位定义:设置本单位的基本信息。 2、业务部门定义:设置各业务部门的相关信息。 (六)系统维护 1、系统初始化:清空目前的系统数据,将系统恢复为初始状态。 2、操作员管理:高级管理员登录后可进行操作员的添加、删除以及信息 更改。 3、权限设置:可以设定操作员的管理权限以及具体的可操作功能。 第四章 系统测试 4.1测试分类 (1)功能测试 本系统是专为宾馆客房管理开发的软件。在此对系统各部分功能,以及可 靠性等方面进行
19、测试。针对本系统,主要有以下的功能测试: 1、登陆测试:通过登陆信息的填写,用户是否可以正确快速地登陆到主界 面进行相关操作。作为系统的唯一入口,是否能做好安全工作。测试用例表如 下: 测试性 能 界面登录 用例目 的 测试系统的登录功能 前提条 件 必须有正确的登录信息 输入/动作 期望的输出/相应 实际情况 示例 1:1、进入 用户登录界面; 2、在选择菜单里 选择“郭皓” ,密 码:guohao; 3、 回车或者点击确定。 示例 2:同示例 1,输入错误密码 “1234”。 示例 1:通过身份验证, 进入客房管理系统主界 面; 示例 2:出现提示信息 “密码有误!” 。 实现系统登录功能
20、。 界面登录测试用例表 2、信息添加:测试系统对基本表数据的添加是否正确,数据库能否立即更 新。测试用例表如下: 测试性 能 信息添加 用例目 的 测试添加客房基本信息的功能 前提条 件 必须登录进入系统并拥有相应权限 输入/动作 期望的输出/相应 实际情况 示例:1、进入设 置客房信息窗口, 点击“添加”按钮 实施添加功能; 2、输入相应的基 本数据;3、点击 “保存”按钮。 示例:数据在数据库中 添加成功,并在相应应 用中正常显示使用。 与期望的输出情况一致。 信息添加测试用例表 3、信息修改:测试系统能否正确实现对已添加数据的修改功能。测试用 例表如下: 测试性 能 信息修改 用例目 的
21、 测试修改员工信息的功能 前提条 件 必须登录进入系统并拥有相应权限 输入/动作 期望的输出/相应 实际情况 示例:1、进入员 工信息管理界面; 2、点击左下角的 按钮,确定要修改 的资料位置;3、 对资料进行更改, 点击“保存”按钮。 示例:新输入的数据取 代旧的数据,资料更改 成功。 与期望的输出情况一致。 信息修改测试用例表 4、信息删除:测试系统能否正确实现对已添加数据的删除功能。测试用例 表如下: 测试性 能 信息删除 用例目 的 测试删除挂账单位相关信息的功能 前提条 件 必须登录进入系统并拥有相应权限 输入/动作 期望的输出/相应 实际情况 示例:1、进入挂 账单位管理界面; 2
22、、点击左下角的 按钮,确定要修改 的资料位置;3、 点击“删除”按钮, 删除对应的数据。 示例:选中挂账单位信 息被删除掉。 与期望的输出情况一致。 信息删除测试用例表 5、信息查询:测试系统能否正确实现对已添加数据的查询功能。测试用例 表如下: 测试性 能 信息查询 用例目 的 测试住宿信息的查询功能 前提条 件 必须登陆进入系统并拥有相应权限 输入/动作 期望的输出/相应 实际情况 示例:1、进入 “查询统计管理” 的“住宿查询” ; 2、选择或输入客 户姓名;3、点击 “查询”按钮。 示例:显示所选择的客 户的住宿信息,如果没 有此用户则不进行显示。 与期望的输出情况一致。 信息查询测试
23、用例表 4.2测试结果 经过测试,对于拥有正确管理员帐号和密码的管理员可以进入宾馆客房管 理系统主菜单进行权限所允许的各项功能操作,并能正确实现已完成的各种功 能。对不拥有正确帐号和密码的用户则拒绝其进入系统,以保护系统的秘密数 据和保证其运行安全,防止恶意破坏。 第 5 章 设计总结 在做毕业设计以前,作者对管理信息系统开发的理解只是停留在理论知识 的水平上,是纸上谈兵,缺乏实际的软件开发经验。这次通过做毕业设计,作 者完成了宾馆客房管理信息系统的软件开发任务。在整个开发过程中遇到 了很多的问题,但最终都一一解决,对其中比较深刻的几点体会总结如下: 第一,让作者发愁的是对宾馆客房的具体业务流
24、程不太熟悉。通过走访各 宾馆和查阅资料,经过反复的修改论证,才完成了系统的分析和设计工作。 第二,面临的困难是不熟悉软件开发工具。作者只好翻阅了有关 PowerDesign的书籍,同时又不断向老师和同学们请教,才逐渐熟练和掌握了 开发工具。 第三,从教条主义到理论联系实际的转变。因为没有写论文的经验,所以 开始总是生搬硬套书本上的理论和概念,结果写出的论文就非常死板,缺乏新 意,不能真正描述出自己软件的开发过程,犯了教条主义的错误。后来经过老 师的多次指点,作者对论文从结构和内容上都进行了大幅度的调整和修改,删 掉了论文中过多的理论和概念,利用理论知识把自己实际的开发过程,用自己 的语言和科学
25、方法准确的表达出来,经过多次修改终于完成了论文的写作。这 使作者真正体会到什么叫理论联系实际。 第四,在软件开发的过程中,开始编写菜单、窗口、表结构时,进展还是 比较顺利,但当有些字段、表关联、数据窗口混淆在一起的时候,作者被搞得 晕头转向。最后不得不重新整理表结构,修改字段名称,到 SQLServer中去修 改数据库,才将系统的结构最终确定下来。对于源代码的编写,也是经过反复 的修改测试,才使系统的设计功能得以正确实现。 这次的毕业设计对作者来说是非常难得的一次锻炼机会。毕业设计使作者 对几年来所学的专业课有了更为深刻的认识,提高了对管理信息系统开发理论, 方法和步骤的认识,使知识得到了融会
26、贯通,得到了比以往学习任何一门课都 大的提高和进步。对于作者来讲这不仅仅是一次毕业设计,不仅仅学会了一门 数据库开发工具,更重要的是在学习的过程中,遇到了很多的困难,在解决这 些困难的过程中提高了作者学习的能力、解决问题的能力和实际工作能力,学 到了许多书本以外的知识。 总之,理论+实践=知识。程序设计过程中,作者以理论为指导,以实践为 主体,将理论与实践紧密结合起来,亲身体会到只有将理论与实践有效的结合 起来,才能使理论指导实践,又反过来丰富理论,二者相得益彰,使学习效率 大大提高。 参考文献 1刘彦保,李军利,郝继升.用 PowerBuilder和 SQL Server开发酒店管理信息 系
27、统J.延安大学学报,2003,Vol.04 2亓协民.龙铁宾馆网络系统分析J.哈尔滨铁道科技,1999,Vol.01 3So-Yeon LEE,Jai-Sang Koh.WWW-Based Reliability Information System J.Computers ind. Engng,1998,Vol.35:599-602 4吴锋.PowerBuilder 在企业 MIS开发中的应用与思考J.计算机工程与应用, 1999,Vol.01 5张鸿,熊文龙.基于 C/S模式的 SQL数据库应用技术J.武汉理工大学学报, 2003,Vol.06 6陈建平.Sybase SQL Server
28、与管理信息系统设计J.长春邮电学院学报, 1996,Vol.02 7叶蓓.SQL Server2000 关系数据库特性分析J.现代电子技术,2003,Vol.23 8刘凯,苗放,王艳.PowerBuilder 与 Sybase在客户/服务器模式下的连接及应 用J.物探化探计算技术,2001,Vol.04 9樊银亭,曾春先.SQL Server数据库系统中的数据完整性研究J.金陵科技 学院学报,2005,Vol.02 10钱学忠.SQL 在数据库应用系统中的运用J.电子器件,2000,Vol.03 11Timo Manterea,Jarmo T. Alanderb.Evolutionary so
29、ftware engineering, a reviewJ.Applied Soft Computing,2005,Vol.05:315- 331 致 谢 在论文完成之际,心情无比激动。一年的研究生学习,我忠心感谢我的老 师杜经纬。感谢在他的带领下,让我渡过了我学习生活最有意义的一段日子, 使我的学习生活变得更充实。 忠心感谢所我的全体同学及实验中老师的大力督促,营造的活跃而又浓厚 的学术氛围深深感染了我。 感谢我的室友在我遇到困难的时候,是他们给予我支持和鼓励以及战胜困 难的勇气和力量,和他们一起度过的一年美好时光,我将永难忘记。 最后,祝每一位老师工作顺利,生活幸福,并致以真诚的敬意。 附
30、录: 1源代码及相应界面图: 系统登录 单击系统启动画面,进入系统登录窗口。用户进入系统前,必须通过密码 验证方可进入主窗口界面。 窗口中主要放置了一个下拉单选框 ddlb_1,一个单行编辑框 sle_1,以及 两个命令按钮 cb_1、cb_2。用户首先在下拉单选框中选择操作员,然后输入密 码。点击“确定”按钮后,系统自动提取对应操作员的登录密码,与保存在局 部变量中的用户所输入密码进行比对。如果密码不正确,则提示“密码有误! ” ;如果密码正确则进入系统主窗口 main_win。登录按钮 cb_1的代码如下: /窗口 login_win的“确定”按钮的 clicked()事件,判断密码的正误
31、,若正 确则进入系统主界面 string czy99,pwd99,czy100,pwd100,pwd200 czy99=trim(ddlb_1.text) pwd99=trim(sle_1.text) if czy99=“ then messagebox(“,“请选择操作员!“) else if pwd99=“ then messagebox(“,“请输入密码!“) else /选择数据 select pwd into :pwd100 from czy_tab where czy=:czy99; pwd200=trim(pwd100) if pwd200=pwd99 then czyvar=t
32、rim(czy99) open(main_win) close(parent) else messagebox(“,“密码有误!“) sle_1.text=“ sle_1.setfocus() end if end if end if 登录成功后显示宾馆客房管理信息系统主界面如下图,主窗口为 main_win,主 界面上所链接菜单为 menu_menu。 基础信息设置(包括客房信息、员工信息、挂账单位信息) (由于结构相似,在此以客房信息设置为例进行解说。 ) 单击主菜单“基础信息设置”下的“设置客房信息”子菜单,进入客房信 息设置窗体,主要实现客房基本信息的添加、修改、删除等功能: 本窗口主
33、要由两个单行编辑框、三个掩码框、一个多行编辑框、两个下拉单选框、一 个数据窗口以及十个命令按钮组成,其中营业日期可自动提取系统时间。点击“添加”按 钮,可生成新的房间信息,在添加房间信息的过程中, “添加”按钮不可用, “保存”按钮 可用。在此窗口还可以对已保存的房间信息进行修改,并可删除已保存的房间信息。 “添 加”按钮 cb_3的代码如下: /窗口 kflxxx_win的“添加”按钮的 clicked()事件,清空文本控件的内容,自动生成房 间号码 em_3.text=string(today() em_1.text=“ ddlb_1.text=“ em_2.text=“ mle_1.te
34、xt=“ ddlb_2.text=“ sle_1.text=“ sle_2.text=“ string lbbh,lbbh1,lbbh2 int lbbh3 /选择数据 select fjh into :lbbh from kfxxlx_tab; if lbbh=“ then em_1.text=“0001“ else /生成房间号 declare cursor1 cursor for select fjh from kfxxlx_tab; open cursor1; fetch cursor1 into :lbbh1; lbbh2=“0001“ do while sqlca.sqlcode=
35、0 if lbbh1lbbh2 then lbbh2=lbbh1 else lbbh2=lbbh2 end if fetch cursor1 into :lbbh1; loop close cursor1; lbbh3=integer(lbbh2) + 1 lbbh2=string(lbbh3) em_1.text=lbbh2 end if lbbh=“ lbbh1=“ lbbh2=“ lbbh3=0 ddlb_1.setfocus() cb_2.enabled=true cb_3.enabled=false 客房预订 单击主菜单“客房前台管理”下的“客房预订”子菜单,进入客房预订窗 体。 本
36、窗口主要由九个单行编辑框、三个下拉单选框以及四个命令按钮组成,其中操作员 为自动填入,预付金额在登记预住天数、选择客房价格后点击编辑框可自动生成。点击 “添加”按钮,可生成新的客房预订信息。窗口 open事件的部分代码如下: /窗口 kfyd_win的 open()事件,初始给控件,分别把不同的房间类型和价格添加到 组合框 ddlb_2和 ddlb_3中 /把不同的房间类型添加到组合框 ddlb_2中 declare cursor1 cursor for select distinct fjlx from kfxxlx_tab; open cursor1; fetch cursor1 into
37、 :kflb; do while sqlca.sqlcode=0 ddlb_2.additem(kflb) fetch cursor1 into :kflb; loop close cursor1; string jg /把不同的价格添加到组合框 ddlb_3中 declare cursor2 cursor for select distinct jg from kfxxlx_tab; open cursor2; fetch cursor2 into :jg; do while sqlca.sqlcode=0 ddlb_3.additem(jg) fetch cursor2 into :jg;
38、 loop close cursor2; 住宿登记 单击主菜单“客房前台管理”下的“住宿登记”子菜单,进入住宿登记窗体。 本窗口主要由五个单行编辑框、十四个编辑框、一个多行编辑框、三个下拉单选框以 及四个命令按钮组成,其中有十二个编辑框自动生成数据(住宿编号可更改,其他不可更 改) 。房间号码可选择已登记的房间,如果选中房态为“入住”的房间则提示“该客房已 住人!” ,房态为“维修”时则提示“该客房正在维修!” 。在登记过程中“登记”按钮 enabled属性为 false。窗口 open事件的部分代码如下: /窗口 zxdj_win的 open()事件,初始化控件,并把不同的房间号添加到组合框
39、 ddlb_3中 string fjh /把不同的房间号添加到组合框 ddlb_3中 declare cursor1 cursor for select fjh from kfxxlx_tab; open cursor1; fetch cursor1 into :fjh; do while sqlca.sqlcode=0 ddlb_3.additem(fjh) fetch cursor1 into :fjh; loop close cursor1; /得到当前系统的日期 em_5.text=string(today() /得到当前系统的时间 em_6.text=string(now() ddl
40、b_2.selectitem(3) 宿费提醒 单击主菜单“客房前台管理”下的“宿费提醒”子菜单,进入宿费提醒窗体。 本窗口主要由一个掩码框、一个数据窗口以及三个命令按钮组成。掩码框 em_1自动 提取当前日期,可进行更改。点击“到时提醒”按钮,系统从 zxdj_tab表中提取退宿时 间在 em_1所输入时间一天后的相关数据。点击“所有被提醒”按钮,显示所有需要提醒 的客人信息。 “到时提醒”按钮 cb_1的代码如下: /窗口 xftx_win的“到时提醒”按钮的 clicked()事件,提醒客人还差一天就到期了 string sql,tixrq1 tixrq1=trim(em_1.text)
41、dw_1.settransobject(sqlca) sql=“select zxno,xm,zj,zjh,dwordz,zxsy,fjhm,kfbz,kfjg,zxrq,zxsj,zxts,zqxf,dzfs,dzds,sjxf,t xrq,txsj,ysyj,bz,czy,tixrq,tixsj,isor from zxdj_tab where tixrq=“+tixrq1+“ /检索数据 dw_1.setsqlselect(sql) dw_1.retrieve() 退宿结账 单击主菜单“客房前台管理”下的“退宿结账”子菜单,进入退宿结账窗体。 本窗口实现功能为客人的退房结账。在下拉菜单中
42、选择凭证号码,其他信息自动从数 据库中提取,退宿编号为自动分配。在附加费处选择附加费项目,然后在后面的单行编辑 框中输入数目,提示栏中显示对应的消费,并自动计算到应收金额及退还金额中。掩码框 “附加费”金额 em_8的代码如下: /窗口 txjz_win的掩码框 em_8的 modified()事件,统计总计金额 if ddlb_7.text=“电话费“ then st_22.text=em_8.text elseif ddlb_7.text=“会议费“ then st_24.text=em_8.text elseif ddlb_7.text=“杂费“ then st_23.text=em_8
43、.text elseif ddlb_7.text=“停车费“ then st_25.text=em_8.text elseif ddlb_7.text=“赔偿费“ then st_26.text=em_8.text end if em_9.text=string(real(sle_8.text)+(real(st_22.text)+real(st_23.text)+real( st_24.text)+real(st_25.text)+real(st_26.text)*real(em_7.text)/100) em_11.text=string(real(em_10.text)-real(em_
44、9.text) 查询统计管理(包括客房、预订房、住宿、退宿、挂账信息查询) (由于结构相似,在此以预订房查询为例进行解说。 ) 单击主菜单“查询统计管理”下的“预订房查询”子菜单,进入预订房查询窗体。 在此窗口可以对预订信息进行查询以及删除。窗口 open事件的代码如下: /窗口 ydfcx_win的 open()事件,连接数据库,检索数据,把不同的姓名添加到组合框 ddlb_1中 string xm /把不同的姓名添加到组合框 ddlb_1中 declare cursor1 cursor for select distinct xm from kfyd_tab; open cursor1;
45、fetch cursor1 into :xm; do while sqlca.sqlcode=0 ddlb_1.additem(xm) fetch cursor1 into :xm; loop close cursor1; /连接数据库 dw_1.settransobject(sqlca) /检索数据 dw_1.retrieve() 挂账结账 单击主菜单“挂账管理”下的“挂账结账”子菜单,进入挂账结账窗体。 在下拉菜单“挂账单位或地址”处进行对象选择,系统在数据库中搜索相应数据后数 据窗口中会出现该单位的挂账信息。结款方式有多种选择。在命令按钮“确定”cb_1 的代 码如下: /窗口 khjz
46、_win的“确定”按钮的 clicked()事件,保存客人结帐信息 /选择数据 select thje,dzfs into :thje,:dzfs from txjz1_tab where xxdz=:gzdw and isor=:isor; thje2=real(thje) if thje20 then thje3=string(thje2 - thje1) elseif thje20 then if qxjb89=2 then /使如下菜单项可用 if cbx_1.checked then menu_menu.m_基础信息程序设计.m_客房信息类别.enabled=true end if if cbx_2.checked then menu_menu.m_基础信息程序设计.m_员工信息设计.enabled=true end if else messagebox(“,“请选择操作员!“) end if