




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、畢業(yè)設(shè)計(jì)說(shuō)明書(shū)學(xué)生姓名學(xué) 號(hào)學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院專 業(yè)計(jì)算機(jī)科學(xué)與技術(shù)(軟件工程)題 目基于web的酒店客房管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)指導(dǎo)教師 講師/碩士 (姓 名) (專業(yè)技術(shù)職稱/學(xué)位)2013年05月畢業(yè)論文獨(dú)創(chuàng)性聲明本人鄭重聲明:本論文是我個(gè)人在導(dǎo)師指導(dǎo)下進(jìn)行的研究工作及取得的研究成果。本論文除引文外所有實(shí)驗(yàn)、數(shù)據(jù)和有關(guān)材料均是真實(shí)的。盡我所知,除了文中特別加以標(biāo)注和致謝的地方外,論文中不包含其他人已經(jīng)發(fā)表或撰寫(xiě)過(guò)的研究成果。其他同志對(duì)本研究所做的任何貢獻(xiàn)均已在論文中作了明確的說(shuō)明并表示了謝意。作者簽名: 日 期: 摘要:隨著信息化時(shí)代的推進(jìn),各個(gè)行業(yè)都在采用采用信息化的管理方式。酒店
2、的管理也必須依托計(jì)算機(jī)管理技術(shù)才能更好的為客戶提供服務(wù)質(zhì)量,提高工作效率與降低自身管理成本。如此才能在競(jìng)爭(zhēng)激烈的酒店行業(yè)中占領(lǐng)一席之地?;趈ava的web應(yīng)用程序,采用較為流行的Struts輕量級(jí)框架和Heibernate技術(shù),以mySQL作為后臺(tái)數(shù)據(jù)庫(kù)開(kāi)發(fā)了酒店客房管理系統(tǒng)。該系統(tǒng)主要包括以下功能模塊:酒店的前臺(tái)管理和后臺(tái)管理。前臺(tái)管理包括:訂單管理模塊,入住管理模塊,會(huì)員管理模塊,和結(jié)賬模塊。后臺(tái)管理包括:用戶管理模塊和房間管理模塊。該系統(tǒng)可為酒店客房管理提供高效的平臺(tái),同時(shí)也為酒店的前臺(tái)工作人員提供更為簡(jiǎn)潔與容易的操作方式,具有較強(qiáng)的實(shí)際應(yīng)用價(jià)值。論文詳細(xì)描述了酒店客房管理系統(tǒng)的開(kāi)發(fā)過(guò)
3、程和實(shí)現(xiàn)的具體功能。關(guān)鍵詞:酒店客房管理系統(tǒng),JAVA,mySQL ,EclipseAbstract: With the process of the information age, all industries are in the use of information management, the hotel management must also be based on the technology of computer management to provide customers better service quality, improve work efficiency
4、and reduce its management cost. So can we in the fierce competition in the hotel industry to occupy a space for one person。 This paper describes the development process of hotel guest room management system and the concrete realization of the function. The system includes the following modules: fore
5、ground management and background management of hotel. Future management includes: order management module, check management module, member management module and check module .The backstage management includes: the user management module and room management module. The system provides an efficient pl
6、atform for the management of hotel rooms, but also provide a more concise and easily platform for the hotel front desk staff . The system is a the web application,which based on Java, using the technology of the Struts and Heibernate frameworks which are more popular,and using mySQL as the backgroun
7、d database.Key words: Hotel room management system,JAVA,mySQL ,Eclipse 目錄TOC o 1-3 h u HYPERLINK l _Toc357347524 1 緒論 PAGEREF _Toc357347524 h 4 HYPERLINK l _Toc357347525 1.1 課題背景 PAGEREF _Toc357347525 h 4 HYPERLINK l _Toc357347526 1.2 目的和意義 PAGEREF _Toc357347526 h 4 HYPERLINK l _Toc357347527 1.3 系統(tǒng)的
8、開(kāi)發(fā)環(huán)境 PAGEREF _Toc357347527 h 4 HYPERLINK l _Toc357347528 2 系統(tǒng)需求分析 PAGEREF _Toc357347528 h 4 HYPERLINK l _Toc357347529 2.1 系統(tǒng)用戶 PAGEREF _Toc357347529 h 4 HYPERLINK l _Toc357347530 2.2 功能需求 PAGEREF _Toc357347530 h 4 HYPERLINK l _Toc357347531 2.3 功能介紹 PAGEREF _Toc357347531 h 5 HYPERLINK l _Toc357347532
9、 3 數(shù)據(jù)庫(kù)設(shè)計(jì) PAGEREF _Toc357347532 h 6 HYPERLINK l _Toc357347533 3.1概念模型E-R圖設(shè)計(jì) PAGEREF _Toc357347533 h 6 HYPERLINK l _Toc357347534 3.2 系統(tǒng)數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì) PAGEREF _Toc357347534 h 7 HYPERLINK l _Toc357347535 4 系統(tǒng)運(yùn)行平臺(tái) PAGEREF _Toc357347535 h 9 HYPERLINK l _Toc357347536 4.1 系統(tǒng)運(yùn)行環(huán)境 PAGEREF _Toc357347536 h 9 HYPERLI
10、NK l _Toc357347537 5 系統(tǒng)的實(shí)現(xiàn)和核心模塊的描述 PAGEREF _Toc357347537 h 9 HYPERLINK l _Toc357347538 5.1 登錄模塊及實(shí)現(xiàn)代碼 PAGEREF _Toc357347538 h 9 HYPERLINK l _Toc357347539 5.2主界面及核心代碼 PAGEREF _Toc357347539 h 10 HYPERLINK l _Toc357347540 5.3 預(yù)定管理界面及核心代碼 PAGEREF _Toc357347540 h 12 HYPERLINK l _Toc357347541 5.4 入住管理界面及核心
11、代碼 PAGEREF _Toc357347541 h 14 HYPERLINK l _Toc357347542 5.5會(huì)員管理界面及核心代碼 PAGEREF _Toc357347542 h 16 HYPERLINK l _Toc357347543 5.6收銀管理界面及核心代碼 PAGEREF _Toc357347543 h 17 HYPERLINK l _Toc357347544 5.7信息查詢界面及核心代碼 PAGEREF _Toc357347544 h 19 HYPERLINK l _Toc357347545 5.8 后臺(tái)管理界面及核心代碼 PAGEREF _Toc357347545 h
12、21 HYPERLINK l _Toc357347546 6 系統(tǒng)測(cè)試 PAGEREF _Toc357347546 h 23 HYPERLINK l _Toc357347547 6.1 系統(tǒng)測(cè)試的必要性 PAGEREF _Toc357347547 h 23 HYPERLINK l _Toc357347548 6.2 測(cè)試系統(tǒng)遇到問(wèn)題及解決辦法 PAGEREF _Toc357347548 h 23 HYPERLINK l _Toc357347549 總 結(jié) PAGEREF _Toc357347549 h 24 HYPERLINK l _Toc357347550 參考文獻(xiàn) PAGEREF _Toc
13、357347550 h 26 HYPERLINK l _Toc357347551 致 謝 PAGEREF _Toc357347551 h 271 緒論1.1 課題背景酒店行業(yè)的迅速發(fā)展,原始的人工管理已經(jīng)越來(lái)越不能滿足用戶的需求,它所帶給酒店的有如下的弊端:工作效率低下,信息維護(hù)成本高,信息管理困難等等。信息時(shí)代的來(lái)臨,計(jì)算機(jī)的使用給酒店管理者們提供了一個(gè)更為高效的、低成本的信息管理與存儲(chǔ)方式。面對(duì)酒店日益增長(zhǎng)的客戶量,以及越來(lái)越多的酒店服務(wù)需求,用計(jì)算機(jī)去管理酒店的業(yè)務(wù)成了一個(gè)迫在眉睫的問(wèn)題,針對(duì)這一需求開(kāi)發(fā)了酒店客房管理系統(tǒng)。1.2 目的和意義對(duì)于酒店來(lái)說(shuō),如何提高管理效能與服務(wù)質(zhì)量將是該
14、酒店能不能在行業(yè)中領(lǐng)先的關(guān)鍵。顯然采用人工的方式不是一個(gè)明智之舉。采用信息化的先進(jìn)管理方式能夠更高效,更精準(zhǔn)的發(fā)揮它的效能,對(duì)提高酒店的競(jìng)爭(zhēng)力也具有很高的價(jià)值?;趙eb的酒店客房管理系統(tǒng)給酒店管理者提供了一個(gè)更高效,易操作,更安全的管理方式。在節(jié)省人力物力資源的同時(shí),更快速的滿足客戶的需求,這是本系統(tǒng)設(shè)計(jì)的目的所在。1.3 系統(tǒng)的開(kāi)發(fā)環(huán)境酒店客房管理系統(tǒng)具體開(kāi)發(fā)環(huán)境如下:(1) 系統(tǒng)開(kāi)發(fā)平臺(tái):Eclipse。(2) 系統(tǒng)開(kāi)發(fā)語(yǔ)言:Java。(3) 數(shù)據(jù)庫(kù)管理系統(tǒng):MySQL。(4) 運(yùn)行平臺(tái):Windows XP,Windows 7。2 系統(tǒng)需求分析2.1 系統(tǒng)用戶酒店客房管理系統(tǒng)的用戶主要
15、有兩種權(quán)限用戶:酒店管理者,酒店前臺(tái)工作人員2.2 功能需求本系統(tǒng)主要完成以下功能:1.預(yù)定管理模塊:(1)普通預(yù)定:普通客戶通過(guò)錄入客戶信息及房間信息提交預(yù)定信息。(2)會(huì)員預(yù)定:通過(guò)輸入會(huì)員ID,跟身份證號(hào)確認(rèn)該會(huì)員信息,后再錄入房間信息 并提交訂單。(3)修改預(yù)定:通過(guò)輸入用戶名及身份證號(hào)修改預(yù)定信息,并提交修改后的信息。2.入住管理模塊:(1)新用戶入?。浩胀蛻敉ㄟ^(guò)錄入客戶信息及房間信息提交入住信息。(2)預(yù)定入住:通過(guò)輸入用戶名及身份證號(hào)查看預(yù)定信息,并提交或修改入住信 息。(3)會(huì)員入住:通過(guò)輸入會(huì)員ID,跟身份證號(hào)確認(rèn)該會(huì)員信息,后再錄入房間信息 并提交入住信息。(4)續(xù)?。和?/p>
16、過(guò)輸入房間號(hào)和身份證號(hào),修改房間到達(dá)日期,并提交。3.會(huì)員管理模塊:(1)注冊(cè)會(huì)員:填寫(xiě)注冊(cè)信息。(2)會(huì)員查詢:查詢數(shù)據(jù)庫(kù)中所有會(huì)員信息。4.收銀管理模塊:(1)結(jié)賬:通過(guò)輸入房間號(hào)和身份證號(hào),系統(tǒng)自動(dòng)結(jié)算當(dāng)前消費(fèi)的金額。5.信息查詢模塊:(1)預(yù)定查詢:查詢當(dāng)前酒店的所有預(yù)定信息。(2)入住查詢:查詢當(dāng)前酒店的所有入住信息。(3)賬單查詢:查詢當(dāng)前酒店的結(jié)賬賬單信息。6.后臺(tái)管理模塊(此功能僅為酒店管理者用):(1)房間的管理:增加或刪除酒店的房間。(2)用戶的管理:增加或者刪除酒店的前臺(tái)管理人員。2.3 功能介紹1相關(guān)技術(shù)采用:本平臺(tái)是基于mySQL數(shù)據(jù)庫(kù)建立的,在Eclipse中編寫(xiě)代
17、碼。2. 系統(tǒng)的總體設(shè)計(jì)結(jié)構(gòu),如下:酒店客房管理系統(tǒng)后臺(tái)管理登陸模塊預(yù)定模塊入住模塊會(huì)員管理收銀管理信息查詢普通登錄管理者登錄預(yù)定查詢普通預(yù)定會(huì)員預(yù)訂修改預(yù)定新用戶入住預(yù)定入住會(huì)員入住續(xù)住結(jié)賬入住查詢賬單查詢房間管理用戶管理會(huì)員注冊(cè)會(huì)員查詢圖2-1 系統(tǒng)功能模塊圖3 數(shù)據(jù)庫(kù)設(shè)計(jì)3.1概念模型E-R圖設(shè)計(jì) 圖3-1 概念模型E-R圖3.2 系統(tǒng)數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)(見(jiàn)表3-1至表3-8)1.用戶表,該表用于管理酒店的前臺(tái)管理人員,操作者為酒店的管理者表3-1 用戶表 user字段名字段類型字段中文名備注user_idint用戶編號(hào)主鍵usernamevarchar(10)用戶
18、名passwordvarchar(10)密碼2.信息預(yù)定表,用于存儲(chǔ)預(yù)定酒店客房的客戶信息,操作者為酒店的前臺(tái)管理人員。表3-2 預(yù)訂信息表reserve_tbl字段名字段類型字段中文名備注book_idint預(yù)定編號(hào)主鍵cashdouble預(yù)付金額member_idint會(huì)員號(hào)arrive_datevarchar抵達(dá)日期時(shí)間leave_datevarchar離開(kāi)時(shí)間reserveRoom_idint房間編號(hào)3.房間類型表,用于描述房間的信息,操作人員為酒店前臺(tái)管理人員。表3-3 房間類型表room_type字段名字段類型字段中文名備注room_type_idint房間類型編號(hào)主鍵descri
19、ptionvarchar(50)描述pricedouble價(jià)格bedCountint床位數(shù)4.會(huì)員信息表,用于描述會(huì)員信息,操作人員為酒店前臺(tái)管理人員。表3-4 會(huì)員表member_tbl字段名字段類型字段中文名備注member_idint會(huì)員編號(hào)主鍵mem_namevarchar(10)客戶名card_idvarchar(20)身份證號(hào)phonevarchar(20)電話pointsdouble消費(fèi)積分discount_idint折扣等級(jí)編號(hào)5.賬單表,用于描述某個(gè)房間的消費(fèi)賬單,操作者為前臺(tái)管理人員。表3-5 賬單表bill字段名字段類型字段中文名備注bill_idint賬單編號(hào)主鍵mon
20、etaryvarchar(10)消費(fèi)金額dateTimedatetime結(jié)賬日期6.登記入住表,用于描述酒店客戶入住的信息,操作者為酒店管理人員。表3-6 登記入住表checking_in字段名字段類型字段中文名備注in_idint入住編號(hào)主鍵checkMember_idint會(huì)員號(hào)cashdouble預(yù)付金額arrive_datevarchar抵達(dá)日期時(shí)間leave_datevarchar離開(kāi)時(shí)間checkinRoom_idint房間編號(hào)7.會(huì)員折扣表,用于描述會(huì)員的折扣信息,操作者為酒店前臺(tái)管理員。表3-7 會(huì)員折扣表vipdisc_tbl字段名字段類型字段中文名備注idint折扣等級(jí)編號(hào)
21、ID主鍵discdouble享受折扣levelvarchar等級(jí)8.房間表,用于描述房間的信息和狀態(tài),操作者為前臺(tái)管理人員。表3-8 房間表room_tbl字段名字段類型字段中文名備注room_idint房間ID主鍵room_namedouble房間名稱room_statusvarchar狀態(tài)roomTypeIdint房間類型編號(hào)4 系統(tǒng)運(yùn)行平臺(tái)4.1 系統(tǒng)運(yùn)行環(huán)境系統(tǒng)運(yùn)行的軟件配置為 Windows 7/XP 版本的操作系統(tǒng)和mySQL數(shù)據(jù)庫(kù)軟件。5 系統(tǒng)的實(shí)現(xiàn)和核心模塊的描述5.1 登錄模塊及實(shí)現(xiàn)代碼當(dāng)酒店前臺(tái)人員登錄時(shí),需要對(duì)其用戶名以及密碼進(jìn)行驗(yàn)證,輸入錯(cuò)誤或是沒(méi)有輸入,點(diǎn)擊登錄會(huì)出現(xiàn)
22、錯(cuò)誤提示信息。不同權(quán)限的用戶(酒店管理者和酒店前臺(tái)管理人員)進(jìn)入系統(tǒng),有不同的功能。1.登錄界面如下:圖5-1登錄界面2.核心代碼如下:/*登錄模塊*/public String userLogin()if( user.getUsername().equals()|user.getUserpassword().equals()text=請(qǐng)輸入用戶名或者密碼;return error;else if( user.getUsername().equals(root)&user.getUserpassword().equals(root)return success1;elseString hql=
23、From User where username=? and userpassword=?;Object params = new Object user.getUsername(),user.getUserpassword();Query query=HibernateUtil.queryAsParams(session, hql, params);if(query.uniqueResult()=null)text=用戶名或者密碼錯(cuò)誤!;return error;elsetext=;return success;5.2主界面及核心代碼主界面顯示各個(gè)二級(jí)菜單。并顯示當(dāng)前酒店房間的狀態(tài),空房為藍(lán)
24、色,預(yù)定為黃色,入住為紅色。右擊房間圖標(biāo),也可對(duì)房間進(jìn)行相應(yīng)的操作,包括:查看房間當(dāng)前的信息,預(yù)定,入住,續(xù)訂,退訂,以及結(jié)賬等操作。1. 主界面如下:圖5-2主界面圖示2. 核心代碼如下:/* 顯示所有房間*/function queryAllRoom(currentPage) if (currentPage 0) /* 加載房間狀態(tài) */var url = loadRoomStyle;var data = currentPage : currentPage,maxResult : 45;ajaxDemo(url, data, showRoomStyle);/* * ajax通用模板*/fu
25、nction ajaxDemo(url, data, successResult) $.ajax(url : url,data : data,dataType : json,type : post,timeout : 5000,success : successResult,error : function() alert(加載失敗!););5.3 預(yù)定管理界面及核心代碼點(diǎn)擊主界面的預(yù)定模塊中的普通預(yù)定,會(huì)跳出如下界面,填寫(xiě)預(yù)定信息點(diǎn)擊提交,會(huì)將該預(yù)定信息寫(xiě)入數(shù)據(jù)庫(kù)。若是會(huì)員預(yù)定,或是修改預(yù)定信息,則要先填寫(xiě)有關(guān)的信息,點(diǎn)擊查詢后,相關(guān)信息會(huì)自動(dòng)顯示在預(yù)定信息界面。1. 預(yù)定管理界面如下: 圖
26、5-3普通用戶預(yù)定界面 2. 核心代碼如下:/* 保存預(yù)定信息 * */public String reserve()String hql = ;Object params = null;Query query = null;/ 修改預(yù)定信息if (memberId != 0)int newRoomId = reserve.getRoom().getRoom_id();/ 新的房間號(hào)hql = from Reserve where member_id=?;params = new Object memberId ;query = HibernateUtil.queryAsParams(sess
27、ion, hql, params);Reserve oldreserve = (Reserve) query.uniqueResult();int oldRoomId = oldreserve.getRoom().getRoom_id();/ 原始的房間號(hào)Room oldRoom = (Room) session.load(Room.class, oldRoomId);Room newRoom = (Room) session.load(Room.class, newRoomId);if (oldRoomId != newRoomId)oldRoom.setRoom_status(空房);se
28、ssion.update(oldRoom);newRoom.setRoom_status(預(yù)定);session.update(newRoom);oldreserve.setArrive_date(reserve.getArrive_date();oldreserve.setLeave_date(reserve.getLeave_date();oldreserve.setCash(reserve.getCash();oldreserve.setRoom(newRoom);session.update(oldreserve);reserveMessage = 修改成功!;HibernateUti
29、l.close(session, tran);return editSuccess;/ 新增預(yù)定信息VipDisc vip = (VipDisc) session.load(VipDisc.class, 1);member.setVipDisc(vip);session.save(member);reserve.setMenber(member);session.save(reserve);Room room = (Room) session.load(Room.class, reserve.getRoom().getRoom_id();room.setRoom_status(預(yù)定);sess
30、ion.update(room);HibernateUtil.close(session, tran);reserveMessage = 預(yù)訂成功!;return success;/* 保存會(huì)員預(yù)定信息* */public String vipReserve()reserve.setMenber(member);session.save(reserve);Room room = (Room) session.load(Room.class, reserve.getRoom().getRoom_id();room.setRoom_status(預(yù)定);session.update(room);H
31、ibernateUtil.close(session, tran);reserveMessage = 預(yù)訂成功!;return success;5.4 入住管理界面及核心代碼入住管理模塊,分為直接入住,預(yù)定入住,會(huì)員入住,續(xù)住四個(gè)子功能,其中直接入住,直接輸入客戶及房間信息,點(diǎn)擊提交會(huì)將此入住信息寫(xiě)入數(shù)據(jù)庫(kù)。其他三個(gè)子功能必須輸入相應(yīng)的確認(rèn)信息,如若信息正確,界面會(huì)直接顯示客戶的相關(guān)信息。1. 界面如下:圖5-4普通客戶入住界面圖5-5預(yù)定入住確認(rèn)界面2. 核心代碼如下: /* 用戶入住* */public String checkin()/* * 預(yù)訂者入住信息保存 * */if (memb
32、erId != 0)member = (Member) session.load(Member.class, memberId);room = (Room) session.load(Room.class, checkin.getRoom().getRoom_id();checkin.setMember(member);checkin.setRoom(room);session.save(checkin);room.setRoom_status(已住);session.update(room);String hql = From Reserve where member_id = ?;Obje
33、ct params = new Object memberId ;Query query = HibernateUtil.queryAsParams(session, hql, params);reserve = (Reserve) query.uniqueResult();session.delete(reserve); elseVipDisc vip = (VipDisc) session.load(VipDisc.class, 1);member.setVipDisc(vip);session.save(member);room = (Room) session.get(Room.cla
34、ss, room.getRoom_id();checkin.setMember(member);checkin.setRoom(room);session.save(checkin);room.setRoom_status(已住);session.update(room);mit();session.close();reserveMessage = 入住成功!;return success;5.5會(huì)員管理界面及核心代碼此模塊有兩個(gè)子功能:會(huì)員注冊(cè)和會(huì)員查詢。當(dāng)注冊(cè)信息填寫(xiě)完后,點(diǎn)擊提交,該客戶就成為本酒店的會(huì)員。前臺(tái)管理人員也可對(duì)酒店的會(huì)員進(jìn)行查詢的動(dòng)作,如此即可幫客戶查詢到該客戶的會(huì)員等級(jí)情
35、況。1. 界面如下所示:圖5-6會(huì)員注冊(cè)界面圖5-7會(huì)員信息查詢界面2. 核心代碼如下:/* 會(huì)員注冊(cè) * */public String vipRegister()VipDisc vip = (VipDisc) session.load(VipDisc.class, member.getVipDisc().getId();member.setVipDisc(vip);session.save(member);HibernateUtil.close(session, tran);returnMessage = 注冊(cè)成功!;return success;/* 查詢會(huì)員信息*/SuppressWa
36、rnings(unchecked)public String queryMember()String hql = from Member;Query query = HibernateUtil.queryAsParams(session, hql, null);List memberLists = new ArrayList();memberLists = query.list();for(int i=0;imemberLists.size();i+)Object res = new Object5; res0 = memberLists.get(i).getMember_id();res1
37、= memberLists.get(i).getMem_name();res2 = memberLists.get(i).getCard_id();res3 = memberLists.get(i).getPhone();res4 = memberLists.get(i).getVipDisc().getLevel();memberList.add(res);return success;5.6收銀管理界面及核心代碼先輸入房間的房間號(hào)和客戶的身份證號(hào),當(dāng)確認(rèn)信息無(wú)誤后,系統(tǒng)會(huì)自動(dòng)顯示該客戶在酒店中的消費(fèi)信息,客戶付完錢后,操作人員在實(shí)付金額框中輸入客戶付的金額,系統(tǒng)會(huì)自動(dòng)計(jì)算需要的找零數(shù)目,結(jié)
38、賬成功會(huì)出現(xiàn)結(jié)賬成功的提示信息。1. 界面如下所示:圖5-8退房界面圖5-9結(jié)賬界面2. 核心代碼如下:/* 退訂房間* */public String queryLeaveRoom()Object params = null;params = new Object room.getRoom_name() ;String hql = ;hql = from Room where room_name=?;Query query = null;query = HibernateUtil.queryAsParams(session, hql, params);if (query.uniqueResu
39、lt() != null)room = (Room) query.uniqueResult();params = new Object room.getRoom_id() ;hql = from Checkin where checkinRoom_id = ?;query = HibernateUtil.queryAsParams(session, hql, params);if (query.uniqueResult() != null)checkin = (Checkin) query.uniqueResult();if (checkin.getMember().getCard_id().
40、equals(member.getCard_id()memberId = checkin.getMember().getMember_id();tryliveAllCount = (DateUtil.parseDateString(checkin.getLeave_date().getTime() - DateUtil.parseDateString(checkin.getArrive_date().getTime()/ (1000 * 60 * 60 * 24)* room.getRoomType().getPrice();return success; catch (ParseExcept
41、ion e)e.printStackTrace();reserveMessage = 無(wú)此房間信息;return error;/* 結(jié)算* */public String payCash()dispenser = paidCash - liveAllCount+ cash;Bill bill = new Bill();bill.setMontary(liveAllCount);bill.setDateTime(DateUtil.formatDate(new Date();session.save(bill);room = (Room) session.load(Room.class, room
42、Id);room.setRoom_status(空房);session.update(room);checkin = (Checkin) session.load(Checkin.class, checkInId);session.delete(checkin);HibernateUtil.close(session, tran);reserveMessage = 結(jié)賬成功;return success;5.7信息查詢界面及核心代碼信息查詢模塊有三個(gè)子功能:預(yù)定信息的查詢,入住信息的查詢,賬單查詢。預(yù)定查詢可查詢到當(dāng)前酒店所有被預(yù)定的房間信息以及預(yù)定客戶的信息;入住查詢可查詢到當(dāng)前酒店所有已入
43、住的房間信息以及入住客戶的信息;賬單查詢可查詢到當(dāng)前酒店已結(jié)賬的房間的營(yíng)收額。該功能的操作者為前臺(tái)管理人員。1.界面如下:圖5-10 預(yù)定信息查詢界面2. 核心代碼如下:public String query()String hql = ;List reserveLists = new ArrayList();/預(yù)訂者List checkinLists = new ArrayList();/入住if(queryStyle.equals(預(yù)定)hql = from Reserve;if(入住.equals(queryStyle)hql = from Checkin;Query query = H
44、ibernateUtil.queryAsParams(session, hql, null);if(queryStyle.equals(預(yù)定)reserveLists = query.list();for(int i=0;ireserveLists.size();i+)Object res = new Object5; res0 = reserveLists.get(i).getBook_id();res1 = reserveLists.get(i).getRoom().getRoom_name();res2 = reserveLists.get(i).getRoom().getRoomTyp
45、e().getDescription();res3 = reserveLists.get(i).getMenber().getMem_name();res4 = reserveLists.get(i).getMenber().getCard_id();reserveList.add(res);if(入住.equals(queryStyle)checkinLists = query.list();for(int i=0;icheckinLists.size();i+)Object res = new Object5; res0 = checkinLists.get(i).getIn_id();r
46、es1 = checkinLists.get(i).getRoom().getRoom_name();res2 = checkinLists.get(i).getRoom().getRoomType().getDescription();res3 = checkinLists.get(i).getMember().getMem_name();res4 = checkinLists.get(i).getMember().getCard_id();reserveList.add(res);return success;5.8 后臺(tái)管理界面及核心代碼后臺(tái)管理有兩個(gè)子功能:房間的管理,前臺(tái)管理人員的管
47、理。采用Jquery和Ajax技術(shù)。房間的管理,即是對(duì)酒店的房間做增加或是刪除的動(dòng)作;前臺(tái)管理人員的管理,即是對(duì)酒店的前臺(tái)員工做增加或是刪除的動(dòng)作。該功能只能是管理員使用,一般前臺(tái)管理員不能使用。1. 界面如下: 圖5-11 房間管理界面2. 核心代碼如下:/*添加房間*/public String addRoom()room.setRoomType(roomType);room.setRoom_status(空房);session.save(room);mit();session.close();return success; /* 刪除某個(gè)房間*/public String deleteR
48、oom()Room room1 = new Room();room1 =(Room) session.load(Room.class, Integer.parseInt(id);session.delete(room1);HibernateUtil.close(session, tran);return success; /* 查詢所有員工 * */SuppressWarnings(unchecked)public String showAllUser()String hql = from User;Query query = HibernateUtil.queryAsParams(sessi
49、on, hql, null);List list = new ArrayList();list = query.list();userList = list;return success;/* * 刪除員工* */public String UserDelete()User us = new User();us = (User) session.load(User.class, Integer.parseInt(id);session.delete(us);HibernateUtil.close(session, tran);return success;/* 添加員工* */public S
50、tring addUser()session.save(user);HibernateUtil.close(session, tran);return success;6 系統(tǒng)測(cè)試6.1 系統(tǒng)測(cè)試的必要性 剛開(kāi)發(fā)出來(lái)的系統(tǒng)不可能是十全十美的,必然會(huì)存在某些漏洞,這就需要程序員從各個(gè)角度對(duì)系統(tǒng)做全方位的測(cè)試。6.2 測(cè)試系統(tǒng)遇到問(wèn)題及解決辦法開(kāi)發(fā)過(guò)程中碰到最棘手的問(wèn)題是Ajax如何運(yùn)用到Struts輕量級(jí)框架中,以前知道的只是Ajax把請(qǐng)求發(fā)送到MVC2的servlet中,再將結(jié)果回傳到j(luò)avaScript。采用Struts之后不知道該如何運(yùn)用Ajax技術(shù)。通過(guò)查閱書(shū)籍,搜集網(wǎng)上資料,請(qǐng)教老師,
51、了解到怎么通過(guò)Ajax將請(qǐng)求發(fā)送到后臺(tái)Action中,最后順利把問(wèn)題解決了。其次就是系統(tǒng)主頁(yè)面某個(gè)房間右擊實(shí)現(xiàn)預(yù)定、入住、結(jié)賬、續(xù)住、退訂房間等功能。剛開(kāi)始的時(shí)候是一點(diǎn)思路都沒(méi)有,因?yàn)榫W(wǎng)頁(yè)打開(kāi)后有自帶的右鍵事件,自己想增加右鍵事件,前提必須要將網(wǎng)頁(yè)所帶的右鍵事件給屏蔽掉,或者換句話說(shuō),就是用自己的右鍵事件去覆蓋原有的右鍵事件。后來(lái)通過(guò)上網(wǎng)查閱資料,終于找到了一個(gè)解決方法,我從網(wǎng)上找了一段關(guān)于處理右鍵事件的js代碼(rightClick.js),開(kāi)發(fā)的過(guò)程中,當(dāng)遇到添加右鍵事件的時(shí)候,我就直接引用它里面封裝好的方法實(shí)現(xiàn)右鍵功能。最后測(cè)試過(guò)程中也出現(xiàn)過(guò)一些問(wèn)題,最典型的要數(shù)退訂功能,當(dāng)我在測(cè)試退訂功能的時(shí)候,當(dāng)我點(diǎn)擊房間退訂后,房間能夠正常的退訂,但是房間的住戶信息還保存在數(shù)據(jù)庫(kù)中,經(jīng)過(guò)測(cè)試才發(fā)現(xiàn)原來(lái)是退訂的時(shí)候沒(méi)有刪除房主信息,但是并不是每一個(gè)房主信息都要?jiǎng)h除,一般會(huì)員的信息是永久保存的,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 籃球場(chǎng)地租賃合同協(xié)議
- 冷庫(kù)維修合同協(xié)議
- 合同額變更的補(bǔ)充協(xié)議
- 種子合同協(xié)議范本
- 解除運(yùn)輸協(xié)議合同
- 華圖協(xié)議班合同條款
- 貨物合同變更協(xié)議
- 夫妻終身協(xié)議合同
- 可轉(zhuǎn)股協(xié)議存款合同樣本
- 簡(jiǎn)易加工協(xié)議合同
- 2025年安徽九華山旅游發(fā)展股份有限公司招聘66人筆試參考題庫(kù)附帶答案詳解
- 普通高中生物學(xué)課程標(biāo)準(zhǔn)-(2024修訂版)
- 三14《情緒對(duì)對(duì)碰》心理健康課件
- 雙硫侖(戒酒硫)藥片藥品說(shuō)明書(shū)
- 《社會(huì)工作概論(第三版)》課件08 第八章 小組社會(huì)工作
- 生理學(xué)(全套課件)
- 路基石方破碎開(kāi)挖專項(xiàng)施工方案
- 二年級(jí)美術(shù)上冊(cè)課件 《3.我的手印畫(huà)》 贛美版 (共18張PPT)
- Q∕SY 126-2014 油田水處理用緩蝕阻垢劑技術(shù)規(guī)范
- 全國(guó)青少年機(jī)器人技術(shù)等價(jià)考試三級(jí)全套課件
- 適老化改造培訓(xùn)課件(PPT 31頁(yè))
評(píng)論
0/150
提交評(píng)論