大型项目实习报告-酒店管理_第1页
大型项目实习报告-酒店管理_第2页
大型项目实习报告-酒店管理_第3页
大型项目实习报告-酒店管理_第4页
大型项目实习报告-酒店管理_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

目录1.系统分析 11.1需求分析 11.2可行性分析 21.3开发及运行环境分析 31.3.1软件环境 31.3.2硬件环境 32系统总体设计 32.1系统总体功能描述及功能图 32.2系统用例分析 52.3系统设计类图 63数据库设计 73.1数据库E-R图 73.1.1基础信息管理模块E-R图 83.1.2房客管理模块E-R图 93.1.3报表管理模块E-R图 103.1.4系统管理模块E-R图 103.1.5客房管理模块E-R图 113.2数据库三线图 123.3数据库脚本语句(部分) 184系统具体设计 214.1基本信息维护管理模块 214.1.1客房类型管理模块 214.1.2楼层信息管理模块 24商品类别管理模块 244.1.4商品管理模块 244.2房客管理模块 244.2.1客房预定管理模块 244.2.2入住登记管理模块 244.2.3换房管理模块 254.3报表管理模块 25报表管理模块 254.4客房管理模块 254.4.1客房信息管理 254.5消费管理模块 254.5.1附加消费入账管理模块 254.6系统管理模块 264.6.1用户管理模块 264.6.2日志管理模块 265.实习总结 26参考文献 27摘要现代化的酒店是集客房、餐饮、消遣,商务文化及其他各种服务与设施为一体化的消费场所,酒店组织浩大,服务项目多,信息量大,要想提高生产,降低成本,提高服务质量和管理水平,促进经济效益,必需借助计算机来进行现代化的信息管理,《酒店管理系统》正是为此而设计,该系统是运用java程序语言和oracle10g开发实现的,《酒店管理系统》包括了基础信息维护、客房管理、房客管理、消费管理、报表管理、系统管理6大模块,具有操作简洁,界面友善,敏捷性好,系统平安性稳定等特点,是酒店管理者的志向选择。本文简要的介绍了《酒店管理系统》的项目背景和意义,着重阐述了该项目开发实现过程,从系统的需求分析、模块设计、功能设计、数据库设计、具体设计到系统测试等各个环节都进行了详尽的分析和描述。关键字酒店管理javaoracle10g1.系统分析1.1需求分析在当今经济和商务交往日益常见的状况下,宾馆服务行业正面临客流量骤增的压力。越来越多的酒店、宾馆都相识到传统的管理方法已经不能适合当今社会的须要,必需借助先进的计算机信息技术对客房服务进行管理。面对信息时代的机遇和挑战,采纳全新的计算机网络和酒店、宾馆信息管理系统,已成为提高宾馆酒店管理效率、改善服务水准的重要手段之一,在某种意义上,客房管理的信息化已成为现代化酒店宾馆的重要标记。客房管理是酒店宾馆管理的核心任务,为此,我们结合目前客房管理的现状,经过充分的调研和综合分析,开发了酒店客房信息管理系统。本系统的总目标是为用户供应快速、高效的服务,减免手工处理的繁琐与误差,刚好、精确的反应酒店的工作状况、经营状况,从而提高酒店的服务质量,获得更好的饿经济效益。具体的目标包括:快速办理客人预定、入住、退房的业务;精确无误的记录客人的每笔消费记录实时、快速、精确的供应客房的动态信息;为管理人员供应报表信息,便利制定策略;便利查询客人的消费状况;1.2可行性分析技术可行性——本系统仅须要一台装有java运行环境和oracle10g数据库的计算机即可,对机器本身没有太高要求。对于软件技术方面,要求设计人员驾驭java的基础设计、操作及编程方面的学问、对数据库应用的全面了解,能进行创建、连接、修改数据库信息等维护工作。经济可行性——由于本系统是酒店管理系统,在ADO管理器中添加酒店管理系统数据库即可运用系统,系统成本主要集中在系统软件开发上,系统在酒店投入运行后可以节约大量的人力、所带来的效益远远大于系统软件开发成本。在经济上完全可行。操作可行性——界面设计时充分考虑管理人员,使的操作简洁;数据录入快速、规范、牢靠;统计精确;适应力强;简洁扩充。1.3开发及运行环境分析软件环境数据库:Oracle10g及以上中间件:tomcat5.5及以上JDK:1.5版本及以上硬件环境内存:1G硬盘:80G2系统总体设计2.1系统总体功能描述及功能图系统包括基础信息维护、客房管理、房客管理、消费管理、报表管理、系统管理6大模块。基础信息维护是对系统基础信息的维护,包括客房类型、楼层、商品信息、会员信息维护;客房管理是对客房的信息进行维护;房客管理是对客人的预定及住宿状况的管理,包括:客房预定、客房入住、换房、退房结帐管理等功能;消费管理是对入住客人在入住期间额外消费的管理,报表管理是对某一阶段客房经营状况的统计查询。系统管理包括用户信息、日志信息维护等。2.2系统用例分析2.3系统设计类图3数据库设计3.1数据库E-R图预定预定结账入住登记会员信息客房预订退房登记换房登记客房信息财务报表管理楼层信息客房类型消费管理商品信息商品类型用户管理日志管理入住转入住退房换房查询查询消费包含记录包含包含1n11111111111n1nn1nn1n11基础信息管理模块E-R图楼层信息客房类型楼层信息客房类型类型名额定人数备注楼层名备注商品类别会员管理商品管理商品编号备注类别名称类别编号商品名称商品类别价格单位会员编号会员姓名会员密码会员电话会员地址会员积分会员级别房客管理模块E-R图换房登记换房登记客房预订退房登记入住登记转入住退房换房预定单号预定状态预定人客房编号入住人数入住单号客房编号号入住人入住人数入住单号原客房编号更换后客房编号入住人会员编号会员编号入住单号客房编号房价付款金额付款方式会员编号住宿天数111111报表管理模块E-R图入住客人报表入住客人报表财务报表管理预定客人报表当日财务进账报表当日离店客人报表当日预定客人报表当日入住客人报表系统管理模块E-R图权限权限用户管理日志管理记录备注密码用户名编号查看某段时间内日志删除某段时间内日志1n客房管理模块E-R图客房楼层客房楼层客房信息客房状态客房类型客房编号标准价格会员价格消费管理客房编号入住单号商品名称消费金额合计消费时间备注3.2数据库三线图用户表(users)列名英文名类型长度约束是否为空用户编号USERIDVARCHAR220pkNo用户姓名USERNAMEVARCHAR220No用户密码USERPASSVARCHAR240No权限POPEDOMVARCHAR220CheckNo备注REMARKVARCHAR2100Yes会员表(associator)列名英文名类型长度约束是否为空编号AIDNUMBER6PkNo姓名ANAMEVARCHAR20No性别SEXVARCHAR220Yes密码PASSWORDVARCHAR220Yes电话PHONEVARCHAR220Yes地址ADDRESSVARCHAR220Yes邮箱EMAILVARCHAR220Yes积分SCORENUMBER10Yes级别GRADEVARCHAR220FkYes最终一次入住时间LASTRTIMEDATEYes最终一次预定时间LASTYTIMEDATEYes备注REMARKVARCHAR2100Yes消费表(consume)列名英文名类型长度约束是否为空消费单号CONSUMEIDNUMBER6PkNo入住单号ARRIVEFORMIDNUMBER6FkNo客房编号RIDNUMBER4FkNo商品名GNAMEVARCHAR220FkNo数量SHULIANGNUMBER8No单价DANJIANUMBER8No消费金额XIAOFEIJINENUMBER8No折扣率ZHEKOULVNUMBER8No折后金额ZHEHOUJINENUMBER8No合计HEJINUMBER8No操作员CAOZUOYUANVARCHAR220Yes消费时间XIAOFEITIMEDATEYes备注BEIZHUVARCHAR220Yes楼层信息表(floor)列名英文名类型长度约束是否为空楼层编号FIDNUMBER2PkNo楼层名FNAMEVARCHAR220No备注REMARKVARCHAR2100Yes商品信息表(Goods)列名英文名类型长度约束是否为空商品代码GIDVARCHAR220PkNo商品名称GNAMEVARCHAR220NuiqueNo商品类别GTIDVARCHAR220FkYes价格PRICENUMBER8No单价UNITVARCHAR220No备注REMARKVARCHAR2100Yes商品类别信息表(Goodstype)列名英文名类型长度约束是否为空商品代码GTIDVARCHAR220PkNo商品名称GTNAMEVARCHAR220No备注REMARKVARCHAR2100Yes预定信息表(GUESTROOMBOOKINFORMATION)列名英文名类型长度约束是否为空预订单号BOOKFORMIDNUMBER6PkNo客房编号GUESTROOMIDNUMBER4FkNo预定人DESTINEPERSONVARCHAR220No信用卡类别CREDENTIALSSORTVARCHAR220No预定卡号CREDENTIALSNUMBERVARCHAR220No联系电话CONTACTPHONENUMBER11No抵店时间ARRIVETIMEDATENo离店时间LEAVETIMEDATENo入住人数RUZHURENSHUNUMBER2No操作员OPERATORRVARCHAR220Yes会员编号HUANYUANIDNUMBER6FkYes备注REMARKVARCHAR2100Yes日志表(LOG)列名英文名类型长度约束是否为空用户名LUSERVARCHAR220PkNo操作LOPTIONVARCHAR220No时间LTIMEDATENo备注REMARKVARCHAR2100Yes换房登记表(HUANFANGDENGJI)列名英文名类型长度约束是否为空入住单号ARRIVEFORMIDNUMBER6PkNo原客房编号OLDIDNUMBER4FkNo更换后客房编号NEWIDNUMBER4FkNo客房类型GUESTROOMTYPEVARCHAR220No标准价STANDARDPRICENUMBER6No折后价ABATEPRICENUMBER6No押金DEPOSITNUMBER6No入住人DESTINEPERSONVARCHAR220No证件类型CREDENTIALSSORTVARCHAR220No证件号码CREDENTIALSNUMBERVARCHAR220No联系电话CONTACTPHONENUMBER11No抵店时间ARRIVETIMEDATENo离店时间LEAVETIMEDATENo入住人数RUZHURENSHUNUMBER6Yes操作员OPERATORRVARCHAR220Yes会员编号VIPIDNUMBER6Yes会员价VIPPRICENUMBER6Yes供应早餐TIGONGZAOCANVARCHAR22Yes定时叫醒DINGSHIJIAOXINGVARCHAR22Yes备注REMARKVARCHAR2100Yes客房信息表(ROOM)列名英文名类型长度约束是否为空客房编号RIDNUMBER4PkNo客房类型RTIDNUMBER2FkNo状态RSTATEVARCHAR220No楼层FIDNUMBER2FkNo备注REMARKVARCHAR2100Yes客房类型表(ROOMTYPE)列名英文名类型长度约束是否为空客房编号RTIDNUMBER2PkNo类型名RTNAMEVARCHAR220No额定人数RTPEOPLENUMBER2No备注REMARKVARCHAR2100Yes标准价格COMPRICENUMBER8No入住信息表(RUZHUXINXI)列名英文名类型长度约束是否为空入住单号ARRIVEFORMIDNUMBER6PkNo客房编号GUESTROOMIDNUMBER4No客房类型GUESTROOMTYPEVARCHAR220No付款方式FUKUANFANGSHIVARCHAR220No折后价DEPOSITNUMBER6No进账信息JINZHANGXINXIVARCHAR220No入住人DESTINEPERSONVARCHAR220No证件类别CREDENTIALSSORTVARCHAR220No证件号码CREDENTIALSNUMBERVARCHAR220No联系电话CONTACTPHONENUMBER11No抵店时间ARRIVETIMEDATENo离店时间LEAVETIMEDATENo入住人数RUZHURENSHUNUMBER2No操作员OPERATORRVARCHAR220No会员编号VIPIDNUMBER6FkNo会员价格PRICENUMBER6No供应早餐TIGONGZAOCANVARCHAR22No定时叫醒DINGSHIJIAOXINGVARCHAR22No备注REMARKVARCHAR2100Yes消费水平表(SALGRADE)列名英文名类型长度约束是否为空等级GRADENUMBER8PkNo低消费LOSALNUMBER8No高消费HISALNUMBER8No退房信息(TUIFANGXINXI)列名英文名类型长度约束是否为空入住单号ARRIVEFORMIDNUMBER6PkNo住宿费ZHUSUFEINUMBER6No店内消费DIANNEIXIAOFEINUMBER6No餐费CANFEINUMBER6No电话费DIANHUAFEINUMBER6No应退押金YINGTUIYAJINNUMBER6No付款方式FUKUANFANGSHIVARCHAR220No实收SHISHOUNUMBER6No找零ZHAOLINGNUMBER6No操作员OPERATORRVARCHAR220No备注REMARKVARCHAR2100Yes进账类型JINZHANGLEIXINGVARCHAR220No折扣率(ZHEKOULV)列名英文名类型长度约束是否为空编号IDNUMBER2PkNo权限QUANXIANVARCHAR220No折扣率ZHEKOULVNUMBER2No3.3数据库脚本语句(部分)--客房信息表createtableRoom(grnoNUMBER(4)notnull,rtnoNUMBER(4)notnull,fnoNUMBER(4)notnull,stateNUMBER(4)notnull,priceNUMBER(7,2)notnull,discountpriceNUMBER(7,2)notnull,normalpriceNUMBER(7,2)notnull,vippriceNUMBER(7,2)notnull,remarksVARCHAR2(20),constraintPK_ROOMprimarykey(grno));altertableRoomaddconstraintFK_ROOM_REFERENCE_FLOORforeignkey(fno)referencesFloor(fno);altertableRoomaddconstraintFK_ROOM_REFERENCE_ROOMTYPEforeignkey(rtno)referencesRoomtype(rtno);--预定信息表createtableSchedule(snoNUMBER(4)notnull,grnoNUMBER(4),depositNUMBER(7,2),schedulerVARCHAR2(20)notnull,cardtypeVARCHAR2(20)notnull,cardidNUMBER(18)notnull,sphoneNUMBER(11)notnull,cometimeDATEnotnull,gotimeDATEnotnull,livenumberNUMBER(4)notnull,operatorVARCHAR2(20),anoNUMBER(4),scstateVARCHAR2(20),sremarksVARCHAR2(20),constraintPK_SCHEDULEprimarykey(sno));altertableScheduleaddconstraintFK_SCHEDULE_REFERENCE_ASforeignkey(ano)referencesAssociator(ano);altertableScheduleaddconstraintFK_SCHEDULE_REFERENCE_ROOMforeignkey(grno)referencesRoom(grno);客房表序列createsequenceSequence_grnostartwith1800incrementby1nocyclenocache/预定信息表序列createsequenceSequence_snostartwith1800incrementby1nocyclenocache/客房表触发器createtriggertib_roombeforeinsertonRoomforeachrowdeclareintegrity_errorexception;errnointeger;errmsgchar(200);dummyinteger;foundboolean;begin--Column"grno"usessequenceSequence_grnoselectSequence_grno.NEXTVALINTO:new.grnofromdual;--Errorshandlingexceptionwhenintegrity_errorthenraise_application_error(errno,errmsg);end;/预定信息表触发器createtriggertib_schedulebeforeinsertonScheduleforeachrowdeclareintegrity_errorexception;errnointeger;errmsgchar(200);dummyinteger;foundboolean;begin--Column"sno"usessequenceSequence_snoselectSequence_sno.NEXTVALINTO:new.snofromdual;--Errorshandlingexceptionwhenintegrity_errorthenraise_application_error(errno,errmsg);end;/4系统具体设计4.1基本信息维护管理模块客房类型管理模块客房类型管理是对酒店的客房的类别的信息维护,类型描述了客房的基本自然条件,如单人间还是标准间等。考虑到系统的可扩展性,管理员可以对酒店客房的类型信息进行动态的维护。添加客房类型修改客房类型删除客房类型查询客房类型楼层信息管理模块楼层信息管理是对酒店的客房所在的楼层的信息的维护,考虑到系统的可扩展性,管理员可以对酒店客房的楼层信息进行动态的维护。商品类别管理模块商品类别管理是指对酒店的商品的类别进行维护。考虑到系统的可扩展性,管理员可以对商品类型的状态信息进行动态的维护。商品管理模块商品管理是指对酒店的商品信息进行维护。考虑到系统的可扩展性,管理员可以对商品信息进行动态的维护。4.2房客管理模块客房预定管理模块客房预定管理是客人通过电话或者其他途径向宾馆进行客房预定,接待人员查询客房信息后确定有空房则接受预定,客房状态为“预定”。预定状态包括:正常(未入住)、已取消、已入住。入住登记管理模块入住登记管理是假如客人没有预定房间,接待人员查询客房信息后,有空房则进行客房登记操作,发给客人房卡,客房状态由“空房”变为“入住”。4.2.3换房管理模块换房管理是假如客人对入住的客房条件不满足,则可进行客人换房操作。接待人员将客人的房间进行更换,并更换客人房卡,客房信息也进行相应的调整。4.3报表管理模块报表管理模块报表管理是系统要定期供应一些报表,供客房经理做统计分析。4.4客房管理模块客房信息管理客房管理是指对客房基本信息(如客房的楼层、类型、价格等)的维护。在预定、入住、换房时,都须要对客房的信息进行查看。客房状态:包括三种空房、已预订、入住。当客人预定后,变为已预定,当客人入住后,变为入住,其他状况为空房4.5消费管理模块附加消费入账管理模块附加消费入账管理是管理客人在店内进行其他商品的消费的统计4.6系统管理模块用户管理模块用户管理是指对该系统的运用者即用户信息进行维护。日志管理模块为了系统的平安,对前台人员的导致业务数据更新的操作须要记录日志。系统管理员可以定期查看和删除日志。5.实习总结通过这次的项目实训使我们小组对于管理信息系统及有关计算机学问水平有了肯定程度的提高,使我更加娴熟的驾驭有关JAVA的struts框架和Oracle的相关学问的应用。但还存在这诸多不足之处,如业务逻辑的完整性、编程的实力等不够完善,这些有待以后在实践中改进和提高。这份设计报告检验了我们这段时间的刻苦学习的成果,小组成员之间的相互帮助、探讨,遇到困难一起解决,充分体现整体的合作精神,但是由于诸多缘由,论文还有许多不尽如人意的地方,这些有待今后进一步加强、改进。完善。参考文献[1]彭伟民.基于需求的酒店管理系统的建模与实现.微机发展,2005.10.1-6.[2]翟广宇.基于C/S结构的酒店管理系统.兰州工业高等专科学报,2004.6.2-4.[3]薛华成.管理信息系统[M].清华高校出版社,1996.7.2-5.[4]候炳辉,刘世峰.信息管理系统[J].信息管理系统分析,2004.5:254-562.[5]童德利,田娟,谢琪,陈世福.基于B/S模式的构件式酒店管理信息系统的设计与实现.2003.4.1-4.[6]刘学明.饭店客房管理[M].广东旅游出版社,2000.10.1-6.[7]张亚东.酒店企业销售管理信息系统的设计与实现[J].管理信息系统,2000.9:45249.[8]李朝晖.PowerBuilder开发实例完全剖[J].PowerBuilder10.2006:122-189.[9]萨师煊,王珊.数据库系统概论[M].高等教化出版社,2000.7:21-347.[10]马秀莲,高志安.宾馆管理系统的设计.黑龙江八一农垦高校信息技术学院,2005.2.1-3.附:源代码(部分)packagecom.neusoft.hm.database;ption;importjava.io.InputStream;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.SQLException;importjava.util.Properties;publicclassDBHelp{ privateStringurl; privateStringdriver; privateStringuid; privateStringpwd; privateConnectionconn; publicConnectionopenConnect(){ InputStreamstream=this.getClass().getClassLoader().getResourceAsStream("/com/neusoft/hm/database/perties"); Propertiesp=newProperties(); try{ p.load(stream); url=p.getProperty("url"); driver=p.getProperty("driver"); uid=p.getProperty("uid"); pwd=p.getProperty("pwd"); Class.forName(driver); conn=DriverManager.getConnection(url,uid,pwd); }catch(IOExceptione1){ //TODOAuto-generatedcatchblock e1.printStackTrace(); }catch(ClassNotFoundExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } returnconn; } publicvoidcloseConnect(){ if(conn!=null){ try{ conn.close(); }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } } }packagecom.neusoft.hm.guest.dao;importjava.io.IOException;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.text.SimpleDateFormat;importjava.util.ArrayList;importjava.util.Date;importjava.util.List;importcom.neusoft.hm.base.dao.AssociatorDaoImpl;importcom.neusoft.hm.database.DBHelp;importcom.neusoft.hm.entity.LiveIn;importcom.neusoft.hm.guest.actionForm.LiveInActionForm;importcom.neusoft.hm.guestroom.dao.GuestroomDaoImpl;publicclassLiveInDaoImplimplementsLiveInDao{ privateConnectionconn; privatePreparedStatementps; privateResultSetrs; privateDBHelpdh; //添加入住登记信息 publicvoidaddLivein(LiveInActionFormliaf)throwsIOException, ClassNotFoundException,SQLException{ dh=newDBHelp(); conn=dh.openConnect(); Stringsql="insertintoLiveinvalues(null,?,?,?,?,?,?,to_date(?,'yyyy-MM-dd'),to_date(?,'yyyy-MM-dd'),?,?,?,?,?,?)"; ps=conn.prepareStatement(sql); ps.setInt(1,liaf.getGrno()); ps.setDouble(2,liaf.getDeposit()); ps.setString(3,liaf.getLiver()); ps.setString(4,liaf.getCardtype()); ps.setInt(5,liaf.getCardid()); ps.setInt(6,liaf.getLphone()); SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd"); Datedate=newDate(); ps.setString(7,sdf.format(date)); ps.setString(8,sdf.format(date)); ps.setInt(9,liaf.getLivenumber()); ps.setString(10,liaf.getOperator()); ps.setInt(11,liaf.getAno()); ps.setString(12,liaf.getBreakfast()); ps.setString(13,liaf.getWakeup()); ps.setString(14,liaf.getLiremarks()); ps.executeUpdate(); dh.closeConnect(); } //按入住单号查询信息 publicList<LiveIn>selectLiveinByLiveno(intliveno)throwsIOException, ClassNotFoundException,SQLException{ dh=newDBHelp(); conn=dh.openConnect(); List<LiveIn>al=newArrayList<LiveIn>(); Stringsql="selectliveno,grno,type,price,discountprice,deposit,liver,cardtype,cardid,lphone,to_char(cometime,'yyyy-MM-dd'),to_char(gotime,'yyyy-MM-dd'),livenumber,operator,ano,breakfast,wakeup,liremarksfromassociatornaturaljoin(select*fromliveinnaturaljoin(select*fromroomnaturaljoinroomtype))whereliveno=?"; ps=conn.prepareStatement(sql); ps.setInt(1,liveno); rs=ps.executeQuery(); while(rs.next()){ LiveInliveIn=newLiveIn(); liveIn.setLiveno(rs.getInt(1)); liveIn.setGrno(rs.getInt(2)); liveIn.setType(rs.getString(3)); liveIn.setPrice(rs.getDouble(4)); liveIn.setDiscountprice(rs.getDouble(5)); liveIn.setDeposit(rs.getDouble(6)); liveIn.setLiver(rs.getString(7)); liveIn.setCardtype(rs.getString(8)); liveIn.setCardid(rs.getInt(9)); liveIn.setLphone(rs.getInt(10)); liveIn.setCometime(rs.getString(11)); liveIn.setGotime(rs.getString(12)); liveIn.setLivenumber(rs.getInt(13)); liveIn.setOperator(rs.getString(14)); liveIn.setAno(rs.getInt(15)); AssociatorDaoImpladi=newAssociatorDaoImpl(); Stringalevel=adi.selectAssociatorByAno(rs.getInt(15)).get(0).getAlevel(); Stringcolumn=""; if(alevel.equals("vip")){ column="vipprice"; }else{ column="normalprice"; } GuestroomDaoImplrdi=newGuestroomDaoImpl(); Doubleaprice=rdi.selectGuestroomByGrno(rs.getInt(2),column); liveIn.setAprice(aprice); liveIn.setBreakfast(rs.getString(16)); liveIn.setWakeup(rs.getString(17)); liveIn.setLiremarks(rs.getString(18)); al.add(liveIn); } dh.closeConnect(); returnal; } //按客房类型查询信息 publicList<LiveIn>selectLiveinByType(Stringtype)throwsIOException, ClassNotFoundException,SQLException{ dh=newDBHelp(); conn=dh.openConnect(); List<LiveIn>al=newArrayList<LiveIn>(); Stringsql="selectliveno,grno,type,price,discountprice,deposit,liver,cardtype,cardid,lphone,to_char(cometime,'yyyy-MM-dd'),to_char(gotime,'yyyy-MM-dd'),livenumber,operator,ano,breakfast,wakeup,liremarksfromassociatornaturaljoin(select*fromliveinnaturaljoin(select*fromroomnaturaljoinroomtype))wheretype=?"; ps=conn.prepareStatement(sql); ps.setString(1,type); rs=ps.executeQuery(); while(rs.next()){ LiveInliveIn=newLiveIn(); liveIn.setLiveno(rs.getInt(1)); liveIn.setGrno(rs.getInt(2)); liveIn.setType(rs.getString(3)); liveIn.setPrice(rs.getDouble(4)); liveIn.setDiscountprice(rs.getDouble(5)); liveIn.setDeposit(rs.getDouble(6)); liveIn.setLiver(rs.getString(7)); liveIn.setCardtype(rs.getString(8)); liveIn.setCardid(rs.getInt(9)); liveIn.setLphone(rs.getInt(10)); liveIn.setCometime(rs.getString(11)); liveIn.setGotime(rs.getString(12)); liveIn.setLivenumber(rs.getInt(13)); liveIn.setOperator(rs.getString(14)); liveIn.setAno(rs.getInt(15)); AssociatorDaoImpladi=newAssociatorDaoImpl(); Stringalevel=adi.selectAssociatorByAno(rs.getInt(15)).get(0).getAlevel(); Stringcolumn=""; if(alevel.equals("vip")){ column="vipprice"; }else{ column="normalprice"; } GuestroomDaoImplrdi=newGuestroomDaoImpl(); Doubleaprice=rdi.selectGuestroomByGrno(rs.getInt(2),column); liveIn.setAprice(aprice); liveIn.setBreakfast(rs.getString(16)); liveIn.setWakeup(rs.getString(17)); liveIn.setLiremarks(rs.getString(18)); al.add(liveIn); } dh.closeConnect(); returnal; } //按客房编号查询信息 publicList<LiveIn>selectLiveinByGrno(intgrno)throwsIOException, ClassNotFoundException,SQLException{ dh=newDBHelp(); conn=dh.openConnect(); List<LiveIn>al=newArrayList<LiveIn>(); Stringsql="selectliveno,grno,type,price,discountprice,deposit,liver,cardtype,cardid,lphone,to_char(cometime,'yyyy-MM-dd'),to_char(gotime,'yyyy-MM-dd'),livenumber,operator,ano,breakfast,wakeup,liremarksfromassociatornaturaljoin(select*fromliveinnaturaljoin(select*fromroomnaturaljoinroomtype))wheregrno=?"; ps=conn.prepareStatement(sql); ps.setInt(1,grno); rs=ps.executeQuery(); while(rs.next()){ LiveInliveIn=newLiveIn(); liveIn.setLiveno(rs.getInt(1)); liveIn.setGrno(rs.getInt(2)); liveIn.setType(rs.getString(3)); liveIn.setPrice(rs.getDouble(4)); liveIn.setDiscountprice(rs.getDouble(5)); liveIn.setDeposit(rs.getDouble(6)); liveIn.setLiver(rs.getString(7)); liveIn.setCardtype(rs.getString(8)); liveIn.setCardid(rs.getInt(9)); liveIn.setLphone(rs.getInt(10)); liveIn.setCometime(rs.getString(11)); liveIn.setGotime(rs.getString(12)); liveIn.setLivenumber(rs.getInt(13)); liveIn.setOperator(rs.getString(14)); liveIn.setAno(rs.getInt(15)); AssociatorDaoImpladi=newAssociatorDaoImpl(); Stringalevel=adi.selectAssociatorByAno(rs.getInt(15)).get(0).getAlevel(); Stringcolumn=""; if(alevel.equals("vip")){ column="vipprice"; }else{ column="normalprice"; } GuestroomDaoImplrdi=newGuestroomDaoImpl(); Doubleaprice=rdi.selectGuestroomByGrno(rs.getInt(2),column); liveIn.setAprice(aprice); liveIn.setBreakfast(rs.getString(16)); liveIn.setWakeup(rs.getString(17)); liveIn.setLiremarks(rs.getString(18)); al.add(liveIn); } dh.closeConnect(); returnal; } //按入住人查询信息 publicList<LiveIn>selectLiveinByLiver(Stringliver)throwsIOException, ClassNotFoundException,SQLException{ dh=newDBHelp(); conn=dh.openConnect(); List<LiveIn>al=newArrayList<LiveIn>(); Stringsql="selectliveno,grno,type,price,discountprice,deposit,liver,cardtype,cardid,lphone,to_char(cometime,'yyyy-MM-dd'),to_char(gotime,'yyyy-MM-dd'),livenumber,operator,ano,breakfast,wakeup,liremarksfromassociatornaturaljoin(select*fromliveinnaturaljoin(select*fromroomnaturaljoinroomtype))whereliver=?"; ps=conn.prepareStatement(sql); ps.setString(1,liver); rs=ps.executeQuery(); while(rs.next()){ LiveInliveIn=newLiveIn(); liveIn.setLiveno(rs.getInt(1)); liveIn.setGrno(rs.getInt(2)); liveIn.setType(rs.getString(3)); liveIn.setPrice(rs.getDouble(4)); liveIn.setDiscountprice(rs.getDouble(5)); liveIn.setDeposit(rs.getDouble(6)); liveIn.setLiver(rs.getString(7)); liveIn.setCardtype(rs.getString(8)); liveIn.setCardid(rs.getInt(9)); liveIn.setLphone(rs.getInt(10)); liveIn.setCometime(rs.getString(11)); liveIn.setGotime(rs.getString(12)); liveIn.setLivenumber(rs.getInt(13)); liveIn.setOperator(rs.getString(14)); liveIn.setAno(rs.getInt(15)); AssociatorDaoImpladi=newAssociatorDaoImpl(); Stringalevel=adi.selectAssociatorByAno(rs.getInt(15)).get(0).getAlevel(); Stringcolumn=""; if(alevel.equals("vip")){ column="vipprice"; }else{ column="normalprice"; } GuestroomDaoImplrdi=newGuestroomDaoImpl(); Doubleaprice=rdi.selectGuestroomByGrno(rs.getInt(2),column); liveIn.setAprice(aprice); liveIn.setBreakfast(rs.getString(16)); liveIn.setWakeup(rs.getString(17)); liveIn.setLiremarks(rs.getString(18)); al.add(liveIn); } dh.closeConnect(); returnal; } //按时间段查询入住客人信息 publicList<LiveIn>selectScheduleByComeTime(Stringfirsttime,Stringlasttime)throwsIOException,ClassNotFoundException, SQLException{ dh=newDBHelp(); conn=dh.openConnect(); List<LiveIn>al=newArrayList<LiveIn>(); Stringsql="selectliveno,grno,type,price,discountprice,deposit,liver,cardtype,cardid,lphone,to_char(cometime,'yyyy-MM-dd'),to_char(gotime,'yyyy-MM-dd'),livenumber,operator,ano,breakfast,wakeup,liremarksfromassociatornaturaljoin(select*fromliveinnaturaljoin(select*fromroomnaturaljoinroomtype))wherecometimebetweento_date(?,'yyyy-MM-dd')andto_date(?,'yyyy-MM-dd')"; ps=conn.prepareStatement(sql); ps.setString(1,firsttime); ps.setString(2,lasttime); rs=ps.executeQuery(); while(rs.next()){ LiveInliveIn=newLiveIn(); liveIn.setLiveno(rs.getInt(1)); liveIn.setGrno(rs.getInt(2)); liveIn.setType(rs.getString(3)); liveIn.setPrice(rs.getDouble(4)); liveIn.setDiscountprice(rs.getDouble(5)); liveIn.setDeposit(rs.getDouble(6)); liveIn.setLiver(rs.getString(7)); liveIn.setCardtype(rs.getString(8)); liveIn.setCardid(rs.getInt(9)); liveIn.setLphone(rs.getInt(10)); liveIn.setCometime(rs.getString(11)); liveIn.setGotime(rs.getS

温馨提示

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

评论

0/150

提交评论