电子专业毕业设计酒店管理系统预定、查询、入住、退房系统_第1页
电子专业毕业设计酒店管理系统预定、查询、入住、退房系统_第2页
电子专业毕业设计酒店管理系统预定、查询、入住、退房系统_第3页
电子专业毕业设计酒店管理系统预定、查询、入住、退房系统_第4页
电子专业毕业设计酒店管理系统预定、查询、入住、退房系统_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

独创性声明本人郑重声明:所呈交的毕业论文(设计)是本人在指导老师指导下取得的研究成果。除了文中特别加以注释和致谢的地方外,论文(设讣)中不包含其他人已经发表或撰写的研究成果。与本研究成果相关的所有人所做出的任何贡献均已在论文(设计)中作了明确的说明并表示了谢意:。签名:授权声明本人完全了解许吕学院有关保留、使用本科生毕业论文(设计)的规定,即:有权保®并向国家有关部门或机构送交毕业论文(设计)的复印件和磁盘,允许毕业论文(设计)被査阅和借阅。本人授权许吕学院可以将毕业论文(设讣)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编论文(设计本人论文(设讣)中有原创性数据需要保密的部分为:签名: 年—月—日指导教师签名: 年月日现代化的酒丿占组织庞大、服务项U多、信息量大,要想提高劳动生产、降低成本、提高服务质量和管理水平,进而促进经济效益,必须借助计算机来进行现代化的信息管理。酒丿占管理系统正是为此而设讣的,毕业设计中釆用Java开发,使用Mysql数据库。继承Java的''WriteOnce,RunAnywhere"的优点,可以在任何一个系统下运行,该系统采用Jsp应用开发技术,具有一些预订客房,査询,退房等功能,尤其依靠java的优点来为酒店更好的进行管理,稳定性,可扩展性,安全性,健壮性,都是该酒丿占管理的优势所在。关键词:酒丿占管理系统、MysqlsJavaAbstractLarge-scalemodernizationofthehotel,servicesandmoreinformative,inordertoimprovethelaborandpreduction,reducecosts,improveservicequalityandmanagementlevel,thuspromotingeconomicefficiency,tousethecoinputertocarryoutthemodernizationofinformationanagement.HotelManagementSystemisdesignedforthispurpose.IgraduatedinthedesignusingJAVAdevelopinentmode,usetheMYSQLdatabase.JAVAsuccessionof"WriteOnce,RunAnywhere"theadvantagesofasysteminanyrun.Thesiteusingjspdevelopmenttechnology,withRoomreservation,queryinformation,check-outjnparticular,relyontheadvantagesofjavatobettermanagethehotel,stability,calability,security,robustness,isthehotelmanagementtheadvantage.Keywords:HotelManagementSystemMysql、Java2727第1章前言1.1选题背景・1.2课题研究的U的和怠义 本文的研究内容 国内外现状 创建表 4.3系统总体设U....第5章详细设计.…数据库设讣与实现5.15.2用户登陆101111本文的研究内容 国内外现状 创建表 4.3系统总体设U....第5章详细设计.…数据库设讣与实现5.15.2用户登陆101111115.3客户预定模块135.4査询模块185.5入住模块20退房模块5.6结论 1•课题研究过程中难点与解决方案:2226261.4第2章开发环境及工具介绍2.1Eclipse简介 2.2数据库开发工具 2.3Tomcat服务器第3章系统分析3.1可行性分析•…3.2需求分析3.2.1酒店管理部分 第4章数据库与系统总体设计4.1数据库分析 4.2数据库设讣与实现4.2.1创建数据库表结构262.系统存在的问题和进一步的1:作26参考文献 28第1章前言1.1选题背景酒店业是一个前景广阔而乂竞争激烈的行业。改革开放以来,我国的酒店业迅速发展,已经成为一个具有相当规模的产业。山于我国的旅游业迅速发展,通过调查,我国在2020年将成为世界上第四大旅游国家;同时我国加入世界贸易组织,酒店业将完全开放,这个时候,我国的酒店业将面临着前所未有的机遇和挑战。但是,现在其至还有一些酒丿占还停留在山人工操作和管理阶段,这样已经无法适应当前的发展趋势。因此,要想使酒丿占的工作质量和效率提高,采用先进的计算机网络通信技术改变酒店业务模式,实现酒店业务管理的自动化已经成为一种必然。酒丿占管理系统采用B/S结构。按照按国家星级宾馆标准化业务程序流式设计,会采用主流开发工具来开发,搭建比较稳定可鼎安全的服务端来辅佐客户管理,并且还釆用数据库mysqb会通过测试用例来达到测试效果,技术支持会采用轻量级框架struts和hibernate持久化来完成,服务器采用tomcat,通过powerdesigner来设计数据模型为最初业务流程的概念设计阶段和详细设讣阶段打好基础⑷O1.2课题研究的目的和意义对酒店整个来说,对酒丿占经营状况起决定作用的是酒店的服务管理水平。如何利用先进的管理手段来提高酒店的管理水平成为酒店业务发展的当务之急。面对信息时代的机遇和挑战,利用科技手段提高酒丿占的管理无疑是一条行之有效的途径。虽然计算机管理并不是酒店管理走向成功的关键元素,但它可以最大限度地发挥准确、快捷、高效等作用,对酒店的业务管理提供强有力的支持。因此,采用全新的讣算机网络和酒店业务管理系统,已成为提高酒丿占的管理效率,使作业人员与管理系统之间灵活互动,实现流畅的工作流衔接,帮助酒店有效地进行业务管理,释放最大价值。酒店业务管理系统在达到在节省人力资源成本的同时,可以提高业务效率,并能够及时、准确、迅速地满足顾客服务的需求⑷。1.3本文的研究内容毕业设计•选题《酒店管理系统》.主要研究了:酒丿占业务的管理(划分为,登陆界面部分,査询界面部分,入住界面部分,退房界面部分)C1.4国内外现状2828随着我国经济体制改革的不断深化和我国经济的快速发展,我国人民的收入不断提高,消费观念也有提高,对服务质量的要求也有很大的提高。各地把旅游业当作本地经济发展的重要支柱之一。酒店作为人们食宿、娱乐、休闲的场所而得到了快速的发展。社会上也成立了各种类型,不同规模的酒店服务企业。如何为客户提供更加准确及时的服务,成为各个酒店竞争关键。所以酒店业务信息化建设就成为了客户衡量酒店提供商服务标准的一个准则,信息系统成为了基础。随着Internet技术的进一步发展和普及,不能很好的适应世界经济发展的形式和我国国民经济建设的需要,市场现有的产品化的酒店业务软件系统在不断发展中的酒店的需求。基于WEB的酒店管理系统的总体设计U标能够建立完善、高效、可鼎的酒店业务信息系统,为酒丿占提供良好的信息环境⑸。第2章开发环境及工具介绍2.1Eclipse简介U前,市场上计算机语言和开发工具有很多,但是Eclipse的以其稳定和与平台无关的特性,从众多编程工具中脱颖而出,成为很多Java程序员的首选。Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentToolsrJDT)o虽然大多数用户很乐于将Eclipse当作JavaIDE来使用,但Eclipse的U标不仅限于此。Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironmentsPDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。山于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于Java开发工具。尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言;例如,支持诸如C/C++、COBOL和Eiffel等编程语言的插件已经可用,或预计会推出。Eclipse是一个开发源码项U,它其实是VisualAgeforJava的替代品,其界面跟先前的VisualAgeforJava差不多,但山于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括Oracle在内的许多大公司也纷纷加入了该项th并宣称Eclipse将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即可⑷。2数据库开发工具山于MySQL是开放源代码的,因此任何人都可以在GeneralPublicLicense的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。MySQL关系型数据库于1998年1月发行第一个版本。它使用系统核心提供的多线程机制提供完全的多线程运行模式,提供了面向C、C++、Eiffel、Java.Perl.PHP、Python以及Tcl等编程语言的编程接口(APIs),支持多种字段类型并且提供了完整的操作符支持査询中的SELECT和WHERE操作。MySQL开发组讣划于2001年中期公布MySQL4.0版本。在这个版本中将有以下新的特性被提供:新的表定义文件格式、高性能的数据复制功能、更加强大的全文搜索功能。在此之后,MySQL开发着希望提供安全的数据复制机制、在BeOS操作系统上的MySQL实现以及对延时关键字的定期刷新选项。随着时间的推进,MySQL将对ANSI92/ANSI99标准完全兼容。时至今日mysql和php的结合绝对是完美,很多大型的网站也用到mysql数据库.mysql的发展前景是非常光明的⑻!2.3Tomcat服务器Tomcat服务器是一个免费的开放源代码的Web应用服务器,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat5支持最新的Servlet2.4和JSP2.0规范。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为U前比较流行的Web应用服务器。Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行Tomcat时,它实际上作为一个与Apache独立的进程单独运行的。这里的诀窍是,当配置正确时rApache为HTML贝面服务,而Tomcat实际上运行JSP页面和Servlet。另夕卜,Tomcat和HS、Apache等Web服务器一样,具有处理HTML贝面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器⑹。第3章系统分析3.1可行性分析随着旅游业的发展,酒店、餐饮娱乐行业日趋发达,引入全方位的电脑服务和电脑管理日益流行。同时,酒店和餐厅娱乐业引入电脑服务和管理也取得了优良的经济效益和社会效益。为此,国家建设部已于最近作出明确规定:凡星级酒丿占在项U审批时,其设计方案必须包括电脑管理系统,否则不予立项。可见,酒店管理电脑化势在必行。酒店管理系统将先进的电脑技术与现代酒店服务管理完美地结合起来,实现了住宿、餐饮、娱乐全新概念的服务一个成熟的酒店管理系统不仅仅是记录酒店客人的信息,提供査询,报表打印等一系列简单的工作,它能让工作人员从烦琐的手工操作中解脱,并且酒店管理系统本身就代表着一种管理方法。随着它的深入,将带动企业的运做,为管理和决策提供支持。为了达到这个要求,它必须依壽高起点的硬件环境和软件开发工具来保证系统的稳定和正常运行。酒店电脑系统要求24小时连续运行,数据量大,可鼎性要求高,因此整个电脑系统供电釆用专线方式,加配UPS(不间断供电系统),并合理接地,以便保障整套系统的正常运行的。2需求分析系统需对用户登录进行管理。使用各功能模块时,系统应验证用户身份的有效性,否则要求用户登录。另外,允许用户对自己的密码进行修改。系统应提供客房的分类管理功能,可分类制订客房面积、价格、是否配备空调等客房类型,对不同标准的客房进行有效管理。系统可实现对客房信息的添加、删除以及修改。在进行入住/退房管理时,系统可以根据客房当前的状态自动提示可用服务(入住/退房)。如果客房没有客人入住,则该客房的可用服务为“入住”;否则,可用服务为“退房”C系统的客户端在Windows平台下运行,服务器端可在Windows平台或UNIX平台下运行。系统还需要有较好的安全性和可扩展性⑻O需求分析是从客户的需求中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出系统的功能模块,即定义用例。这个步骤是对理解需求的升华,直接关系到该系统的质量。整个系统可以分为2大部分。酒店网站部分(客户服务网站)和酒丿占管理部分(管理员部分)。本系统只做了有关酒店管理的一部分。3.2.1酒店管理部分1.客房管理:预订客房管理、客房查询、退房管理。前台服务员的主要职能是负责订房和退房,以及查询入住的客户信息a所有该角色只可以使用部分功能,包括预定管理、客户信息查询,入住管理,退房管理功能。第4章数据库与系统总体设计4.1数据库分析数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术,具体说,数据库设讣是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。这个问题是数据库在应用领域的主要研究课题。按照规范设讣的方法,考虑数据库及其应用系统开发全过程,将数据库设计分为以下六个阶段⑺:•需求分析•概念结构设计•逻辑结构设计•物理结构设计•数据库实施•数据库运行和维护4.2数据库设计与实现数据库分析完成后,我们就可以对数据库进行设计了。在酒店客房管理系统中,数据库的设计工作主要包括建立管理系统的数据库,创建所需要的表,也可以设计相关的视图及存储过程。这些设讣工作都在powerdesigner环境下操作并实现导入到Mysqlo42.1创建数据库表结构通过Powerdesigner设计完酒店预订系统数据库表结构后,可以导入到Mysql中,山于PowerDesigner的导出到mysql中出现“”问题所以需要进行手工调节错误。PI7SQL已经更新过,登陆PL/SQL用户名localhaost密码123456数据库名称是project42・2创建表数据库表结构:管理员表(user)客户信息表(client),客房信息表(room),其他消费表(consumer)。下面分别介绍下这些表的结果。1•管理员表

管理员表(user)用来保存操作员登陆的基本信息,表user的结构如表所示。表4・1管理员表列名数据类型长度主键是否为空说明IDINTEGER是NOTNULL编号usernameVARCHAR(20)20NOTNULL管理员用户名passwordVARCHAR(20)20NOTNULL密码2•客户信息表客户信息表(client)用来保存使用该系统的酒丿占员工的基本信息,表client的结构如下。表4-2客户信息表列名数据类型长度主惟是杏为空说明IDINTEGER是NOTNULL编号cleintnameVARCHAR(20)20NOTNULL客户名字sexVARCHAR(20)20NOTNULL性别AgeIntNULL年龄shenfenzhengintNOTNULL身份证minzhuVARCHAR(20)20NOTNULL民族dianhuaIntNULL电话roomnoIntNOTNULL房间号YudingIntNOTNULL预定状态3•客房信息表客房信息表(room)用来保存酒店所有客房基本信息,表room的结构如表所示。

表4-3客房信息表列名数据类型长度主键是否为空说明roomnoINTEGER是NOTNULL房间号statueINTEGERNOTNULL房间入住状态startdatedatetime20NULL入住时间enddatedatetime20NULL退房时间4•消费信息表消费信息表(consumer)用来保存酒店所有预订客房的基本信息,表consumer的结构如表所示。表4-4消费信息表列名数据类型长度主键是否为空说明IdINTEGER11NOTNULL编号consumernoINTEGER11是NOTNULL顾客编号foodfloatNULL食物消费Dianhuafloatnull电话消费fruitfloatNULL水果消费3系统总体设计在本系统中,管理系统模块主要实现对酒店预定添加,修改,修改的管理;客房与用户信息的査询管理;入住管理;退房的管理。该模块中存在4个子模块,他们为平行结构,关系如下列图。系统皆理图4-5系统模块图第5章详细设计5.1数据库设计与实现数据库通用类山DAO部分来实现,它是应用程序通过数据池访问数据的基础类,也是应用程序实现上层业务逻辑的基础。该类主要封装了创建访问数据库的一些对象或方法,如数据库连接对象等,以及执行数据库操作的对象或方法。数据库连接是连接数据库的必要对象,在该类定义了连接对象CON,该对象在整个类中都可以使用。数据库连接代码实现如下:Datasourceds=null;Contextcontext;try{context=newInitialcontext();ds=(Datasource)context.lookup("java:/comp/env/jdbc/mysqlds");}catch{NamingExceptione){e•printStackTrace();System,out.printin('*获取数拯源错误!”);2用户登陆在本次系统中,用户登陆模块与普通应用系统的用户登陆是基本相同的。因此当一个用户登陆管理系统之后,管理员的操作流程如以下图所示。图5・1皆理员登陆操作流程图5-2系统登陆界而截图登陆模块主要思想为:当输入用户名和密码提交后到logincheck控制模块进行处理,当输入正确时转到jiemian.jsp:否则回到login,jsp页面重新输入,同时提醒登陆错误。Logincheck代码如下:rcquesi.setCharacterEncoding("uif-8");Siringusername=request.getParameier("usemame");Siringpassword=request.getParameter('password");DataSourceds=null:Siringmessagc=null;Contextcontext;try{context=newIniiialContextO;ds=(DataSource)coniext4ookup("java:/conip/env/jdbc/mysqlds''):}catch(NamingExceplione){e.printStackTraceO;Sysicm.oM.prinUW获取数据源错误!”);try{Stringsql="selectuscmamc.passwordfromuserwhereusernanie=?atidpassword=?”;QueryRunncrrun=newQucryRunncr(ds):Stringstr[l=(usemame.password):Listlist=(List)ruiiquefyCsqtstrnewBcanLisiHandler(roomxlass)):if(lisi.isEmply())(message』登陆失败!请重新输入";

requcsi.selAttribute('"message'\message):requesi.gctRequesiDispatcher('yioginjsp")Iorward(requesi,responsc);else{request.getRequeslDispalchcr(/jicmian・jsp”)・forward(rcqucsLrcsponsc);}catch(SQLExceptione){e.priniStackTraceO;})5.3客户预定模块预定模块有三个子功能实现:预定登记,修改登记和取消登记;各子模块实现如下:在本系统中,预定系统模块主要实现对酒店预定添加,修改,取消的管理,关系如下列图。添加是为预定客户保留预定信息,流程如下:[是[是图5-3“添加"流程图5-4预登记模块界面截图预定登记设计思想:当登记时首先经过geuUlroom控制块处理,获得还有的空房在roomseachnull.jsp界而显示,然后选择预定的房间进行预世.接着转到addclient.jsp进行客户信息填写,最后经过insertroom到数据库添加。getallroom代码实现如下jrequesi.setCharaclerEncoding("utf-8'*);Siringleixing=requesl.getParameter("leixing");Siringyuding=requesi.getParameter("yuding");inti=Integerparsclni(lcixing);//i!=l;为预定登记操作try{if(i==i){sql=''selectroomno^statue.siartdatexnddaiefromroom";}elsestatue=O";|{sql=**seleciroomno,statue5iartdalc,cnddaiefromroomwherestatue=O";|QueryRunnerrun=newQucryRunner(ds):Listlist=(Lisi)run.qucryGqhnewBeanListHandler(room,class));request.setAltribuieC'lisf'.list);if(i==l){request.geiRcquestDispalchcrC7main/roomscach・jsp”)・forward(rcqucsl・response);}else{requesi.setAltribuieC*yuding"\yuding);requcst.getRequestDispatchcrC7main/roomscachnull・jsp”)・forward(rcqucsLresponsc);}}catch(SQLExceplione){e.printStackTraceO;1}选择预定房间,点击“预定”后;预世客户信息表设计界而如下:3XCvHAfiikCKbB^nWyrztFipt^r^r欢迎进入酒店管理也客门S洵常忌客门人仕芒小2:?--r--T<预订客亡信息名别龄族话证

姓性年民电份身--r--T<预订客亡信息名别龄族话证

姓性年民电份身*#。男。女杠:/18位槪**图5-5预定客户涪息表界面捉交到insertroom对数据库操作s当leixing=0时是预定操作,leixing=l时是入住操作,当1eixing=2时是退房操作。Insertroom代码如下:rcquesl.seiCharacterEncoding("ulf-8'');ServleiContexiapplicalion=gelServlelContextO:Siringleixing=(Siring)application.getAltribule{"leixing"');Siringroomno=(String)applicaiion.getAttribute("roomno");System.oW・prinUn(roomno);Syslem.fH/rprintlndeixing):inti=Inicgcr・“""e加/(leixing);DataSourceds=null:Contextcontext:try{context=newInitialContextO;ds=(DataSource)coniext4ookup("java:/conip/env/jdbc/mysqlds"):Icatch(NamingExceptione){e.printSiackTrace():Syslem.<?atprinilnC获取数据源错误!”);}intresult=0:Stringmessage=null;Siringsql=nuH;try{switch(i){caseO:sql="updateroomsetstatue=lwhereroomno=?":break;casel:sql="updalcroomsetstatue=2.siartdate=now()whereroomno=?”:break;case2:sql="updateroomsetcnddaie=now()whereroonmo=?break:Stringsr[]={roonino);QueryRunnerrun=newQucryRunner(ds);result=ruiiupdate(sql.sr):if(i==l){sql=''updateclientsetyuding=2whereroomnuniber=?";QueryRunnerrunl=newQucryRunncr(ds):runLupdatc(sqLsr):}if(i==2){SenietContexiapplication]=getServleiContexlO;applicalion1.setAttribute("roomno'\roomno);RcqueslDispalchcrrs=request,getRequestDispalchcr(”/scrvlct/scachall”);try(rs.forward(request.response);return;}catch(Exceplione){})else{if(result==1){message=”操作成功化}else{message="操作失败!”;}request.seiAttribuie("message'\message):request.getRequeslDispalchcr(”/addRcsulLjsp”)・forward(requcsLrcsponsc);}}catch(SQLExceptione){e.priniStackTraceO:}}“修改”操作为预定客户提供修改相关信息的功能,流程图如下:图5-6“修改"流程

ZffO)Ml£>Bi(y)切2ZffO)Ml£>Bi(y)切2XAij;时国;」11®•? ・.二仝■Li也 处WWFeMxeiWBcFYuam tfsnsw6Mt 国■射ushV <1无trm q|欢迎进入酒店管理S户身爲C号.410,22)沁V3r43

