基于jee酒店管理系统设计与实现—免费计算机毕业设计论文内容摘要:

客房管理:包括客房查询、房态查看  系统设置:包括权限设置、房态设置、操作员管理 图 41 系统结构图 数据库设计 本酒店管理系统采用采用关系数据库模型,用 Access 2020 作为数据库管理系统 ( DBMS) ,对数据进行存储,在数据库应用系统的 开发过程中,数据库的结构设计是一个非常重要的问题。 数据库设计是指对数据库中各个表结构的设计,包括信息保存在哪个表格中,各个表的结构如何,字段属性如何,以及各个表之间的关系。 数据库设计的好坏将直接对应用系统的效率以及实现的效果产生影响,好的数据库设计会减少数据库的存储量,保证比较高数据完整性和一致性,同时提高系统的响应速度,简化基于此数据库的应用程序的实现等等。 在本系统中存在三个数据对象包括:房客、客房、管理员。 并且这三者分别存在这样的属性。 房客登记时包括(入住时间、姓名、性别、押金等基本信第 7 页 共 25 页 息);管理员包 括(登陆名和密码、管理权限等);客房包括(房间类型、房间状态、房间号码、价格等)。 通过这些对象的不同结构和属性,以及它们包含的各种信息,相互间作用形成数据流,可以以此得到 ER 图如图 42 所示。 图 42 系统 ER 图 根据上面的关系和分析设定本系统数据库名为 ,包含以下 3个表:操作员表 (admin)、客房信息表 (roominfo)、房客信息表 (tenant)。 操作员表 (admin)如表 43 所示。 表 43 操作员表 (admin) 字段名称 字段名含义 数据类型 字段大小 Admin(主键) 用户名 文本 15 pin 密码 文本 15 legalpower 管理权限 文本 15 enter 是否进入系统 是 /否 1 前台管理 操作权限 是 /否 1 客房管理 操作权限 是 /否 1 查询统计 操作权限 是 /否 1 挂帐管理 操作权限 是 /否 1 房态设置 操作权限 是 /否 1 权限设置 操作权限 是 /否 1 应用于系统设置模块,对管理员的信息进行查看,对权限进行修改或者增第 8 页 共 25 页 加等操作。 该表中主键是 Admin字段,其余字段如前台管理、客房管理、查询统计、房态设 置及权限设置等均表示管理员是否有权限操作相关模块。 客房信息表 (roominfo)如表 44 所示。 表 44 客房信息表 (roominfo) 字段名称 数据类型 字段大小 房间号(主键) 文本 50 房间类型 文本 10 价格 数字 双精度 房态 文本 10 使用设施 文本 50 备注 备注 备注 用于对客房的信息进行查看和管理,比如说了解房间是否有人入住,是否在修理过程等。 该表的主键为房间号字段,值为非空。 房客信息表 (tenant)如表 45 所示。 表 45 房客信息表 (tenant) 字 段名称 数据类型 字段大小 编号(主键) 文本 50 房客姓名 文本 20 性别 文本 6 证件类型 文本 10 证件号码 文本 50 籍贯 文本 50 联系方式 文本 50 房间号 文本 50 房间类型 文本 10 入住日期 文本 50 退房日期 文本 50 是否挂帐 是 /否 1 宿费及押金 数字 双精度型 折扣率 数字 单精度型 住宿备注 备注 备注 操作员 文本 50 第 9 页 共 25 页 用于对房客的信息查看和管理,比如说房客的宿费状况,有多少房客入住,入住的是什么档次的房间等等。 该表的 主键为编号字段。 5 详细设计 详细设计阶段就是把解决方法具体化,设计出详细规格说明,包含必要的细节,程序员可以根据它们写出实际的程序代码,详细设计也称模块设计,在这个阶段将详细地设计每个模块具体的实现功能。 登陆模块 A、实现目标 操作员进入系统前,必须通过系统登录进入主程序界面,系统登录界面如图 51 所示,主要实现以下功能:  确认用户的身份及使用权限  对系统信息起到保密作用 图 51 系统登录界面 B、核心代码 …… //其余代码段略 String a=((String)()).trim()。 //选中下拉列表框中的名字 String p=new String(())。 //选中用户输入的密码 rs=(select * from admin where admin=39。 +a+39。 and pin=39。 +p+39。 )。 //校验用户名和密码 前台管理模块 前台管理模块分为:住宿登记、追加押金、退房结账。 第 10 页 共 25 页 住宿登记 A、实现目标 用户单击主菜单前台管理下的住宿登记子菜单,进入住宿登记 子菜单界面,如图 52 所示,住宿登记子菜单主要实现如下功能:  显示入住房客基本信息  显示住宿房间基本信息  对房客及入住房间信息进行住宿登记 图 52 住宿登记界面 B、核心代码 public void addTenantIntoTable(String[] tenant){ …… (insert into tenant values(39。 +tenant[0]+ 39。 ,39。 +tenant[1]+39。 ,39。 +tenant[2]+39。 ,39。 +tenant[3]+39。 ,39。 + tenant[4]+39。 ,39。 +tenant[5]+39。 ,39。 +tenant[6]+39。 ,39。 + tenant[7]+39。 ,39。 +tenant[8]+39。 ,39。 +tenant[9]+39。 ,39。 + tenant[10]+39。 ,+tenant[11]+,+tenant[12]+,+tenant[13]+ ,39。 +tenant[14]+39。 ,39。 +tenant[15]+39。 ))。 //初始化房客登记信息 (update roominfo set 房态 =39。 入住 中 39。 where 房间号 =39。 +tenant[7]+39。 )。 …… //同时修改客房状态 } 第 11 页 共 25 页 追加押金 A、实现目标 用户单击主菜单前台管理下的追加押金子菜单,进入追加押金子菜单界面,如下图 53 所示,追加押金子菜单主要实现如下功能:  显示入住房客基本信息  显示房客已付费用等基本信息  对房客及续住信息进行续住登记 图 53 追加押金界面 B、核心代码 public void addingCash(){ …… (update tenant set 退房日期 =39。 +date+39。 , 宿费及押金 =+cash+,操作员 =39。 +op+39。 where 房间号 =39。 +roomnumber+39。 )。 ()。 //对房客的信息进行重新登记 …… } 退房结账 A、实现目标 用户单击主菜单前台管理下的退房结账子菜单,进入退房结账菜单界面,如图 54 所示,退房结账子菜单主要实现如下功能:  显示入住房客基本信息 第 12 页 共 25 页  显示房客已付费用及应付费用等基本信息  根据费用情况来决定是否进行挂帐退房操作还是退房结账操作 图 54 退房结账 界面 B、核心代码 public void chargeToAccount(String roomnumber){ …… (update tenant set 是否挂帐 =true where 房间号 39。 +roomnumber+39。 )。 (update roominfo set 房态 =39。 空闲中 39。 where 房间号 =39。 +roomnumber+39。 )。 //挂帐时,更新数据库 …… } public void checkOut(String roomnumber){ …… (delete from tenant where 是否挂帐 =false and 房间号 =39。 +roomnumber+39。 )。 (update roominfo set 房态 =39。 空闲中 39。 where 房间号 =39。 +roomnumber+39。 )。 //退房结账时,更新客房状态 } 第 13 页 共 25 页 客房管理模块 客房管理模块分为:客房查询、房态查看。 客房查询 A、 实现目标 用户单击主菜单客房管理下的客房查询子菜单,进入客房查询子菜单界面,如图 55 所示,客房查询子菜单主要实现如下功能:  按房间号码进行客房查询  按房间类型进行客房查询  按房间状态方式进行客房查询  按综合方式进行客房查询  按全部客房进行查询 图 55 客房查询界面 B、核心代码 public void queryRoomInfo(int option){ switch(option){ case 0: …… rs=(select * from roominfo where 房间号39。 +querystr+39。 )。 //按房间号来查看 …… case 1: …… 第 14 页 共 25 页 rs=(select * from roominfo where 房间类型=39。 +querystr+39。 order by 房间号 )。 //按房间类型来查看 …… case 2: …… rs=(select * from roominfo where 房态 =39。 +querystr+39。 order by 房间 号 )。 //按房间状态来查看 …… case 3: …… rs=(select * from roominfo where 房间类型=39。 +querystr1+39。 and 房态 =39。 +querystr2+39。 order by 房间号 )。 …… //按房间类型和房间状态来组合查看 case 4: …… rs=(select * from roominfo order by 房间号 )。 …… //全部查询 } } 房态查看 A、实现目标 用户单击主菜单客房管理下的房态查看子菜单,进入房态查看子菜单界面,如图 56 所示,房态查看子菜单主要实现如下功能:  显示入住中的房间及其房间类型  显示空闲中的房间及其房间类型  显示维修中的房间及其房间类型 第 15 页 共 25 页 图 56 房态查看界面 B、核心代码 public void showRoomStatusInfo(){ …… //搜索全部房间 if(count%7==0) iRow=count/7。 else iRow=count/7+1。 setLayout(new GridLayout(iRow,7,8,15))。 eachRoomStatus=new JLabel[count]。 rs=(select * from roominfo order by 房间号 )。 …… //导出房间状态 eachRoomStatus[i].setBorder( (房间: +(1)+号 ))。 eachRoomStatus[i].setToolTipText(房间类型: +(2))。 add(eachRoomStatus[i++])。 //显示本房间的状态,空闲,入住还是维修中 …… } 第 16 页 共 25 页 系统设置模块 系统设置模块分为:权限设置、房态设置、操作员管理。 权限设置 A、实现目标 用户单击主菜单系统设置下的权限设置子菜单,进入权限设置子菜单界面,如图 57 所示,权限设置子菜单主要实现如下功能:  显示普通权限操作员的权限信息  对普通权限操作员的权限进行设置 图 57 权限设 置界面 B、核心代码 public void setTree(){ 第 17 页 共 25 页 String str1=(允许 ) ,str2=(不允许 )。 …… root=new DefaultMutableTreeNode( 当前操作员: +operator+( +legalpower+) )。 …… rs=(select admin from admin where legalpower=39。 普通权限 39。 )。 …… childtree=new DefaultMutableTreeNode[1][1]。 childtree[0][0]=new DefaultMutableTreeNode (系统提示:系统中暂无普通权限用户 )。 //当没有普通操作。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。