基于JAVA酒店管理系统的设计与实现_毕业论文.doc_第1页
基于JAVA酒店管理系统的设计与实现_毕业论文.doc_第2页
基于JAVA酒店管理系统的设计与实现_毕业论文.doc_第3页
基于JAVA酒店管理系统的设计与实现_毕业论文.doc_第4页
基于JAVA酒店管理系统的设计与实现_毕业论文.doc_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖 南 科 技 大 学潇湘学院毕业设计(论文)题目酒店管理系统作者学院计算机科学与工程学院专业计算机科学与技术学号指导教师摘 要本文完整的描述了一个酒店管理系统的设计与实现的过程,采用真正的跨平台Java技术为基础,利用eclipse编程平台结合Oracle 数据库,完成了酒店管理系统的功能。本系统是基于GUI的图形界面系统,使用了MVC框架,采用JAVA语言和Oracle数据库开发完成的酒店管理系统。该系统的主要目标是针对酒店客房住房管理进行计算机的管理,系统主要实现了以下模块:房间管理模块,营销管理模块,商品管理模块,系统设置模块。本酒店管理系统可供用户进行房间管理、客户查询、营销管理以及功能强大的消费管理的功能。用户只需要简单的输入,所有数据都由数据库管理系统管理。本文中数据库服务器端采用了 Oracle 作为后台数据库,为数据的安全和程序的稳定运行提供了保障。关键词: 酒店管理系统 JAVA Oracle ABSTRACT This paper describes a complete hotel management system design and implementation of the process, USES the real cross-platform Java technology as the foundation, use eclipse programming platform combined with Oracle database, the completion of the hotel management system function. This system is based on the GUI GUI system, using MVC framework, the JAVA language and Oracle database development completed hotel management system. The systems main goal is for hotel rooms housing management computer management, system mainly realizes the following module: room management module, marketing management module, commodities management module, the system Settings module.The hotel management system is available for users room management, marketing management and customer inquires powerful function, the consumption of the function of management. The user need only simple input, all the data are made by the database management system management. This paper database server in the Oracle as backend database, data security and procedures for the stable operation of the provided protection.Key Words:Hotel Management System;Oracle;Java- II -目 录第一章 绪论- 1 -1.1研究背景- 1 -1.2国内外研究现状- 1 -1.3研究意义- 2 -1.4研究内容和研究方法- 2 -1.4.1研究内容- 2 -1.4.2研究方法- 2 -第二章 系统分析- 3 -2.1可行性分析- 3 -2.1.1 技术可行性分析- 3 -2.1.2 经济可行性分析- 3 -2.1.3 操作可行性分析- 3 -2.1.4 其他影响系统开发的因素- 3 -2.2 需求分析- 3 -2.2.1 用户需求说明- 3 -2.3 系统需求说明- 5 -2.4项目开发环境及工具介绍- 5 -第三章 概要设计- 7 -3.1功能模块- 7 -3.2 设计思想以及框架- 9 -3.2.1设计思想- 9 -3.2.2框架- 9 -3.3数据库设计- 9 -3.3.1 ER图- 10 -3.3.2 数据字典- 12 -第四章 详细设计- 16 -4.1项目主要业务模块- 16 -4.1.1登陆界面模块- 16 -4.1.2房间管理模块- 16 -4.1.3营销管理模块- 16 -4.1.4商品管理模块- 16 -4.1.5系统设置模块- 16 -4.2运行控制- 16 -4.2.1运行流程- 17 -4.2.2 测试- 17 -4.2.3 测试结果- 33 -第五章 结束语- 34 -参考文献- 35 -致谢- 36 -附录- 37 -第一章 绪论1.1研究背景 酒店业是一个前景广阔而又竞争激烈的行业。改革开放以来,我国的酒店业迅速发展,已经成为一个具有相当规模的产业。由于我国的旅游业迅速发展,通过调查,我国在 2020 年将成为世界上第四大旅游国家;同时我国加入世界贸易组织,酒店业将完全开放,这个时候,我国的酒店业将面临着前所未有的机遇和挑战。但是,现在甚至还有一些酒店还停留在由人工操作和管理阶段,这样已经无法适应当前的发展趋势。因此,要想使酒店的工作质量和效率提高,采用先进的计算机网络通信技术改变酒店业务模式,实现酒店业务管理的自动化已经成为一种必然。 酒店管理系统采用 B/S 结构。按照国家星级宾馆标准化业务程序流式设计,会采用主流开发工具来开发,搭建比较稳定可靠安全的服务端来辅佐客户管理,并且还采用数据库oracel,会通过测试用例来达到测试效果。1.2国内外研究现状随着我国经济体制改革的不断深化和我国经济的快速发展,我国人民的收入不断提高,消费观念也有提高,对服务质量的要求也有很大的提高。各地把旅游业当作本 地经济发展的重要支柱之一。酒店作为人们食宿、娱乐、休闲的场所而得到了快速的发展。社会上也成立了各种类型,不同规模的酒店服务企业。如何为客户提供更加准确及时的服务,成为各个酒店竞争关键。所以酒店业务信息化建设就成为了客户衡量酒店提供商服务标准的一个准则,信息系统成为了基础。随着 Internet 技术的进一步发展和普及,不能很好的适应世界经济发展的形式和我国国民经济建设的需要,市场现有的产品化的酒店业务软件系统在不断发 展中的酒店的需求。基于Java的酒店管理系统的总体设计目标能够建立完善、高效、可靠的酒店业务信息系统,为酒店提供良好的信息环境。1.3研究意义 对酒店整个来说,对酒店经营状况起决定作用的是酒店的服务管理水平。如何利用先进的管理手段来提高酒店的管理水平成为酒店业务发展的当务之急。面对信息时代的机遇和挑战,利用科技手段提高酒店的管理无疑是一条行之有效的途径。虽然计算机管理并不是酒店管理走向成功的关键元素,但它可以最大限度地发挥准确、快捷、高效等作用,对酒店的业务管理提供强有力的支持。因此,采用全新的计算机网络和酒店业务管理系统,已成为提高酒店的管理效率,使作业人员与管理系统之间灵活互动,实现流畅的工作流衔接,帮助酒店有效地进行业务管理,释放最大价值。酒店业务管理系统在达到在节省人力资源成本的同时,可以提高业务效率,并能够及时、准确、迅速地满足顾客服务的需求。1.4研究内容和研究方法1.4.1研究内容本次研究开发程序,使用基于GUI图形界面开发。主要使用JAVA语言开发程序,主要研究:1.研究Java程序的编写,系统实现了:酒店业务的管理(划分为,登陆界面部分,房间管理界面部分,营销管理界面部分,系统设置界面部分)。 2. 研究oracle数据库表的创建以及一些语句的编写等。3. 研究Eclipse、PL/SQL、PowerDesigner等工具的使用。1.4.2研究方法1 指导老师的指导帮助。2 通过网络查阅相关资料,以及运用相关开发手册。3 用PL/SQL、PowerDesigner、Eclipse3.2等工具进行开发。4 数据库采用oracle 11g。5 同学间的交流和讨论6 用Java编码,反复调试程序,实现该项目的功能第二章 系统分析2.1可行性分析2.1.1 技术可行性分析在现有的技术条件和资金条件下,我开发小组完全可以再规定的时间内实现新系统的全部功能。2.1.2 经济可行性分析经济费用的预算包括:安装软硬件及有关设备的费用;系统开发费用;系统安装、运行、维护费用;人员培训费用;开发人员工资。安装软硬件及有关设备的费用不会太高,系统安装由开发人员完成,包括在开发人员工资内,至于运行和维护只要在后期付出少量的资金,就可以享受我们开发人员的服务。本系统操作简单方便,人机交互友好,易学易懂,所以培训时间会比较短,费用也不会很高。总而言之,这几项费用加起来,跟本系统产生的经济效益和社会效益相比,是微不足道的。2.1.3 操作可行性分析本系统界面,操作简单,操作人员只需要经过简单的培训即可流畅的使用本系统,所有具有操作可行性。2.1.4 其他影响系统开发的因素法律可行性:开发本系统是为了实现酒店的高效管理,并实现对决策的支持。在开发过程中完全自主开发,不会出现侵权问题。另外也会使用正版的软件来开发系统和运行系统。开发出的新系统的工作流程也是完全符合药品行业的标准,完全在法律的允许范围之内。2.2 需求分析2.2.1 用户需求说明对酒店整个来说,对酒店经营状况起决定作用的是酒店的服务管理水平。如何利用先进的管理手段来提高酒店的管理水平成为酒店业务发展的当务之急。面对信息时代的机遇和挑战,利用科技手段提高酒店的管理无疑是一条行之有效的途径。虽然计算机管理并不是酒店管理走向成功的关键元素,但它可以最大限度地发挥准确、 快捷、高效等作用,对酒店的业务管理提供强有力的支持。因此,采用全新的计算机网络和酒店业务管理系统,已成为提高酒店的管理效率,使作业人员与管理系统 之间灵活互动,实现流畅的工作流衔接,帮助酒店有效地进行业务管理,释放最大价值。酒店业务管理系统在达到在节省人力资源成本的同时,可以提高业务效率, 并能够及时、准确、迅速地满足顾客服务的需求。数据需求系统主要完成酒店从前台服务流程的管理到后台帐务管理的一整套管理功能,具体包括以下几个部分.一 营销信息管理 对酒店入住的客户进行管理,其中包括散户(普通客户)、vip客户。 客户信息录入:将客人信息录入该系统 客户信息查询:根据相关信息查询客户的相关信息 客户信息修改:修改系统内需要修改的客户信息 客户信息删除:删除客户信息二 房间信息管理 对酒店房间的管理,目前房间状态分为:可供、占用、预定,当点击房间开单时,即可录入客户信息。 房间信息录入:将客户的入住信息录入系统房间信息查询:查询客户住宿相关信息房间信息删除:客户入住信息注销后,将客户的入住信息删除 三 商品信息管理 系统需要对库存商品进行分类管理,用户可以对现有商品进行交易。本系统采用二级商品类目的方法,一级类目描述商品所属的大致类别,例如服务类,食品类,商品类,自定义费用;二级类目则在以及类目的基础上,对商品进行细致的划分。 商品信息录入:录入客户增加商品消费信息 商品信息修改:修改商品信息 商品信息删除:删除客户商品信息 商品信息查询:查询房间消费商品信息四 系统设置模块 整个酒店管理系统的中枢控制,对酒店房间的增删改查 增加房间:在现有房间类型基础上,增加新的房间,在重启系统后生效2.3 系统需求说明由于酒店涉及到的业务比较多,但由于技术、时间等种种原因,该系统的设计中只选择其中的一个主流业务来开发信息系统,因此“酒店管理系统”的系统边界就是该企业有关住房管理方面的业务,该企业内有关预约,入住,退房等住房管理业务都在该系统管理范围以内,其余与酒店住房无关的业务均属于该系统管辖范围以外。2.4项目开发环境及工具介绍 2.4.1 Eclipse简介目前,市场上计算机语言和开发工具有很多,但是Eclipse的以其稳定和与平台无关的特性,从众多编程工具中脱颖而出,成为很多Java程序员的首选。Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。虽然大多数用户很乐于将 Eclipse 当作 Java IDE 来使用,但 Eclipse 的目标不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C+、COBOL和Eiffel等编程语言的插件已经可用,或预计会推出。Eclipse是一个开发源码项目,它其实是Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括Oracle在内的许多 大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即可。2.4.2 PL/SQL简介 PL/SQL(Procedural Language/SQL)是一种过程化语言,属于第三代语言,它与C、C+、Java等语言一样关注于处理细节,可以用来实现比较复杂的业务逻辑。它允许SQL的数据操纵语言和查询语句包含在块结构(block_structured)和代码过程语言中,使PL/SQL成为一个功能强大的事务处理语言。在甲骨文数据库管理方面,PL/SQL是对结构化查询语言(SQL)的过程语言扩展。PL/SQL的目的是联合数据库语言和过程语言。PL/SQL的基本单位叫做一个区段,由三个部分组成:一个申明部分,一个可运行部分,和排除构建部分。 因为PL/SQL允许混合SQL申明和过程结构,因此可以在将申明发送到甲骨文系统去执行之前使用PL/SQL区段和副程序来组合SQL申明,没有PL/SQL,甲骨文需要就每次处理SQL申明,在网络环境中,这将影响交通流量,而且增加响应时间。PL/SQL区段只被编译一次并且以可运行的形式储存,以降低响应时间。2.4.3 PowerDesigner简介 PowerDesigner是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,它几乎包括了数据库模型设计的全过程。 利用PowerDesigner可以制作数据流程图、概念数据模型、物理数据模型,可以生成多种客户端开发工具的应用程序,还可为数据仓库制作结构模型,也能对团队设备模型进行控制。 它可与许多流行的数据库设计软件,例如:PowerBuilder,Delphi,VB等相配合使用来缩短开发时间和使系统设计更优化。第三章 概要设计概要设计主要是将需求分析进行细化,划分功能模块,以及采用的何种技术和设计思想以及数据库的设计。3.1功能模块3.1.1 酒店管理系统模块设计:房间管理模块: 预订房间管理、房间查询、退房管理。 前台服务员的主要职能是负责订房和退房,以及查询入住的客户信息。所有该角色只可以使用部分功能,包括预定管理、客户信息查询,入住管理,退房管理功能。营销管理模块: 分为普通客户和vip客户。 进行客户资料查询、新增客户信息,修改客户信息,删除客户信息,以及每位客户在酒店的消费。商品管理模块:商品分类为:服务类、商品类、自定义费用、食品类。 在房间开单后,可对该房间进行增加消费,或者在酒店外卖中,对外销售商品。系统设置模块:整个酒店管理系统的中枢控制,对酒店房间的增删改查 酒店中新增房间,即可在此模块中新增信息,在重启系统后生效。功能模块划分如图:图3.1 功能模块图3.2 设计思想以及框架3.2.1设计思想将整个系统按模块进行划分,采用多种设计模式,提高代码的可读性以便对代码进行修改和对功能的完善,降低类之间的耦合性。按照分层的思想来实现,是程序模块化。3.2.2框架1、MVC框架本系统采用的是MVC框架,模型层(Model)、视图层(View)、控制层(Controller)三层结构。1)、 模型(Model):通常Action类中主要处理控制功能,尽量不包括业务逻辑,而是把业务逻辑的处理委托给其他组件处理。2)、视图(View):视图层就是前台终端界面,我们把数据通过Action返回到视图层,显示在前台终端上。3)、控制器(Controller):MVC框架中,用一个总控制器,然后再根据请求的URL转到相应的业务Action里面去,在由业务Action去访问DAO层。2、使用框架的好处由于运用 MVC 的应用程序的三个部件是相互对立,改变其中一个不会影响其它两个,所以依据这种设计思想能构建良好的松偶合的组件,增大复用可能。对我们来说,控制器的也 提供了一个额外好处,就是可以使用控制器来连接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。给定一些可重用的模型 和视图,控制器就可以根据用户的需求选择模型进行处理,然后选择视图将处理结果显示给用户。3.3数据库设计3.3.1 ER图图3.2 ER图3.3.2 数据字典中文字段 英文字段 字段类型大小 约束备注表3.1: 客户等级表:CustomerGrade:中文字段名英文字段名数据类型 大小约束客户等级编号cust_idnumber(1)主键客户类型cust_typevarchar2(20)not null表3.2: 房间等级表:RoomGrade:中文字段名英文字段名数据类型 大小约束房间等级编号roomgrade_idnumber(1)主键房间类型roomgrade_typevarchar2(20)unique房间总数roomgrade_countnumber(2)not null钟点房价格roomgrade_timemoneynumber(4)房间床位roomGrade_bedcountnumber(1)房间半天价roomgrade_halfpricenumber(5)终点房的价格roomgrade_timemoneynumber(4)押金roomgrade_depositnumber(5)是否为钟点房roomgrade_hourroomvarchar2(2)房间费用roomgrade_pricenumber(5)not null表3.3: 房间信息表:RoomInfo:中文字段名英文字段名数据类型 大小约束房间编号room_idnumber(4)主键房间状态room_statevarchar2(20)not null是否为钟点房room_typevarchar2(2)入住的时间room_setTimedate退房时间room_outTimedate房间押金room_depositnumber(10)付费方式room_type_idvarchar2(20)打折比例room_discountfloat(2)入住人数room_countnumber(1)入住天数room_datenumber(10)房间等级编号roomgrade_idnumber(1)外键客户等级编号cust_idnumber(1)外键房间类型room_grade_typevarchar2(20)房间区域room_areavarchar2(10)房间电话room_phonenumber(10)表3.4: 会员等级表:VipGrade:中文字段名英文字段名数据类型 大小约束会员等级编号vipgrade_idnumber(12)主键会员类型vipgrade_typevarchar2(20)not null打折比例vipgrade_discountfloat(2)客户等级编号cust_idnumber(1)外键 表3.5: 会员信息表:VipInfo:中文字段名英文字段名数据类型 大小约束会员编号vip_idnumber(12)主键会员姓名vip_namevarchar2(20)not null会员身份证号vip_idCardnumber(20)会员电话vip_telnumber(20)使用时间vip_timedate卡状态vip_idTypevarchar2(20)登记时间vip_starttimedate会员性别vip_sexvarchar2(2)会员年龄vip_agenumber(3)vip 密码vip_passwordvarchar2(20)会员积分vip_integralnumber(10)当前状态vip_statevarchar2(10)消费金额vip_countnumber(10)备注vip_bzvarchar2(30)会员等级编号vipgrade_idnumber(12)外键房间编号room_idnumber(4)外键表3.6: 客户信息表:CustomerInfo:中文字段名英文字段名数据类型 大小约束客户编号customer_idnumber(12)主键客户姓名cust_namevarchar2(20)not null客户号码cust_telnumber(20)客户性别cust_sexvarchar2(2)客户年龄cust_agenumber(3)客户证件号码cust_idCardnumber(20)用户使用状态cust_idTypevarchar2(20)客户等级编号cust_idnumber(1)外键房间编号 room_idnumber(4)外键备注cust_reco rdvarchar2(20)表3.7: 部门信息表:DepartmentInfo:中文字段名英文字段名数据类型 大小约束部门编号depart_idnumber(10)主键部门类型depart_typevarchar2(20)部门人数depare_countnumber(20)表3.8: 员工信息表:StaffInfo:中文字段名英文字段名数据类型 大小约束员工编号staff_idnumber(10)主键员工姓名staff_namevarchar2(10)not null员工性别staff_sexvarchar2(2)员工年龄staff_agenumber(3)员工电话staff_delnumber(12)员工证件号码staff_idCardnumber(12)部门编号depart_idnumber(10)外键房间等级编号roomgrade_idnumber(1)外键表3.9: 用户信息表:User:中文字段名英文字段名数据类型 大小约束用户编号user_idnumber(10)主键登陆时间user_loadtimedate用户密码user_passwordvarchar2(20)not null用户名称user_namevarchar2(20)not null用户状态user_statevarchar2(20)超级用户IDuser_adminvarchar2(20)员工编号staff_idnumber(10)外键表3.10: 商品信息表:GoodsInfo:中文字段名英文字段名数据类型 大小约束商品编号ware_idnumber(10)主键商品类型ware_typevarchar2(20)是否需要服务员ware_needwaitervarchar2(10)表3.11: 消费表: Consume:中文字段名英文字段名数据类型 大小约束消费编号consume_idnumber(10)主键消费名称consume_namevarchar2(20)消费价格consume_countnumber(10)消费品数量consume_amountnumber(10)商品编号consume_ware_idnumber(10)表3.12: 消费信息表 ConsumeInfo:中文字段名英文字段名数据类型 大小约束消费信息编号consumeInfo_idnumber(10)主键消费信息数量consumeInfo_amountnumber(5)消费信息金额consumeInfo_countnumber(10)消费信息时间consumeInfo_timedate消费类型consumeInfo_typevarchar2(20)用户编号user_idnumber(10)外键房间编号room_idnumber(4)外键消费编号consume_idnumber(10)外键表3.13: 账单信息表:TentInfo:中文字段名英文字段名数据类型 大小约束账单编号tend_idnumber(10)主键普通客户编号cust_idnumber(20)vip客户编号vip_idnumber(20)账单金额tend_countnumber(20)账单时间tend_timedate房间结账时间room_datedate用户编号user_idvarchar2(20)房间编号tend_room_idnumber(20)表3.14: 预定信息表:DestineInfo: 中文字段名英文字段名数据类型 大小约束宾客姓名Destine_namevarchar2(30)宾客电话Destine_tel number(11)客户类型cust_typevarchar2(20)预定规格roomgrade_typevarchar2(20)预定编号Destine_idvarchar2(20)主键备注Destine_bznumber(5)预抵时间Destine_datimedate预离时间Destine_lintimeDate房间编号room_idnumber(5)外键第四章 详细设计4.1 项目主要业务模块4.1.1 登陆界面模块: 它进行安全保密工作,以确保合法人员才可进入进行相应的合法操作,避免非法人员进入而导致数据被盗或错误操作等非法操作。4.1.2 房间管理模块: 散客开单,顾客开单,收银结账 1、房间状态有:可供、占用、预定三种 2、当选中房间时,如果房间的状态为可供就会显示出开单的界面,如果房间的状态为占用就会显示出结账的界面4.1.3 营销管理模块: vip客户管理,协议客户管理 1、分为会员基本信息和来宾信息。 2、可查询正在入住的客户的消费信息 3、对对应的客户信息进行增删改查4.1.4 商品管理模块: 1、酒店外卖:对外面的客户进行一些商品的外卖服务 2、增加消费:房间增加消费,对商品的相关信息包括库存、单价等进行具体查询4.1.5 系统设置模块: 房间设置,服务生设置,商品设置,vip设置,客户设置,操作用户设置 对整个酒店的总信息进行操作,对应的操作会显示到具体的实现中来4.2 运行控制4.2.1 运行流程 1 进行系统登录该项系统运行主要由数据库登陆模块负责。由用户必须输入用户名和密码,在程序中会判断输入是否为空,为空会提出警告,提醒用户再输入,当接受到输入的数据后,系统的数据库管理模块会自动检验其用户名及密码的正确性,如果正确可进行主页菜单,如错误则需重新输入。2 进行系统主页进行菜单操作主页上会有功能菜单让其进行相应的选择。包括:散客开单、增加消费、预定管理、宾客结账、酒店外卖、营销管理、系统设置等项。其中散客开单、增加消费、宾客结账是先弹出对话框提示要输入的房间编号,当输入正确状态的房间后会弹出对应的界面,预定管理、酒店外卖、营销管理系统设置会直接弹出对应的界面共用户操作。用户可针对不同的需要而点击不同的菜单选项按钮,从而可进入不同的操作界面进行分别不同的操作。3 进入某个管理模块进行相应操作 在这里应分两部分介绍: A、如选择营销管理选项,那便会首先都会弹出一个客户信息操作界面,其中包括编辑的四大功能:添加、查询、修改、删除。这时,用户须选择不同的功能进入实际操作表单界面进行工作。 B、如用户选择的是进入某个管理模块的查询选项,则都会进入查询表单界面进行所需的相应操作。如不需再进行任何操作,则可按取消键。 Ps:当输入为空时点击查询按钮,查询的是所有的客户信息。4 退出相应的功能模块操作 在每个功能模块的各层操作中,均设有取消按钮,操作人员只需按此按钮便可依次地返回。5 退出整个系统4.2.2 测试本系统使用Java为开发语言,使用eclipse 为开发工具,首先设计了登陆界面(图1):登陆界面使用JLabel 以及JTextField,以及两个登陆和取消两个按钮图4.1 登陆界面当您操作错误时,我们会得到文本框中的信息与数据库对应的数据进行比较并且通过事件监听来返回一个相对应的JOptionPane提示。(1) 用户名为空(图4.2):图4.2 用户名为空(2) 当用户密码为空时,会弹出一个对话框来提示用户密码不为空(图4.3):图4.3 用户密码为空 (3)当用户名存在,但密码错误或者用户名错误时也会有相应的对话框来提示(图4.4):图4.4 用户不存在或密码错误登陆部分相关代码:public class LoginKeyLister extends KeyAdapter private Login login;public LoginKeyLister(Login login) this.login=login;public void keyPressed(KeyEvent e) String userName = login.getUserText();String password = FactoryLogin.getLoginDao().getPassWord(userName);int i=e.getKeyCode();if(i=10) if (.equals(userName) JOptionPane.showMessageDialog(null, 请输入用户名); else if (.equals(login.getPassword() JOptionPane.showMessageDialog(null, 密码错误); else if (login.getPassword().equals(password) LoginDao dao=FactoryLogin.getLoginDao();dao.getUserLoadtime(userName);Vector leftData=new Vector();int roomSum=dao.getRoomSum();int roomKeGong=dao.getRoomType(可供);int roomZhangYong=dao.getRoomType(占用);int roomYuding=dao.getRoomType(预定);leftData.add(roomSum);leftData.add(roomKeGong);leftData.add(roomZhangYong);leftData.add(roomYuding);MainFrame.getMainFrame().getleftRoomData(leftData);MainFrame.getMainFrame().setUserName(userName);MainFrame.getMainFrame().setVisible(true);login.dispose(); else JOptionPane.showMessageDialog(null, 用户名不存在或密码错误); 当输入对应账号和密码,输入正确后会进入主界面(图4.5)。主界面将面板分为北面的功能面板和中间的分隔面板:通过实现部分的sql语句对房间状态进行查询并且返回到房间状态面板中的文本框和总房态面板的文本框中。图4.5 主界面小功能模块为菜单项(图4.6)、系统状态栏,菜单项已使用了事件监控,当点击相应的菜单项时会引发不同的事件,系统状态栏使用了OpenSwing中的一个组件JStatusBar;图4.6 菜单栏北面面板放置本系统中目前所实现的使用功能模块,分为:散客开单,增加消费,宾客结账,酒店外卖,预定管理,营销管理,系统设置。分隔面板将主面板中间分隔为左右两部分,右边的选项卡面板以对应的房间类型分类,房间类型下是对应的房间编号按钮(图4.7)。图4.7 房间编号按钮当点击某个房间按钮时,系统会根据点击的房间迅速在数据库中查找它的状态,目前本系统的房间状态分为三方面:可供、占用、预定,点击的房间不同,会根据对应的房间状态来弹出界面。当房间为可供(图4.8)时:图4.8 房间可供时显示顾客开单当有客户来到酒店开单时,可在顾客开单面板中的将客户信息写入,宾客信息有普通客户和vip客户,若是在客户类型的下拉列表中选择普通客户信息,则手动写入客户信息(图4.9):图4.9:宾客信息若是选择的不是普通客户,则弹出vip客户信息的界面(图4.10):图4.10 vip客户信息面板点击对应的按钮即可完成相应的操作,当选中某个客户时,即可将客户信息写入顾客开单面板中的宾客信息(图4.11)中,点击确定则该房间的状态就转为占用(当再次开单且此客户未结账时,再次进入vip客户信息中,此vip客户的信息不再显示,直至此vip客户退单):开单相关部分代码:public class EngrossDialogAction implements ActionListener private FactoryHotelRoomIdInfo factory = FactoryHotelRoomIdInfo.getFactoryHotelRoomIdInfo();public void actionPerformed(ActionEvent e) HotelRoomInfoDao dao = factory.getHotelRoomInfoDao();EngrossDialog pane=EngrossDialog.getEngrossPane();/点击确定后,将得到的信息收集if(确定.equals(e.getActionCommand() Vector roomInfo=pane.queryDatas();/得到房间信息Vector custData=pane.getCustInfo();/得到宾客信息if(普通客户.equals(custData.get(0)dao.engrossPaneCustDatas(custData);elsedao.engrossPaneVIPDatas(custData);int CustID=dao.findCustId(custData.get(0)+);roomInfo.add(CustID);boolean flag = dao.engrossPaneRoomDatas(roomInfo);if(flag) /如果数据库将数据存储,转换按钮,再点击时进入结账页面elseJOptionPane.showMessageDialog(null,连接数据库出错,请稍后再试);LoginDao loginDao=FactoryLogin.getLoginDao();Vector leftData=new Vector();int roomSum=loginDao.getRoomSum();int roomKeGong=loginDao.getRoomType(可供);int roomZhangYong=loginDao.getRoomType(占用);int roomYuding=loginDao.getRoomType(预定);leftData.add(roomSum);leftData.add(roomKeGong);leftData.add(roomZhangYong);leftData.add(roomYuding);MainFrame.getMainFrame().getleftRoomData(leftData);pane.dispose();elsepane.dispose();图4.11 选中某个客户时,即可将客户信息写入顾客开单面板中的宾客信息同样的,这一操作也可以选择点击功能面板中的“散客开单”按钮(图4.12):图4.12 点击“散客开单”按钮后弹出该界面输入要开单的房间且房间状态为可供的房间编号即可,如果输入错误即有对应的错误窗口弹出。当占用的房间要增加消费时,可点击功能面板中“增加消费”按钮(图4.13),输入要增加消费且房间状态为占用的房间编号:图4.13 点击“增加消费”按钮后弹出界面输入错误会有对应的错误窗口弹出,正确则会进入增

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论