ppg第仇图5-7“修改"流程设计思想:输入身份证号后提交经trueroom査找客户信息,在xiugai.Jsp贝面显示客户的信息,修改后提交update对数据库进行修改.Truroom代码如下:request.seiCharacierEnco<ling('*utf-8");ServleiContexiapplication=geiServlelContextO:Siringleixing=(String)application.getAltribuie{"Ieixing");Siringroomno=(String)application.getAltribuie{"roomno");DataSourceds=null:Contextcontext:try{context=newInitialContextO;ds=(DataSource)coniext.lookup("java:/comp/env/jdbc/niysqlds'*);Icatch(NamingExceptione){e.printStackTraceO;Sysicm.oM.prinUW获取数据源错误!”);try{Stringsql="select*fromroomwherestatue=?androonino=?";QueryRunnerrun=newQueryRunner(ds);Stringstr[l={leixing.roomno);Listlist=(List)run.quwtsqhstnnewBeanListHandler(roomxlass));if{lisl4sEmpiy()){requesi.getRequesiDispatchcr(”/scrv!ci/inscrtroom')・forward(rcqucs(・rcsponsc);}else{ServleiContexiapplication1=geiServletContextO;application1.setAttribute("roomno'\roomno);application1.setAttribute("leixing'\leixing):RcquesiDispaicherrs=request.geiRequestDispalchcrC/scrvlct/inscrtroonT);try(rslorward(request.response);return:}catch(Exceptione)[}]}catch(SQLExccptione){e.printStackTraceO;)“取消"操作为客户提供取消预定的功能,方便客户改变计划,流程图如下:图5-8“取消"流程5.4查询模块在本系统中,査询系统模块主要实现对酒店房间状态査询,客户查询和所有客户信息査询的管理,査询设讣主要包括:房间入住惜况查询,客户査询和显示所有客户;关系如下列图。査询房间状态能更好的了解酒店入住情况,为客户修改房间号提供依据,流程如下:点击“房间状态显示”I显示所有房间入住情况图5-9“房间状态"査询流程

