版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE4PAGE第一章绪论1.1课题的研究背景及意义随着国家互联网信息化的发展,互联网经济信息化也带来了一个“大数据”时代。近几年,旅游业利用互联网信息化管理的方式也趋于普及,宾馆、酒店等服务住宿行业因国内同行的扩展和国际服务贸易的往来,也逐渐意识到服务行业的竞争压力。现今,也依靠着互联网信息化开展自己的个性经营和管理特色。国内、国际名优企业的发展,一定程度上刺激了国内服务行业的活力,而互联网信息化的便利与发达使得宾馆、酒店等服务行业集团化的进程加快。而这也预示着国内传统的服务行业,将摒弃传统信息管理的模式,也加入到国际互联网信息化的潮流中。信息化的发展,满足了酒店服务管理行业信息量大、数据准确、管理全面等特点。对消费者来说,信息化的管理也满足了他们对服务高质量的要求。因为酒店管理系统的信息化,能够更快速准确的获取消费账单信息。对于酒店管理者来说,信息化的加入,不仅可以做到提高工作效率、降低劳动力成本,还可以通过“大数据”提前了解和提供消费者对服务的最新要求与期待。随着“大数据”时代的发展,很多刚萌生的酒店管理企业也渐渐加入到了信息化的大潮中,逐渐创建了自己的酒店管理系统。酒店级别水平分不同的层次,酒店管理系统当然也就由简到繁。因此,服务水平较低的酒店应当制定属于自己管理系统,而不能一昧的借鉴高档酒店的管理系统模式。1.2酒店管理系统的发展现状1.2.1研究现状在20世纪70年代早期,外国酒店管理系统处于萌芽状态。80年代时,由于技术逐渐达到一定标准,并且功能基本完成,酒店管理系统模式已基本定型。发展至今日,基本形态的酒店管理系统已不能满足国外服务行业的发展,整个系统逐渐向个性化方向完善。反观国内,80年代初,国内的酒店管理系统在清华大学自动化系的金国芬教授、西安交大和浙江省计算技术研究所带领下刚刚起步。80年代中后期,在国际贸易互联网的推动下,进了较为先进的计算机系统和酒店管理模式,吸收和借鉴了国外管理系统的精华,再结合我国服务行业的市场现实状况,刺激了我国酒店管理行业的技术发展。到了90年代中后期,随着计算机的更新换代,酒店管理模式的服务系统也逐渐广泛流行起来。至此,我的酒店管理系统也到达了一定的水平高度和全新时代。创新的系统平台、个性的软件功能造就了新的系统特点。国内酒店IT技术发展现况:系统性需求较为模糊,项目工程性较强,导致了产品化不足开发成本较高,新产品的研发缺乏原动力的支持。产品推广依旧依赖着传统的宣传手段和政府的支持。这不仅不利于企业对于产品的质量进行控制,还在某些方面同时阻抑了新技术的更新和引进,并且还会阻碍产品的特色创新。要以客户需求为导向,将刺激产品活力、严把质量关,追求创新卓越作为经营管理理念。为后来兴起的管理企业打下夯实的基础,满足客户新的需求。将带动低端服务管理行业作为企业社会责任感的提升机会,为社会信息化产业的高速发展添砖加瓦。1.2.2现行研究存在的问题及解决办法进行的系统存在较大的漏洞,比如在业务人员较少的情况下有作业量大、数据传递迟缓、对数据的统计和运算过程中也会出现错误计算、对于管理历史账务的查询也不够便捷,以及业务流程管理松懈等缺点。这些实质上的弱点,将会对酒店管理服务中信息的产生、传输、加工与挖掘、分析、利用方面造成信息滞后。这些缺点不能满足现阶段企业管理与业务发展的要求,企业形象也造成些许影响。这也是我们正式提出新系统的直接原因。存在的主要问题酒店软件产品稳定性有待提高:中国的酒店服务行业在发展的这20多年间,全局发展也逐渐趋于成熟,但是与国外的服务行业相比,还是存在着些许差距。中国酒店行业的信息化管理体制就大体而言由国外引入,这也就不可避免的将国外信息系统的糟粕引进入国内行业当中。我们只有取其精华,去其糟粕,才能更好地发展国内的酒店管理行业的信息化。此外,引进国外信息化系统很大一部分原因就是国内软件提供商通盘考虑性较差,体现在对开发软件的修补功能效率低。国内软件提供商对客户需求的一昧服从,使得软件提供商做出了很多稳定性较差,缺乏统一性的信息化系统,这些较为零散的信息化系统,为后期的信息系统维护带来了巨大的困难。这也是了系统的稳定性起伏较大的原因。软件不统一:由于国内酒店服务管理行业的发展扩大,各个酒店企业对于应用软件也有不同的要求,对软件的供应商也更加严格。就一家酒店而言,由于各部门较为分散,在使用不同的平台软件时系统操作不同,需要多花工作时间来进行学习与研究,这样使得员工的学习成本较高,也间接造成工作效率低下。唯一的解决办法就是使得信息系统标准化。将酒店的信息系统标准化,酒店就可以避免消耗大量的时间与成本。另外,对于酒店软件系统的选型。酒店管理企业不仅要把关软件系统的质量问题,还要研究系统的功能和思量软件的价格。一个合适的信息系统,可以满足客户的需求,提高客户对服务质量的满意度,酒店管理行业来说,是非常必要的。解决办法遵守系统建设三原则的方法。为了研究更为繁杂的系统,提供更加科学的引导措施,研究人员们在建筑、机械等繁琐的工程技术积攒了渊博的知识和足够的经验。其主要原则如下:目标优化原则:对于简单的系统利用这一原则找到了最优解,就是所谓的目标优化原则。以复杂系统为例,我们可以利用这一原则求到满意解。需要注意的是,此原则不仅仅只是求最优解的普通原则。分解一协调原则:将复杂的系统分解成子系统逐步进行解决分化。在解决子系统的问题时,比如那些亟待解决,并且较为棘手时,必须要站在整体功能和目标来协调各个子系统的行为功能,这样才可以确保实现整体功能的目标。整体性原则:系统内部是互相关联作用的,是各个部分构成的组合体。必须从整体和部分的宏观方面来考察系统中的各个关系,要做到正确处理系统各部分之间的相互关系和作用。上述我们所说的三原则是在系统方法中处理复杂系统的三个关键原则。由于系统操作在现实生活中存在着诸多亟待解决的问题与漏洞,我们只能根据这些主要原则及其他部分原则,在他的指导下,找到各个问题的特点,并且一同找到求解的具体方法。1.3本设计的主要工作及组织结构开发一个综合性的管理系统,就要将中小型酒店的管理模式与信息化技术互相联系起来,并且详细地分析酒店的企业文化和中小型酒店业务的基本特征。本文具体主要描述该系统开发各个子系统的功能,具体结构如下:第一章绪论。本章的内容主要还是讨论开发酒店管理系统的意义以及现今的系统发展与存在的问题,并且还对本文的主要工作进行了说明。第二章相关技术的介绍。本章主要是对应用到开发本系统最重要的技术、数据库进行了阐述。第三章系统分析。在本章中,主要是对开发此系统的需求还有系统的可行性进行了解析,并且在最后详细的阐述了此系统的总体结构设计和数据库的设计。第四章主要功能实现。本章对系统的各个子功能进行了设计并详细介绍了子功能的操纵,最后还对本章进行了小结。第五章系统测试与分析。对每个功能模块进行了详细的测试。第六章结论。对本文的工作进行了详细的工作总结。PAGE33PAGE第二章相关技术介绍2.1Java简介Java是由JamesGosling于1991年从SunMicrosystems(Sun)创建的一种编程语言。Java的目的是编写一个程序然后再多个操作系统中运行它。Java的规范定义由编程语言、编译器、核心库和JVM组成。Java运行时允许软件开发人员使用除Java编程语言之外的其他语言编写程序代码,Java编程语言仍在Java虚拟机上运行。Java平台通常与Java虚拟机和Java核心库相关联。Java语言设计具有以下属性:1、独立于平台:Java程序使用Java虚拟机作为抽象,不直接访问操作系统。这使Java程序具有高度可移植性。Java程序可以在所有支持的平台上不加修改地运行。2、面向对象的编程语言:Java中处理原始数据类型之外的所有元素都是对象。3、强类型编程语言:Java是强类型的,例如,必须预先定义所使用的变量的类型,并且对其他对象的转换是相对严格的,例如,在大多数情况下必须由程序员完成。4、解释和编译语言:Java源代码被转换为字节码格式,不依赖于目标平台。这些字节码指令将由Java虚拟机(JVM)解释。5、自动内存管理:管理内存分配和解除分配以创建新对象。该程序无法直接访问内存。所谓的垃圾收集器会自动删除没有活动指针的对象。Java发行版通常有两种版本,JRE由JVM和Java类库组成,包含启动Java程序的必要功能。JDK由Java编译器、JVM和Java类库组成,包含创建Java程序所需的开发工具。Java源文件是作为纯文本文档编写的。程序员通常在集成开发环境IDE中编写Java源代码以进行编程。在某些时候,程序员(或IDE)会调用Java编译器。Java编译器创建字节码指令。这些指令存储在.class文件中,可以由JVM执行。JVM会自动重新收集其他对象未引用的内存。Java垃圾收集器检查所有对象引用并查找可以自动释放的对象。虽然垃圾收集器使程序员无需显式管理内存,但程序员仍然需要确保他不会保留不需要的对象引用,否则垃圾收集器无法释放相关的内存。保持不需要的对象引用通常称为内存泄漏。2.2MySQL简介随着InternetWeb2.0技术的发展,传统的关系型数据库被广泛应用于信息管理系统中。但是,当我们需要查询大量海量数据时,尤其是使用多表连接查询时,它是没有效果的。当前MySQL是世界上最流行的开源数据库服务器,拥有超过200万的安装和客户,包括Yahoo!,MP3.com,摩托罗拉和NASA。现在广泛可用的MySQL4.0是一个期待已久的数据库管理系统,包括新的表定义文件格式,复制的增强和更多的全文功能搜索。MySQL具有多种功能,无论是在硬件,虚拟机还是在云中运行,都可以帮助您保护系统免受中断。MySQL具有以下的特点:1、易于使用。只要学习SQL的基本知识。只需几个简单的SQL语句即可构建MySQL并与之交互。2、具有安全性。MySQL包含一个可靠的数据安全层,密码会在MySQL中进行加密,可以保护敏感数据免受入侵者的侵害。3、MySQL遵循客户端/服务器架构。一个数据库服务器(MySQL)可以在多个系统上。4、具有可扩展性。MySQL几乎可以处理任何数量的数据,最多可达5000万行甚至更多。5、MySQL可以在许多操作系统上运行。6、MySQL允许事务回滚,提交和崩溃恢复。7、由于其独特的存储引擎架构,MySQL更快,更可靠,更便宜。8、MySQL支持大量嵌入式应用程序,这使得MySQL非常灵活。9、MySQL使用触发器,存储过程和视图,使开发人员可以提高工作效率。2.3SSM框架概述SSM框架是Spring+SpringMVC+MyBatis的缩写,是当前可以用于构建大型企业级应用程序系统的流行框架。SSM框架不仅掌握了各个框架的思想中枢,还精简了软件开发的难度和有很强的复用性。2.3.1Spring简介spring框架负责业务层,这是类和类之间的关系。它不再通过类连接到类。相反,它由配置类来管理。Spring由内部组件对象通过反射配置。Spring是一个容器,容器中的类具有这些功能和服务。IOC动态注入,这样创建对象就不需要新的,使用java中的反射(反射是动态创建运动,调用无参数构造函数)自动生成。spring在运行时,用xmlspring配置文件动态创建/调用对象。AOP面向方面编程。用于监视某种类型的对象(调用此类对象的特定方法之前和之后,调用指定的模块),实现模块扩展的功能。2.3.2SpringMVC简介SpringMVC用于任何Web应用程序的开发。它是非常强大且良好的分层体系结构,适用于生产和配置。与其他Web框架(如Struts)集成是非常灵活的。在SpringWebMVC中,DispatcherServlet类充当前端控制器。它负责管理SpringMVC应用程序的流程。@Controller注释用于在Spring3中将类标记为控制器。@RequestMapping注释用于映射请求url。并将其应用于该方法。SpringMVC执行流程:1、DispatcherServlet将从客户端收到第一个请求。2、DispatcherServlet将获得HandlerMapping的帮助,并了解与请求相关联的Controller类名。3、因此请求转移到Controller,然后控制器将通过执行适当的方法处理请求,并将ModelAndView对象(包含Model数据和View名称)返回给DispatcherServlet。4、现在,DispatcherServlet将模型对象发送到ViewResolver以获取实际的视图页面。5、最后DispatcherServlet将Model对象传递给View页面以显示结果。2.3.3MyBatis简介MyBatis是一个开源,轻量级的持久型框架。它是JDBC和Hibernate的替代品,通过将SQL语句打包在XML配置文件中,映射与应用程序逻辑分离。在MyBatis中,可以通过配置多个环境元素来连接到多个数据库。为了配置环境,我们提供了两个子标记,即transactionManager和dataSource。2.4运行环境和开发工具2.4.1硬件环境PC电脑一台2.4.2软件环境操作系统:Windows系统开发工具:Eclipse应用服务器:Tomcatv8.0数据库服务器:MySQL系统分析3.1需求分析一般酒店流程从顾客预订到入住,加上在酒店的一系列消费,我设计的系统就是为了帮助工作人员管理顾客的信息和消费情况,方便快捷的记录与处理数据。图3-1一般酒店业务流程图由于计算机拥有庞大的储存功能和对数据的解决能力,所以在系统改造方面,可以为操作员提供方便快速的服务,并且操作员的工作成果也能得到提高,避免因人工处理造成的复杂与过失。它还可以准时无误的反馈酒店的经营状况,为了提高酒店的服务品质,实现酒店服务系统一体化必须要依靠宏大的数据分析技能,它可以为酒店的服务品质提供说明的能力,从而提高酒店的收益。对于中小型酒店企业而言,都是将商品消费、服务消费和房间消费作为酒店收益的主要由来。要想实现酒店业务的信息化管理,就必须要在计算机系统中将以上的消费方式集成在起来。如图3-1一般酒店业务流程图所示,一个完整的业务流程,包括顾客住酒店的登记,酒店商品消费,住房费用以及最后在酒店柜台办理的退房手续。这是一个酒店管理系统最完整的流程也是应当具备的基本功能。因此,本系统的业务需求应包括:完成登录模块,用于验证是否是本酒店的业务操作员;做到系统的主界面简洁,包含系统的各个功能;能够实时快速查询房间的动态和旅客的信息;实现对房间和商品进行管理与旅客的信息登记;完成旅客预订登记、入住、消费、换房和结账的酒店基本流程;实现登记旅客的消费情况并将消费金额自动加入到旅客住房的总金额中;能对酒店的经营财务状况进行分析及总结。3.2可行性分析进行可行性研究,就是要将解决问题的成本最小化。想要实现成本最小化,必须要做到,正确判断,原定系统规模和目标是否能够实现,要做到投资系统开发的收益最大化。所以我们进行可行性研究实际上就已经压缩的简化了系统分析和设计的成本,利用计算机技术对其的可行性进行了较为系统和高层次的分析和设计。系统分的可行性分析主要包括技术上的可行性,操作上的可行性和经济上的可行性。3.2.1技术上可行性信息化技术在现今社会中得到了发展快速,在其领域中得到了一定的成就。并且该系统所使用的Java语言技术有很多优点,其功能非常强大,简单易用且敏捷方便,Java技术可与现有的流行框架与数据库结合起来广泛应用,对本系统的开发供应了技术上操作方法。3.2.2操作上可行性这个酒店管理系统拥有简洁明了的管理页面、操作便捷、使用感受可靠、易于维护等特点。管理人员只需对系统进行简单的学习就可熟练操作管理系统。从时间成本方面,可谓是从很大一部分程度上实现了节约。因此,我们认为该系统的开发具有可行性。3.2.3经济上可行性本酒店管理系统运行的只需一台安装了Windows系统、Eclipse、MySQL的电脑即可。软件应用系统可以给酒店带来经济和社会效益。酒店所涉及的成本只有购买软件设备和操作维护人员的费用,还有系统运行时的电费等。经济效益:及时获取信息,减少决策失误;扩大服务范围,增加收入;改进了服务,增加了顾客的信任,增强了酒店的竞争力;提高工作效率,减少工作人员。社会效益:提高工作效率,减少顾客等待时间;提高工作效率,减轻工作人员的劳动;改善了工作条件。所以通过技术、操作和经济这三个方面的探讨,该系统是有开发的可行性。3.3总体设计3.3.1系统功能模块设计系统功能策划的主要任务是建造系统模块结构。系统的功能要能使操作员操作方便,减轻操作员的负担,还要有较为完善的规范,具体的功能需要有。该系统主要由以下功能模块组成,功能模块内还有各个子功能。系统功能如图3-2图3-2酒店管理系统结构图3.3.2层次设计MVC是软件应用程序体系结构的模式。它将应用程序分为以下组件:model模型用于处理数据和业务逻辑的;controller控制器用于处理用户界面和应用程序的;view视图用于处理用户界面对象的图形。这样的分成组件会导致用户请求按照以下的方式处理:浏览器(在客户端上)将页面请求发送到服务器上的控制器。控制器从模型中检索所需的数据以响应请求。控制器将检索到的数据提供给视图。呈现出视图并将其发送回客户端以供浏览器显示。将软件应用分成这三个不同的组件是一个好主意,因为它易于维护,组件之间的依赖性低,对一个组件进行更改不会影响到另一个组件,而且它还有复用性,多个视图可以重用模型。3.3.3数据库总体设计酒店管理系统的开发建立一个属于自己的数据库是必不可少的,这次我选用MySQL数据库作为该系统的数据库。数据库的工作是对数据的保存和保护。数据库结构的设计直接影响应用系统的效率和实现的有效性。良好的数据库会削减不必要的人力资源和材料资源。系统数据库名为grogshop,包括12个数据表,分别是属性表、属性详情表、商品表、消费详情表、押金表、旅客信息表、预定表、接待对象表、房间表、住宿登记表、住宿登记详情表、管理员信息表。表3-1属性表字段名字段类型是否允许为空字段描述idint否属性idattributeNamevarchar否属性名称表3-2属性详情表字段名字段类型是否允许为空字段描述idint否详情属性idattributeIDint否属性idattributeDetailsNamevarchar否详情属性名称表3-3商品表字段名字段类型是否允许为空字段描述idint否商品idcommodityTypeID int否商品类型iduOMIDint否计量单位idcommodityNamevarchar否商品名称salePricevarchar否售卖价格表3-4消费详情表字段名字段类型是否允许为空字段描述idint否消费idstayRegisterIDint否住宿登记idcommodityIDint否商品idconsuptionNumbervarchar否消费商品数量consumptionMoneyfloat否消费金额consumptionTimedatetime否消费时间表3-5押金表字段名字段类型是否允许为空字段描述idint否押金idstayRegisterIDint是住宿登记idpayWayIDint是支付类型idregisterTimedatetime否登记时间deposit float否押金金额表3-6旅客信息表字段名字段类型是否允许为空字段描述idint否旅客idpapersIDint否证件类型ideducationDegreeIDint否文化程度idgenderIDint否性别idpassengerLevelIDint否旅客级别idnationIDint否民族idthingReasonIDint否事由idnamevarchar否旅客姓名paperNumbervarchar否证件号码birthDatedatetime是出生日期licenceIssuingAuthortyvarchar是发证机关unitsOrAddressvarchar是单位或住址papersValiditydatetime是证件有效期professionvarchar是职业whereAreFromvarchar是起始地whereToGovarchar是目的地contactPhoneNumbervarchar是联系电话remarksvarchar是备注表3-7预定表字段名字段类型是否允许为空字段描述idint否预订idroomIDint否预订房间idpredetermineTargetIDint否房间类型idpassengerIDint否预订旅客idpayWayIDint否支付类型idpredetermineStateIDint否预订状态idarriveTimedatetime否预订到达时间depositfloat否预订押金金额predetermineDayvarchar否预订天数remindint否预订状态表3-8接待对象表字段名字段类型是否允许为空字段描述idint否接待对象idtargetTypeIDint否对象类型idprincipalvarchar否主要人teamNamevarchar否团队名称teamCodevarchar否团队编号registerTimedatetime否接待时间contactPhoneNumbervarchar否联系电话表3-9房间表字段名字段类型是否允许为空字段描述idint否房间idguestRoomLevelIDint否客房等级roomStateIDint否房态idroomNumbervarchar否房间号roomAmountvarchar否床位数standardPriceDayfloat否标准房价/天standardPricefloat否标准房价/时maxDurationvarchar否时长限制firstDurationvarchar否首段时长firstPricefloat否首段价格表3-10住宿登记表字段名字段类型是否允许为空字段描述idint否住宿登记idpredetermineIDint是预订idrentOutTypeIDint否出租方式idroomIDint否房间idpayWayIDint否支付类型idbillUnitIDint否结账单位idpassengerTypeIDint否旅客类别idrecevieTargetIDint否接待对象iddeputyIDint是副idisBillIDint否结账状态registerTimedatetime否登记时间stayNumbervarchar否住宿天数或小时sumConstfloat否总费用changingRoomNumbervarchar是换房次数changRoomMoneyfloat是换房金额remarksvarchar是备注payTimedatetime否结账时间changRoomTimedatetime是换房时间remindint否换房提示表3-11住宿登记详情表字段名字段类型是否允许为空字段描述idint否住宿登记细节idstayRegisterIDint否住宿登记idpassengerIDint否旅客id表3-12管理员信息表字段名字段类型是否允许为空字段描述idint否管理员iduserNamevarchar否用户名passwordvarchar否用户密码3.3.4界面设计人与机器之间是通过页面设计实现信息的传递和交换的。近年来,人机界面设计和开发逐渐成为人们和计算机最直接的沟通方式,这也是信息技术迅速发展的结果。使得人机界面和开发成为国际计算机领域最活跃的一部分。在进行网页设计和软件设计的时候,必须要先明确使用者的使用感受,站在用户的角度上来考虑用户体验。在进行网页设计和软件设计之前,必须要对用户的需求进行了解,需要提前知道用户对软件和页面最新的需求和期望。在进行网页设计的时候,只考虑用户的视觉感受远远不够,使用感受也至关重要。比如用户主体不同,由于生理上的缺陷所造成的视觉听力障碍,影响到他们对人机界面的感受程度。因此弥补软件设计中例如语音障碍、语音迟钝等缺陷至关重要。还有一部分用户在使用计算机时希望操作页面能更为便捷,更为简单。现如今计算机机器的配置也层出不穷,包括主板、显示器、显卡、CPU、网卡等也会不同。一般的设计者往往会忽视这些差别,导致设计出的页面在不同机器上会造成交错。用户可以从以下几方面轻松的进行操作:1、文字可阅读性强,言简意赅。2、颜色搭配合理,并且略显成熟严肃。3、运行速度合理,该软件能快速的响应操作员操作。4、创新的理念,引导了用户的思维。5、方便操作,减少疑惑。6、能使人拥有新鲜感的个性主题。7、布局设置合理,可以有效地减轻视觉疲劳。主要功能实现本次毕业设计开发工具选用的是Eclipse,开发语言是Java,数据库选用MySQL数据库。该程序是建立在MVC三层结构基础之上。本系统基于B/S(浏览器/服务器模式)结构,采用结合Java、SSM、J2EE等技术模式进行开发,在底层使用SQL数据库管理系统实现。根据需求分析和设计,该系统总共分为登录界面、数据视图、房间管理、住宿管理、旅客管理几个模块,需要完成登录、主界面、房间信息、商品信息、旅客信息、客房预订、更换房间、消费信息、结账、财务统计等功能。4.1连接数据库JDBC是能帮助我们连接到数据库并且能对数据库执行SQL语句。JDBC提供了一组接口,它是Java开发人员和数据库提供者之间的契约。使用JDBC,首先要获取数据库连接,再对连接的数据库执行查询并得到结果,最后处理收到的结果。实现过程如下:driverClassName=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/grogshop?useUnicode=true&characterEncoding=utf-8username=rootpassword=123456validationQuery=SELECT14.2主要功能的实现4.2.1系统登录界面系统登录界面简洁明了,操作员可以输入正确的用户名和密码进入到酒店管理系统中对酒店进行管理,用户名选项为数据库中已经存在的用户名,所以只需选择相应的用户名即可,如果输入的信息不正确,用户名和密码的对话框则会清空。如图4-1。图4-1系统登录界面实现的主要代码如下:@RequestMapping("/tologin") publicStringtologin(){ return"/login/login"; }@RequestMapping("/tomain") publicModelAndViewtomain(UserPouser){ ModelAndViewmv=null; doublezongFeiYongOne=0; doublezongFeiYongTwo=0; UserPou=userService.selectLogin(user); List<StayRegisterPo>list=stayRegisterService.selectAll(); for(inti=0;i<list.size();i++){ if(list.get(i).getReceiveTargetID()==2){ zongFeiYongOne+=list.get(i).getSumConst(); }else{ zongFeiYongTwo+=list.get(i).getSumConst(); } } if(u!=null){ mv=newModelAndView("/main/main");//输入的用户名和密码与数据库中的一致,则进入主界面 }else{ mv=newModelAndView("/login/login");//若输入的用户名和密码与数据库中保存的数据不匹配,就会重新加载登录页面 } mv.addObject("zongFeiYongOne",zongFeiYongOne); mv.addObject("zongFeiYongTwo",zongFeiYongTwo); returnmv; }4.2.2系统主界面进入主界面后,就能看到酒店的收益金额折线图,可以一目了然的知道各个月份的收入情况,散客与团队所占收入的份额,点击右上角的符号即可进行对数据表的备份;也可以对酒店进行日常的管理,房间管理、住宿管理、财务管理、旅客管理。如图4-2是酒店管理系统的主界面图4-2酒店管理系统的主界面4.2.3房间信息管理功能在使用房间管理之前,酒店的操作员要按照酒店的条件设置房间,首先单击主菜单中"房间管理”的模块选项,然后再点击"客房设置”,便可设置房态。如图4-3。房间管理系统可通过不同的颜色来区分不同的房间状态,使得操作员更直观的了解各个房间的状态。“新增”按钮:用来增加房间。房间可依照酒店的需求进行编号,比如编号的号码中可以有楼层号、房号。客房等级按用户设定的标准进行划分,客房等级划分有单人普通房、标准间,二人普通房、标准间,豪华间,会议室和总统套房,点击“客房等级”单元格便可在列表窗口中选择客房等级。如图4-4。“修改”按钮:点击一条数据进行房间的修改。“删除”按钮:用于删除不需要的房间。图4-3客房设置界面图4-4添加新客房的界面钟点房价设置:时长限制(小时)允许按钟点出租的最大时长,如果按钟点房租房的旅客住宿时间大于时长限制,则系统自动按全日租的房价计算住宿费。首段时长(小时)如果按钟点房租房的旅客住宿时间小于等于首段时长,则旅客住宿费=首段价格;如果旅客住宿时间大于首段时长,小于时长限制,则旅客住宿费=首段价格+(住宿时长-首段时长)×(首段后房价/小时)。
如果用户只需要按钟点数×(房价/小时)计算钟点房住宿费,请将
首段时长
和
首段价格
设置为零。房态的种类由系统定义,如表4-1:房态房态说明空房表示空房自用房表示自用的房间预订表示该房间已被预订待清洁表示旅客结账后房间需要清洁待维修表示客房内物品损坏需要维修不可用表示不可接待旅客的房间满表示该房间有旅客入住表4-1房态种类模糊查询:该系统提供有关客房的查询,输入房间号查询相关房间的信息。实现的主要代码如下://分页和模糊查询 @RequestMapping("/tolist") publicModelAndViewlist(HttpServletRequestrequest,IntegercurrentPage,Stringtxtname){ ModelAndViewmv=null; mv=newModelAndView("/roomset/roomset"); Page<RoomSetPo>vo=newPage<RoomSetPo>(); if(currentPage==null){ currentPage=1; }elseif(currentPage==0){ currentPage=1; } if(txtname==null) { txtname=""; } vo.setCurrentPage(currentPage); vo=this.roomSetService.pageFuzzyselect(txtname,vo); mv.addObject("list",vo); mv.addObject("txtname",txtname); returnmv; }4.2.4商品信息管理在商品管理中的商品可根据酒店的需求进行订购。货物清单也用于房间管理系统中,并且在登记旅客使用时直接从商品清单中选择商品。如图4-5。“新增”和“删除”按钮:根据酒店的供货情况对商品进行添加及删除,商品的类别有饮料类、餐饮类、食品类、烟酒类及人为损坏类。如图4-6是添加商品的界面。“修改”按钮:点击某件商品进行修改其属性。图4-5商品信息管理界面图4-6商品添加的界面模糊查询:该系统还支持对商品信息进行查询,在搜索栏里输入商品的关键词即可查到该商品的有关信息。实现的主要代码如下://分页和模糊查询 @RequestMapping("/tolist") publicModelAndViewlist(HttpServletRequestrequest,IntegercurrentPage,Stringtxtname,IntegercommodityTypeID){ ModelAndViewmv=null; List<AttributePo>listOne=attributeService.selectCommodityType(); mv=newModelAndView("/commodity/list"); Page<CommodityPo>vo=newPage<CommodityPo>(); if(commodityTypeID==null){ commodityTypeID=16; } if(currentPage==null){ currentPage=1; }elseif(currentPage==0){ currentPage=1; } if(txtname==null) { txtname=""; } vo.setCurrentPage(currentPage); vo=modityService.pageFuzzyselect(txtname,commodityTypeID,vo); mv.addObject("list",vo); mv.addObject("txtname",txtname); mv.addObject("listOne",listOne); mv.addObject("commodityType",commodityTypeID); returnmv; }4.2.5旅客信息管理在“旅客信息管理”模块中可以查询旅客的信息,输入需要查询旅客的姓名便可查询到该旅客的信息。“旅客信息”按钮的界面为散客的信息,“接待对象”按钮的界面为团队的信息,有效的把散客与团队进行了分类,方便管理员的处理。该模块还可以对旅客的信息进行修改。“旅客信息”为散客信息界面如图4-7,旅客级别还有首次住宿与熟客的分类。旅客入住预订需要记录旅客的信息,点击“新增”即可添加旅客的信息;如果旅客的信息有变动,选择该旅客再点击“修改”按钮修改客户的姓名、性别、电话号码及身份证号码等信息;“删除”按钮用于删掉某一条不需要的信息。如图4-8是添加旅客信息的界面。图4-7旅客信息图4-8添加旅客信息界面旅客信息管理中实现旅客登记的主要代码如下://添加旅客信息 @RequestMapping("/toadd") publicModelAndViewtoadd(){ ModelAndViewmv=null; List<AttributePo>listGender=attributeService.selectGender(); List<AttributePo>listNation=attributeService.selectNation(); List<AttributePo>listPassengerLevel=attributeService.selectPassengerLevel();//旅客级别 List<AttributePo>listEducationDegree=attributeService.selectEducationDegree();//文化程度 List<AttributePo>listPapers=attributeService.selectPapers(); List<AttributePo>listThingReason=attributeService.selectThingReason();//事由 mv=newModelAndView("/passenger/add"); mv.addObject("listGender",listGender); mv.addObject("listNation",listNation); mv.addObject("listPassengerLevel",listPassengerLevel); mv.addObject("listEducationDegree",listEducationDegree); mv.addObject("listPapers",listPapers); mv.addObject("listThingReason",listThingReason); returnmv; }4.2.6客房预订由图3-1一般酒店业务流程图中可以看出,酒店房间的预订是酒店管理中其中一个关键的构成部分,假若旅客能提前向酒店预订房间的话,酒店也会提早为预订的旅客安排所预订的时间段内的空房间,这样避免了旅游高峰期旅客直接到酒店登记入住时无空房间的情况。旅客预订房间,在接待对象一栏中选择已在旅客管理里登记过的旅客名称,点击“新增”,输入预订天数、押金金额、结账方式、预计抵达时间还有选择旅客预订的房间,最后单击"保存”按钮便可生成新的在住接待对象。如图4-9和图4-10。图4-9接待对象图4-10预订新增客房预订实现的主要代码如下://新增 @RequestMapping("/add") publicModelAndViewadd(Integerid,Integertype,StringroomIdShuZu,PredeterminePopo,Integerpangduan){ ModelAndViewmv=null; if(pangduan!=null){ for(inti=0;i<idP.length;i++){ predetermineService.deleteById(idP[i]); } RoomSetPoroomSetPo=newRoomSetPo(); roomSetPo.setRoomStateID(1);//将此房态设置为空房 for(inti=0;i<fangJianId.length;i++){ roomSetPo.setId(fangJianId[i]); roomSetService.updateByIdToRoomState(roomSetPo); } } String[]FenGe=roomIdShuZu.split(",");//分割为数组 intchangDu=FenGe.length;//获取数组长度 doubleyaJin=po.getDeposit();//获取押金 doubleyaJinFenGe=yaJin/changDu;//得到平均押金 po.setDeposit(yaJinFenGe);//设po的押金 po.setPredetermineStateID(66);//设置预订状态为未按排 if(type==1){//如果为团队 po.setPassengerID(0);//设置预订旅客id为0 po.setPredetermineTargetID(id);//设置团队id }elseif(type==2){//判断是否为旅客 po.setPassengerID(id);//给预订赋值旅客id po.setPredetermineTargetID(2);//设置团队id } RoomSetPoroomSetPo=newRoomSetPo(); roomSetPo.setRoomStateID(4);//设置此房态为预订 for(inti=0;i<changDu;i++){ po.setRoomID(Integer.parseInt(FenGe[i]));//给预订设置房间id predetermineService.insertAll(po);//新增预订单 roomSetPo.setId(Integer.parseInt(FenGe[i])); roomSetService.updateByIdToRoomState(roomSetPo); } mv=newModelAndView("redirect:/Predetermine/tolist.do"); returnmv; }点击“修改”和“删除”按钮即可进行相对应的操作;当旅客抵达酒店时,单击“安排房间”旅客即可完成入住。该系统还可选择多条旅客信息批量的安排房间。若字体颜色变红时,就说明此刻的时间已经超过旅客抵达的时间,如图4-11。图4-11抵达时间超时4.2.7更换房间在旅客登记入住之后,旅客若是对锁安排的房间不满意,操作员可为其安排新的房间,系统也会自动的修改房间的价格并将换房的费用加入总金额中,更换房间界面如图4-12。图4-12更换房间4.2.8消费信息旅客所在酒店期间购买了酒店的商品,单击“旅客消费”,选择旅客消费的内容,即可添加旅客的商品消费,消费金额也计算在了该旅客的总金额中,如图4-13。图4-13旅客消费实现消费明细列表的主要代码如下:@RequestMapping("/toconsumption") publicModelAndViewtoconsumption(Integerid,StringlvKeName,IntegercurrentPage, IntegerLvKeLeiXingId,IntegerisBillID){ ModelAndViewmv=null; fangjianId=id; lvkeName=lvKeName; Page<StayRegisterPo>vo=newPage<StayRegisterPo>(); if(currentPage==null){ currentPage=1; }elseif(currentPage==0){ currentPage=1; } vo.setCurrentPage(currentPage); List<AttributePo>listOne=attributeService.selectCommodityType(); vo=this.stayRegisterService.pageConsumption(id,vo); mv=newModelAndView("/stayregister/consumption"); mv.addObject("listOne",listOne); mv.addObject("stayId",id); mv.addObject("lvKeName",lvKeName); mv.addObject("list",vo); mv.addObject("LvKeLeiXingId",LvKeLeiXingId); mv.addObject("isBillID",isBillID); returnmv; }4.2.9住宿登记旅客抵达酒店并安排房间后会记录到“住宿登记”里,选择需要登记的一条数据。单击“登记”按钮,选择需要住宿旅客的信息即可完成住宿的登记,如图4-14。图4-14住宿登记若散客(或团队)想要转为团队(或散客)可以点击“转入团队/房间信息”(或“转入散客”)就可转进团队(散客),如图4-15。图4-15散客转入团队4.2.10结账当旅客离店结账的时候,在"旅客结账”界面中会显示接待对象的房间号,系统会自动计算旅客的押金和在酒店锁消费的金额。点击“结账”按钮直接进入选定的旅客结账的页面,点击结账即完成一次交易,旅客结账界面如图4-16。图4-16旅客结账界面4.2.11财务管理营业额查询是统计财务中不可或缺的一部分,"财务统计”的功能计算了已结账的旅客所有在酒店的消费信息和与酒店的收入营业额。可以根据时间段查询某段时间旅客的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工作总结之工程管理部实习总结
- 学校少先队工作计划3篇
- 银行内部管理档案归档制度
- 银行财务管理内部控制测试制度
- 《改革开放经验的科》课件
- 《故障模式分析》课件
- 科学上册课件《总结我们的天气观察》
- 办公室护肤宝典课件
- 生物细胞课件各类细胞电镜
- 南湖上的小船课件
- 2024年新高考一卷读后续写说题课件高三英语上学期一轮复习专项
- 2024年新人教版三年级数学上册《第6单元第11课时 数字编码》教学课件
- 2024-2024学年第二学期总务处的工作总结
- (北师大版)五年级数学上册期末复习计划
- 西藏林芝地区一中2025届高二数学第一学期期末联考试题含解析
- 《昼夜交替》(教学设计)-2023-2024学年五年级下册科学苏教版
- DBJ04∕T 325-2024 城市电力电缆隧道工程技术标准
- 2024届九省联考高三新高考适应性测试英语试题及答案
- 2024年秋季新人教版七年级上册道德与法治全册教案
- 标准夫妻婚内协议书模板
- 人教版三年级上册道德与法治全册知识点 (复习资料)
评论
0/150
提交评论