SQL酒店管理系统实例附加C#界面代码.docx
《SQL酒店管理系统实例附加C#界面代码.docx》由会员分享,可在线阅读,更多相关《SQL酒店管理系统实例附加C#界面代码.docx(42页珍藏版)》请在冰豆网上搜索。
SQL酒店管理系统实例附加C#界面代码
数据库酒店管理系统实例(附C#界面及代码)
第1章前言
1.1开发背景
经济的快速发展,人们的生活水平和消费意识的提高,促进了旅游业的发展。
宾馆行业将面临着机遇和挑战。
宾馆客人管理是宾馆管理的一个重要且必须切实面对的工作,但一直以来人们使用传统的人工方式管理宾馆,这种管理方式存在着许多缺点,如:
效率低、保密性差且较为烦琐,另外随着客人数量的增加,其工作量也将大大增加,这必然增加客人管理者的工作量和劳动强度,这将给客人管理信息的查找、更新和维护都带来了很多困难。
建立宾馆客人档案管理系统,采用计算机对客人信息进行管理,可以进一步提高宾馆的经济效益和现代化水平,帮助宾馆工作人员提高工作效率,实现客人信息管理工作流程的系统化、规范化和自动化。
经过详细的调查,目前油缘宾馆客人住宿登记管理还停留在人工管理的基础上,这样的管理机制已经不能适应时代的发展,这样的方法将浪费许多人力和物力。
随着计算机技术的不断提高,这种传统的手工管理方法必然被以计算机为基础的信息管理方法所取代。
客人档案管理作为计算机应用的一个分支,有着手工管理所无法比拟的优点,如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高宾馆管理的效率。
因此,开发一套能够为用户提供充足的信息和快捷的查询手段的宾馆客人档案管理系统,将是非常必要的,也是十分及时的。
1.2宾馆组织结构
油缘宾馆位于成都市新都区新都大道北侧,地处成绵高速新都出口一公里处。
从宾馆驱车十分钟可到达闻名全国的古寺名刹——宝光寺和美丽的升庵桂湖。
宾馆按三星级标准修建,集住宿、餐饮、康乐、商务、会议接待等综合服务为一体,为来宾精心构筑一个环境优美舒适、人文气息浓厚的休憩、娱乐场所。
宾馆有客房103套(间),其中豪华套房8套,单人间6间,商务标间10间,豪华标准间79间。
客房整洁明亮,装饰讲究、温馨舒适,备有现代家具、彩电、中央空调及完善的通讯设备和消防报警系统,40间客房开通宽带上网服务,并有商务标间配置完备的上网设施;中餐厅可容纳300人就餐,菜品独具特色、品种齐全、用料精细、做工考究、风味独特;阳光茶楼清静典雅,服务热情周到;多功能会议室设施齐全,可实现各会议室同步视频会议,能充分满足各类会务活动的需求;商务中心提供多种商务服务。
图1-1宾馆组织结构图
1.3系统开发方法
油缘宾馆客人档案管理系统采用的是原型法的开发方法。
本着开发人员对用户需求的理解,通过简单的系统分析、系统设计,快速实现一个原型系统,然后通过反复修改来实现管理信息系统。
第2章系统分析
2.1可行性分析
1、管理上的可行性
在传统的宾馆客人管理过程中,管理人员不得不花费大量的时间来处理顾客投诉,例如错误查询、烦琐的登记和结帐手续、旅客费用计算错误、空余客房资料不能及时提供等,从而影响宾馆的经济效益。
因此,宾馆的管理人员迫切地需要一套宾馆客人信息管理系统来对日常信息进行处理和维护。
历史经验的积累使宾馆行业现有的管理制度和管理方法比较科学,规章制度比较齐全,原始数据比较正确。
这些为系统的建设提供了有效的制度保障。
2、技术上的可行性
本管理信息系统将采用技术成熟的C#作为前台开发工具。
后台数据库采用微软公司的SQLServer数据库,因为它的灵活性、安全性和易用性为数据库编程提供了良好的条件。
因此,系统的软件开发平台已成熟可行。
硬件方面,科技的飞速发展使硬件的更新速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。
3、经济上的可行性
本系统由作者自主开发,操作人员只需简单培训即可上岗。
管理和维护比较简单,除了必要的设备投资外,后期只需少量资金就可确保运转。
因此对于油缘宾馆在经济上是完全可以接受的。
本系统的使用能大大提高员工工作效率,加速资金周转、降低各项成本及改善服务质量,能够取得良好的经济效益。
综上所述,本系统在管理上、技术上和经济上都是完全可行的,并且投入少、见效快。
因此系统的开发是完全可行的。
2.2需求分析
2.2.1业务流程分析
宾馆业务的基本流程主要包括:
客房的预定,客人通过电话或者其他途径向酒店进行客房预定,接待人员查询客房状态表后确定有空房则接受预定,预定成功后发给客人预定凭证,并对客房状态表做出相应的变化。
客房的登记,分为预定入住和散客登记。
如果客人已经预定房间,则根据预定凭证进行预定入住操作,发给客人房卡,客房状态由“预定”变为“入住”。
如果客人没有预定房间,接待人员查询客房状态表后,有空房则进行客房登记操作,发给客人房卡,客房状态由“空房”变为“入住”。
客人换房,如果客人对入住的客房条件不满意,则可进行客人换房操作。
接待人员将客人的房间进行更换,并更换客人房卡,客房状态也进行相应的调整。
客房消费,客人入住期间在酒店进行了消费,如:
购买商品,就餐,打电话。
就要进行消费入帐操作。
包括:
消费入账,餐费入账,话费入账。
补交押金,如果客人的押金太少,则要补交押金。
客人交纳押金,接待人员开具押金凭证。
夜审管理。
宾馆的管理人员要对宾馆的基本信息进行了解则可以进行夜审管理,包括:
客房状态报表的查看,客人入住信息的查看,历史客人报表查看。
客人退房,客人退房时,接待人员根据客人的房卡,进行退房登记。
计算客人入住期间的房费,餐费,话费,各种消费和押金总额。
对客人收取费用或者退回押金。
客人信息转存到历史客人表中。
客房状态由“入住”转为“空房”。
图2-1业务流程分析图
2.2.2数据流程分析
本系统的后台数据库将作为整个宾馆的数据流通中心,将各个部门的数据信息连通起来,具体流程如下图所示:
图2-2数据流程分析图
2.2.3系统功能分析
1、散客开单:
完成散客的开单,可一次最多开5间相同类型的房间。
2、团体开单:
完成团体的开单,开放数量没有限制,可同时开不同类型的房间。
3、宾客结账:
自动统计每个登记客人在店时所发生的消费额和应付款额,并完成结帐收银操作。
4、客房预订:
完成增加预订、修改预订、删除预订,预订情况的查询等功能。
5、营业查询:
完成结帐单、全部宾客消费、在店宾客消费、离店宾客消费的查询。
6、客户管理:
完成会员基本信息的维护和来宾一览。
7、系统设置:
完成房间项目、客户类型、操作员、计费设置。
2.2.4系统权限分析
用户分为:
普通用户和管理员
管理员:
具有操作全部功能的权限。
普通用户:
部分功能不允许使用。
第3章系统设计
3.1系统功能模块设计
图3-1系统功能模块图
从上图中可以看出,系统总共分为7个模块,散客开单模块主要完成散客的开单,开单后房间进入计费状态,根据系统设置,自动计费;团体开单模块主要完成团体的开单,开放数量没有限制,可同时开不同类型的房间;宾客结账模块主要完成自动统计每个登记客人在店时所发生的消费额和应付款额,并完成结帐收银操作;客房预订模块主要完成增加预订、修改预订、删除预订,预订情况的查询等功能。
营业查询模块主要完成结帐单、全部宾客消费、在店宾客消费、离店宾客消费的查询;客户管理模块主要完成会员基本信息的维护和来宾一览;系统设置模块主要完成房间项目、客户类型、操作员、计费设置。
3.2数据库设计
本软件的数据库名称为:
sunhotel,包含12个数据表,分别是:
房间类型表、房间信息表、客户类型表、入住信息表、预定信息表、结算表、日志表、操作员信息表、会员信息表、散客开单中间表、团体开单中间表和预订信息中间表。
具体表结构如下:
表3-1房间类型表[roomtype]
字段名
类型
允许为空
默认值
说明
pk
decimal
×
主键
id
varchar
×
房间类型编号
r_type
varchar
×
房间类型
bed
int
×
床位数
price
float
×
单价
foregift
float
×
押金
cl_room
varchar
×
N
是否钟点房
cl_price
float
×
钟点房价
remark
varchar
√
备注
sysmark
int
×
0
系统级标志
delmark
Int
×
0
删除标记
other1
varchar
√
保留1
other2
varchar
√
保留2
表3-2房间信息表[roominfo]
字段名
类型
允许为空
默认值
说明
pk
decimal
×
主键
id
varchar
×
房间号
r_type_id
varchar
×
房间类型编号
state
varchar
×
房间状态
location
varchar
×
所处位置
r_tel
varchar
×
房间电话
remark
varchar
√
备注
statetime
int
×
0
状态计时
delmark
int
×
0
删除标记
other1
varchar
√
保留1
other2
varchar
√
保留2
表3-3客户类型表[customertype]
字段名
类型
允许为空
默认值
说明
pk
decimal
×
主键
id
varchar
×
客户类型编号
c_type
varchar
×
客户类型
dis_attr
varchar
×
折扣属性
discount
int
×
折扣比例
price
float
×
原价格
dis_price
varchar
×
折扣价格
remark
varchar
√
备注
delmark
int
×
0
删除标记
other1
varchar
√
保留1
other2
varchar
√
保留2
表3-4入住信息表[livein]
字段名
类型
允许为空
默认值
说明
pk
decimal
×
主键
In_no
varchar
×
入住单号
r_no
varchar
×
房间号
r_type_id
varchar
×
房间类型编号
Main_room
varchar
×
主房间号
Main_pk
decimal
×
主PK
c_type_id
varchar
×
客户类型编号
m_id
varchar
×
*
客户编号
c_name
varchar
×
客户名称
c_jp
varchar
√
客户名称简拼
sex
varchar
×
性别
zj_type
varchar
×
证件类型
zj_no
varchar
×
证件编号
address
varchar
×
*
地址
renshu
int
×
人数
in_time
varchar
×
入住时间
days
int
×
预注天数
account
float
×
消费数量
foregift
float
×
押金
chk_no
varchar
×
*
结算单号
chk_time
varchar
×
*
结算时间
remark
varchar
√
备注
userid
varchar
×
操作员
cluemark
int
×
0
提醒标志
statemark
varchar
×
0
状态标志
delmark
int
×
0
删除标记
other1
]
varchar
√
保留1
other2
varchar
√
保留2
表3-5预定信息表[engage]
字段名
类型
允许为空
默认值
说明
pk
decimal
×
主键
c_name
varchar
×
客户名称
c_jp
varchar
×
客户名称简拼
c_tel
varchar
×
客户电话
r_type_id
varchar
×
房间类型编号
r_no
varchar
×
房间号
pa_time
varchar
×
预抵时间
keep_time
int
×
保留时间
eng_time
varchar
×
预定时间
remark
varchar
√
备注
engagemark
int
×
0
预定状态标志
cluemark
int
×
0
提醒标志
delmark
int
×
0
删除标记
other1
varchar
√
保留1
other2
varchar
√
保留2
表3-6结算表[checkout]
字段名
类型
允许为空
默认值
说明
pk
decimal
×
主键
chk_no
varchar
×
结帐单号
in_no
varchar
×
入住单号
days
int
×
实住天数
money
float
×
金额
chk_time
varchar
×
结算时间
remark
varchar
√
备注
delmark
int
×
0
删除标记
other1
varchar
√
保留1
other2
varchar
√
保留2
表3-7日志表[record]
字段名
类型
允许为空
默认值
说明
pk
decimal
×
主键
time
datetime
×
操作时间
operator
varchar
×
操作员
brief
varchar
×
内容摘要
content
varchar
×
内容
delmark
int
×
0
删除标记
other1
varchar
√
保留1
表3-8操作员信息表[pwd]
字段名
类型
允许为空
默认值
说明
pk
decimal
×
主键
userid
varchar
×
用户登录ID
pwd
varchar
×
登录密码
puis
int
×
用户权限
delmark
int
×
0
删除标记
other1
varchar
√
保留1
other2
varchar
√
保留2
表3-9会员信息表[member]
字段名
类型
允许为空
默认值
说明
pk
decimal
×
主键
m_id
varchar
×
会员编号
m_name
varchar
×
会员名称
sex
varchar
×
性别
zj_no
varchar
×
证件编号
address
varchar
×
详细地址
m_tel
varchar
×
联系电话
remark
varchar
×
备注
delmark
int
×
0
删除标记
other1
vrchar
√
保留1
other2
varchar
√
保留2
表3-10散客开单中间表[roomnum]
字段名
类型
允许为空
默认值
说明
roomid
varchar
√
房间编号
表3-11团体开单中间表[roomnums]
字段名
类型
允许为空
默认值
说明
rr_type
varchar
√
房间类型
roomid
varchar
√
房间编号
price
float
√
单价
表3-12预订信息中间表
字段名
类型
允许为空
默认值
说明
pk
decimal
√
主键
c_name
varchar
√
客户名称
c_jp
varchar
√
客户名称简拼
c_tel
varchar
√
客户电话
r_type_id
varchar
√
房间类型编号
r_no
varchar
√
房间号
pa_time
varchar
√
预抵时间
keep_time
int
√
保留时间
eng_time
varchar
√
预定时间
remark
varchar
√
备注
engagemark
int
√
0
预定状态标志
cluemark
int
√
0
提醒标志
delmark
int
√
0
删除标记
other1
varchar
√
保留1
other2
varchar
√
保留2
第4章系统实现
4.1系统主界面
图4-1系统主界面
4.2来宾登记模块
4.2.1宾客开单
1、功能
建立宾客消费帐,本模块为每位来店宾客指定一个房间(房间),是宾客消费的开始。
2、界面
图4-2散客开单
图4-3团体开单
3、操作指南
(1)在选定某一处于“可供”或“预订”状态的房间后,通过点击菜单“散客登记(团体登记)→开单”(或直接点击主窗口中的“顾客开单”快捷按钮)菜单进入顾客开单界面。
(2)进入“顾客开单”界面后(如图4-2、4-3),可以看到有关选定开单房间的基本信息及一些基本费用。
(3)填写来宾人数(必须填写)、押金金额(根椐本店情况而定),系统将自计算相应的费用。
(4)填写完之后,点击“确定”按钮将完成开单任务,点击“取消”按钮将取消此次开单操作。
4.2.2更换房间
1、功能
假如因为店内原因或客人要求,造成客人当前占用的房间(房间)必须终止提供,但客人的消费并未终结,为此,可以通过更换房间来将客人资料及消费信息在不进行结帐操作的情况下转到另一新项目下。
例如:
换房间(房间)。
2、界面
图4-4更换房间
3、操作指南
(1)在选定需要更换的房间后,通过点击菜单“来宾登记→换房间”进入更换房间界面(如图4-4)。
(2)进入“更换房间”界面后可以看到当前待调换的房间号(即:
原房间),在“调整为”后的文本框中输入要调整到的目标房间。
(3)填写完之后,点击“确定”按钮将完成更换房间任务,点击“取消”按钮将取消此次更换房间操作。
(注:
如果待更换的房间和目标房间在同一房间类型中,可通过拖放的方式进行调换)
4.2.3修改登记
1、功能
如果在顾客开单时填写有误,或者用于修改来宾姓名、押金金额等可通过此项操作完成。
2、操作指南
(1)在选定需要修改登记的房间后,通过点击菜单“来宾登记→登记”进入修改登记界面。
(2)进入修改登记界面后,相应的文框将显示出顾客登记时的数据,更改需要修改的项目。
如:
来宾人数、押金金额。
(3)填写完之后,点击“确定”按钮将完成修改任务,点击“取消”按钮将取消此次修改操作。
4.2.4房间状态
功能
此项操作可手动修改处于非占用状态的房间状态为”可供”、“预订”、“停用”、“脏房”等状态。
4.2.5预定管理
1、功能
此项功能可以完成增加预订、修改预订、删除预订,预订情况的查询、导出、打印等功能。
2、界面
图4-5客户预订
3、操作指南
(1)通过点击菜单“来宾登记→预订管理”菜单(或直接点击主窗口中的“预订管理”快捷按钮)进入预订管理界面。
(1)增加预订:
点击预订管理窗口中的“增加”按钮进入预订登记窗口,在预订登记窗口中填写预订人信息并指定其预订的房间类型及房间、确认宾客预计到达的时间和最后保留时间,还可选择“到达保留时间是否自动取消预订”。
填写完之后点击“确定”按钮将完成此次预订,点击“取消”按钮将取消此次预订操作。
(注:
最后保留时间是指若宾客在预订到达的时间没有到达,最多还能廷长到的时间。
此时间做为自动取消预订的条件)。
(2)修改预订:
若要修改某条预订信息可在预订管理窗口中选择一条要修改的预订信息,然后点击预订管理窗口中的“修改”按钮进入修改预订登记窗口,修改相应内容(操作方法类似于增加预订)后点击“确定”将保存修改后的信息,若点击“取消”按钮将取消此次修改预订登记操作保持原有的数据不变。
(3)删除预订:
在预订管理窗口中选择一条要删除的预订信息,然后点击预订管理窗口中的“删除”按钮,系统将给出提示“删除后将不能恢复,确定删除吗?
”,点击“确定”将永久删除所选中的预订信息,点击“取消”将不做任何操作并返加预订管理窗口。
(4)查询预订:
在预订管理窗口中“房间号/姓名”后的文本框中输入被预订的房间号或预订人的姓名后点击“查询”,数据表中将显示出符合查询条件的预订信息,当然可以点击“过滤”按钮选择过滤条件从而指定查询范围。
点击“刷新”按钮数据表中将显示所有预订信息。
4.2.6退出系统
1、功能
此项操作可中断本系统的运行并退回到操作系统。
2、操作指南
点击菜单“来宾登记→退出系统”,系统将提示“真的要退出系统吗?
”,点击“是”将中断当前所的操作并退出本系统,点击“否”将返回到本系统。
(注:
退出系统前请先确认对未保存的操作进行保存,否则系统将取消未保存的操作)
4.3收银结账
4.3.1宾客结账
1、功能
本模块将自动统计每个登记客人在店时所发生的所有消费额和应付款额,并完成结帐收银操作。
2、界面
图4-6收银结账
3、操作指南
(1)在主窗口中选要结账宾客的房间后,点击菜单“收银结账→宾客结账”(或点击主窗口中的“宾客结账”快捷按钮)进入宾客结账界面。
(2)此窗口主要包括:
结账房间信息区、付款情况区。
(注:
结账房间信息区:
用来显示当前结账房间的账单号、房间编号、宾客姓名,付款情况区:
中分别有消费金额、应收金额、已收押金、优惠金额、实收金额、宾客支付、找零等,其中:
“已收押金”是指已经收取的“预付款”等金额的合计额;“结算金额”是指经系统计算应收的结账金额,即:
“消费金额-已收押金=结算金额”;“宾客支付”是指客人结账时交付给收银员的金额,如果大于结算金额,则在其后显示找零金额;“优惠金额”是指系统根设置的打折比率自动计算出的让利于宾客的金额及抹零金额等的统称。
最后的“入账金额=消费金额-优惠金额”由系统自动计算。
消费消单区:
用来显示选中房间的消费清单。
(3)点击“结账”按钮后就完成了结账操作,也就意味着终止了此宾客此次在本店的消费行为,并自动关闭本窗口。
(41)点击“取消”按钮将取消此次结账操作并自动关闭本窗口。
4.3.2合并结账
1、功能
合并两个或两个以上的帐单为一个帐单,合并后的账单可同时结账。
2、界面
图4-7合并账单
3、操作指南
(1)通过点击主窗口中的菜单“收银结账→合并账单”进入合并账单界面(如图4-7)。