图5-10房间入住情况"查询界而截图房间査询的思想为:先到getallroom控制块对条件进行处理,将满足条件的房间号的数组放到room.Class中,再到Roomseach.Jsp页面将数组显示出来。getallroom代码实现如下;try{sql="selectroomno.statue.startdalexnddatefromroom";QueryRunnerrun=newQueryRunncr(ds):Listlist=(List)run.query(sqLnewBeanLislHandler(roomxlass));request.setAttribule(*"lisl"4ist);requesi.gctRequesiDispatchcr(”/main/roomscach・jspJ・forward(rcqucsijcsponsc);}catch(SQLExceptione){e,printStackTrace():)客户査询为其他人员査找客户提供方便快捷的功能,提高效率,其流程图如下:图5-11“客户"査询流程设计思想与gatallroom基本相同,只是SQL语句中的查询表不同。显示所有客户信息是客户査询的进一步扩展,可以査看所有的客户,并捉供修改的功能,其流程图如下:图572“显示所有客户"流程■文A Eoi*r«*QHXt”•q・"3口肠w •oQ •Wa・L■-flATM•欢迎进入酒店管理显示客户信息姓名性别年民族电话身份证号房何数換作入住信况hhdd23lu2323410522198707233712305條改0nvtaoiiati23hail159410522198707233710302修改0hongyongtiati25bail1231545M410522198707233711303修改0tiantiati23bail123666410522198707231000301修改0hongnan25han12311545410522198707233712301條改0tiannan23hab12132410522198707233710305修改0tiannan23han13782315753410522198707233712302修改1»135±1ET-Eft於£&知SOgg•图5-13“显示所有客査询界而截图设讣思想与gatallroom基本相同,只是SQL语句中的査询表不同。5.5入住模块在本系统中,入住系统模块主要实现对预定客户入住和散客登记入住的管理,关系如下列图。预定入住是为预定客户提供入住手续的模块,为预定客户提供方便,其流程图如下:

图5・14图5・14“预定入住"流程WW lAOl匕a杯!*F•Q・夕oDW®I-®tffi■□ ft-♦a-I-4附禅・M•y•帀E,欢迎进入酒店管理5、上芒;;匚*?预订客户信息姓名性别 身份证 预定房间号操作tianna302入住4・0込•240 〃1“>a«0MflOeCtfs/xS八“rQg<Jct图5-15“预定入住‘‘模块界而截图预窪入住设计思想为:首先到getclient控制块中査询已经预定的客户信息,到Yudingruzu.Jsp页面显示出来,然后选择客户进行入住。getclient代码实现如下:try{Stringsql=*'selectclientname/sex,shenfenzheng,roomnumberfromclientwhereyuding=*1*";QueryRunnerrun=newQueryRunner(ds);Listlist=(List)run-query{sql,newBeanListHandler(dbcommen.class));request.setAttribute("list",list);request.getRequestDispatcher{"/main/yudinge)ruzhu.jsp'*)•forward(request/response);}catch(SQLException{e.printStackTrace();}e)登记入住是为散客提供入住的操作,其流程如下:图5・16“登记入住”流程5.6退房模块在本系统中,退房模块主要实现对入住客户退房的管理,关系如下列图。图5・17“退房”操作流程CTW HCF1 XAOWWW0«-JZ 0 4園«妙《・/:・&"Oa・y"厂・&: Iff-Q-^g|Q^e><Si[翊•O0砌P&.・■2・'-S何g-输入房间号:302后:图5-18客户退房模块设计是:输入房间号后査询客户信息及消费悄况;在输出之前首先要预先査询房间号是否有人入住,再修改数据库借息,最后显示客户的信息及消费悄况。退房设讣思想为:当输入房间号后到truerooin2控制块中查询该房间是否已经入住,到满足条件时,到insertroom对数据库插入退房时间,然后再到getall控制块查询:客户信息,房间入住,退房时间以及客户消费信息。最后到all.Jsp页面显示所有信息。然后结账,退房。trueroom2预先査询代码如下:requesi.setCharacterEncoding("uif-8");Stringroomno=request.getParameier("roomno");Stringleixing=request.getParameter("leixing'");try{Stringsql="select*fromroomwherestaiue=?androonino=?";QueryRunnerrun=newQueryRunner(ds):Siringstr[]={leixing,roomno};Listlist=(List)run.qtt©fy(sqtstrnewBeanListHandlerfroomxlass));SenletContextapplication1=getSenieiContexK);applicalion1.setAttribute("roomno*\roomno);application1.setAttribute("leixing",leixing):RequesiDispalchcrrs=request.getRequestDispalchcrCVscrvlct/inscrtroonf);try(rs・forward(rcqucsl・response):return;}catch(Exceptionc){}}}catch(SQLExccptione){e.printStackTraceO;)Insertroom的实现如下:request.sclCharactcrEnccxiing("ulf-8'");SenletContextapplication=getServleiContexK);Stringleixing=(String)application.getAttribute("leixing");Stringroomno=(Siring)application.geiAtiributeC'roonino");Sysiem.<?u/.priniln(roomno);Sysiemy?w/.priniln(lcixing):inti=IntcgcrM〃:w7M(lcixing);hitresult=0:Stringmessage=null;Stringsqt=niin;try{switchcaseO:sql="updatcroomsetsiatue=lwhereroonino=?":break:casel:sql='updatcroomsetsiatue=2.startdate=now()whereroomno=?":break:case2:sql="updatcroomseienddale=now()whereroonino=?break:Siringsr(l={roomno};QucryRuimcrrun=newQucryRunncr(ds);result=run.updatc(sqLsr);if(i=l){sql="updateclientsetyuding=2whereroomnumbcr=?":QueryRunnerrun!=newQucryRunncr(ds);runl・updatc(sqLsr);if{i=2){SenietContextapplication!=getServleiContexiO;application1.seiAtlribute("roonino"\roomno):RequcstDispatcherrs=requcsi.gctRcquestDispalchcr("/scrvlct/scachair);try{rslorward(requesi,rcsponsc);return:}catch(Exceptione){}}else{if(result==1){message="操作成功!";Ielse{message="操作失败!”;requesi.selAttribule("message'\message);requesi.getRcqueslDispatcherf7addResultjsp"').forward(request.rcsponsc);}1catch(SQLExceptione){e.printSiackTraceO;Scachall的实现如下:requesl.seiCharacterEncoding("utf-8");SenletContextapplication=getServlelContexK);Stringroomno=(Siring)application.getAttribute('7oonino"):Stringconsumemo="123456”:DaiaSourceds=null;Stringsqi=null:try{sql="selectclientnanie.sex.shcnfcnzhengfromclientwhereyuding=2androoninumbcr=?";QucryRuimcrrun=newQucryRunncr(ds);Siringstrf]={roomno};Listlist=(List)run•卑iefy(sqLstrnewBcanLisiHandler(dbcommcn.class)):dbcommenbl=(dbconimen)lisi.get{0):requcsi.setAltribule("br\bl):sql=''selectroomno.startdaie.enddale.timestampdiff(day,startdate.enddale)asdayfromroomwherestalue=2androomno=?";Listlist]=(List)run.qwetyfsql.strnewBcanLislHandler(roomxlass));roomroomi=(room)listLgel(O);requesi.setAltribuleC"roomf\roomi);sql=''select*fromconsumerwhereconsumerno=?'\Siringstrl[)={consumemo};ListIist2=(List)ruiLqucfy(sql.strLnewBeanListHandler(consumer,class));consumercm=(cons

温馨提示

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

评论

0/150

提交评论