基于JSP技術(shù)的酒店客房管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[圖]

摘要:本系統(tǒng)應(yīng)用JSP技術(shù),運(yùn)用WindowsXP平臺(tái),使用JAVA編程語言和SQL Server 2005數(shù)據(jù)庫,采用B/S模式開發(fā)設(shè)計(jì)完成。系統(tǒng)分為前臺(tái)和后臺(tái)管理,前臺(tái)主要實(shí)現(xiàn)客戶的瀏覽信息、預(yù)定客房等功能,后臺(tái)是管理員管理信息的平臺(tái),主要是管理員對(duì)客房、客戶的信息的管理(包括添加、修改、刪除、查詢)。針對(duì)C/S結(jié)構(gòu)的酒店客房管理系統(tǒng)存在的不足,使用JSP+JavaBean開發(fā)模式、Tomcat作為Web服務(wù)器、SQL Server 2000作為后臺(tái)數(shù)據(jù)庫,開發(fā)出了B/S結(jié)構(gòu)的酒店客房管理系統(tǒng)。從實(shí)際運(yùn)行效果看,該系統(tǒng)能減少軟件的開發(fā)與維護(hù)成本及酒店用戶的使用成本,體現(xiàn)了較好的擴(kuò)展性、健壯性、穩(wěn)定性,提高了酒店客房管理的效率。

計(jì)算機(jī)技術(shù)發(fā)展至今已走過了半個(gè)多世紀(jì)之久,現(xiàn)在各個(gè)階層、各個(gè)領(lǐng)域都使用著計(jì)算機(jī),在這個(gè)快節(jié)奏的時(shí)代中它已經(jīng)成為了社會(huì)生活的必需品。它的出現(xiàn)是現(xiàn)代社會(huì)進(jìn)步,科技發(fā)展的標(biāo)志。同時(shí)現(xiàn)代化的酒店組織龐大,信息量大。為了要提高效率,降低成本我們需要借助計(jì)算機(jī)來進(jìn)行現(xiàn)代化的信息管理,設(shè)計(jì)一個(gè)酒店客房管理系統(tǒng)。

酒店是服務(wù)與銷售同步的一類企業(yè)。因此,給住店客人提供方便快捷的服務(wù)、降低自己的營業(yè)成本是各個(gè)酒店追求的目標(biāo)。一般來說,酒店主要是靠出租房間及以此產(chǎn)生的各種消費(fèi)作為收入來源。所以,酒店客房部的管理水平直接影響到整個(gè)酒店的經(jīng)濟(jì)效益。

隨著賓館酒店業(yè)競(jìng)爭(zhēng)的加劇,賓館之間客源的爭(zhēng)奪越來越激烈,賓館需要使用更有效的信息化手段,拓展經(jīng)營空間,降低運(yùn)營成本,提高管理和決策效率。傳統(tǒng)的賓館酒店計(jì)算機(jī)管理系統(tǒng)主要包括前臺(tái)管理系統(tǒng)和后臺(tái)管理系統(tǒng)兩大部分,基本包含了賓館主要業(yè)務(wù)部門,初步實(shí)現(xiàn)了對(duì)顧客服務(wù)和進(jìn)行財(cái)務(wù)核算所需要的各個(gè)功能。但傳統(tǒng)的賓館酒店管理系統(tǒng)基于財(cái)務(wù)管理為主線的設(shè)計(jì)理念,無法滿足賓館酒店全面信息化管理的需要。

現(xiàn)代賓館酒店業(yè)迅速發(fā)展,新的管理觀念與模式層出不窮。賓客客房管理系統(tǒng)亦隨著賓館管理理念的發(fā)展而發(fā)展。賓館客房管理系統(tǒng)依照國家星級(jí)賓館標(biāo)準(zhǔn)化業(yè)務(wù)程序,采用了先進(jìn)的數(shù)據(jù)庫理論,多媒體技術(shù),軟件工程理念等,從基層,中層,高層三個(gè)管理者層次為切入點(diǎn),以成本分析,預(yù)測(cè),控制為主線,形成一套上下貫通,操作便捷的酒店系統(tǒng)解決方案,科學(xué)地將賓館各種日常業(yè)務(wù)完美的結(jié)合在一起,為管理及決策提供了強(qiáng)有力的支持。其對(duì)客人個(gè)性化服務(wù)及全面徹底的信息化,使企業(yè)電算化管理水平提升到一個(gè)新的更高層次。提供大量豐富的基于企業(yè)管理經(jīng)營過程中實(shí)際的數(shù)據(jù)。

目前,酒店客房管理系統(tǒng)架構(gòu)上大多是C/S結(jié)構(gòu),所使用的主要有MS Visual Studio.NET系列、Delphi、Java及其相應(yīng)的開發(fā)技術(shù)。無論采用哪種開發(fā)技術(shù),對(duì)于C/S結(jié)構(gòu)的酒店客房管理系統(tǒng),都存在一個(gè)問題,即若要在一臺(tái)電腦上能夠運(yùn)行它,必須安裝相應(yīng)的軟件,對(duì)主機(jī)的硬件配置上都有不同程度地特別要求。使得軟件的開發(fā)和維護(hù)成本、酒店用戶的使用成本都較高。本文以開發(fā)一個(gè)實(shí)例的方式,詳細(xì)講解了采用SQL Server 2000作為后臺(tái)數(shù)據(jù)庫,基于JSP技術(shù)開發(fā)出一個(gè)B/S結(jié)構(gòu)的酒店客房管理系統(tǒng)的系統(tǒng)設(shè)計(jì)與編程實(shí)現(xiàn)過程。

1 系統(tǒng)設(shè)計(jì)

1.1 角色的功能劃分

依據(jù)需求規(guī)格說明書,將系統(tǒng)分為4個(gè)職責(zé)明確、分工合理的角色:管理員、前臺(tái)接待崗、前臺(tái)收銀崗、財(cái)務(wù)崗。每種角色都可以修改自己的登錄密碼、查看自己的登錄日志、瀏覽當(dāng)前房態(tài)。下面主要介紹各個(gè)角色各自的典型功能。

管理員職責(zé):證件類別、現(xiàn)金幣種、付款方式、房間種類、房間消費(fèi)商品及其價(jià)格(例如零食、飲料等,在本系統(tǒng)中稱為“房間消費(fèi)商品”)、酒店提供的收費(fèi)性服務(wù)項(xiàng)目(例如電話費(fèi)、清潔費(fèi)等,在本系統(tǒng)中稱為“房間消費(fèi)雜項(xiàng)”)、前臺(tái)各崗位工作人員等基本數(shù)據(jù)的添加、修改、刪除;每種房間種類的默認(rèn)房?jī)r(jià)、為催交按金而設(shè)定的最小余額的修改;刪除誤輸入的信息。

前臺(tái)接待崗職責(zé)為客人入住登記、預(yù)訂房間、無消費(fèi)直接退房、轉(zhuǎn)房、房態(tài)轉(zhuǎn)換、客人資料錄入與查詢、隨時(shí)打印在住客人報(bào)表等。

前臺(tái)收銀崗職責(zé):領(lǐng)取按金單、收取按金、添加房間消費(fèi)、轉(zhuǎn)賬、結(jié)賬、打印各種財(cái)務(wù)報(bào)表、當(dāng)班清轉(zhuǎn)、核數(shù)過租、日結(jié)等方面。

財(cái)務(wù)崗職責(zé)主要就是強(qiáng)調(diào)從財(cái)務(wù)的角度查看各種財(cái)務(wù)報(bào)表,并以此對(duì)前臺(tái)收銀崗人員上交的各種財(cái)務(wù)報(bào)表進(jìn)行賬目核實(shí)。

從上述角色的職責(zé)功能劃分看,財(cái)務(wù)崗是前臺(tái)收銀崗的一個(gè)“子集”,故而本文重點(diǎn)介紹其余3種角色。管理員一般由前臺(tái)主管或經(jīng)理擔(dān)任。財(cái)務(wù)崗人員主要是核對(duì)前臺(tái)收銀崗上交的各種財(cái)務(wù)報(bào)表,所以一般只需設(shè)置一個(gè)賬號(hào)即可。接待崗人員不接觸和“錢”相關(guān)的操作、視圖。收銀崗人員不負(fù)責(zé)房間狀態(tài)的手工修改、客人房間的分配。但在實(shí)踐中,酒店用戶可根據(jù)自身情況,進(jìn)行靈活設(shè)置與調(diào)整。例如,對(duì)于規(guī)模較小的酒店,可將一個(gè)前臺(tái)員工同時(shí)分配一個(gè)接待崗賬號(hào)和一個(gè)收銀崗賬號(hào)。對(duì)于規(guī)模較大的酒店,可讓有接待崗和收銀崗賬號(hào)的人互不相交,只有二者合作才能完成客人入住手續(xù),即:接待崗人員為一客人分配好房間及其房?jī)r(jià)后,將房號(hào)告知收銀崗人員(客人登記時(shí),接待崗人員可以根據(jù)當(dāng)時(shí)工作的閑忙狀況,可暫時(shí)先只輸入客人的姓名,等閑點(diǎn)時(shí)再補(bǔ)充錄入客人的其他信息);然后收銀崗人員根據(jù)房號(hào)和收取客人按金時(shí)所開的按金單票據(jù)信息,正式確認(rèn)客人入住。系統(tǒng)中的角色與主要實(shí)體之間的聯(lián)系,見圖1所示。

基于JSP技術(shù)的酒店客房管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

圖1中①主要是刪除房間有誤的消費(fèi)、調(diào)整房租。對(duì)其說明如下:

(1) 對(duì)于由前臺(tái)收銀崗人員對(duì)某房間誤輸?shù)南M(fèi)項(xiàng)目,他們只能采取用抵消的方法(即輸入相應(yīng)的負(fù)數(shù)),以保證該房間消費(fèi)總額的正確性。這樣,在打出的結(jié)賬單、流水賬報(bào)表里都會(huì)出現(xiàn)因用于抵消的“負(fù)數(shù)”,而造成“冗余”記錄。在本系統(tǒng)中,只有管理員才能刪除有誤的房間消費(fèi)項(xiàng)目。

(2) 在核數(shù)過租時(shí),未發(fā)現(xiàn)在住房的房?jī)r(jià)有什么錯(cuò)誤,但當(dāng)發(fā)現(xiàn)時(shí)已經(jīng)因?yàn)槿战Y(jié)而由系統(tǒng)自動(dòng)新加了一天的房租。在本系統(tǒng)中,只有管理員才能修改在住房的房租。

1.2 房態(tài)轉(zhuǎn)換

從圖1中可以看出,整個(gè)客房管理系統(tǒng)的運(yùn)作基本上都是圍繞著房間而展開的,為了保持接待崗和收銀崗在合作辦理客人入住時(shí)的同步性,在房態(tài)中新設(shè)了“待交按金”狀態(tài)。具體的房態(tài)轉(zhuǎn)換如圖2所示。

基于JSP技術(shù)的酒店客房管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

對(duì)圖2中的①、②、③分別說明如下:

①是針對(duì)接待崗人員在客人入住登記選擇房間時(shí),有可能發(fā)生選錯(cuò)房號(hào)的情況。此時(shí),接待崗人員只需按“取消入住登記”即可。

②是針對(duì)雖然客人交了相應(yīng)按金,辦完了入住手續(xù),但因自身的一些原因,要退房離店,此時(shí)經(jīng)確認(rèn)還未產(chǎn)生任何消費(fèi)。這種情況下的退房,雖比較少見,但確實(shí)是存在的。如果此時(shí)由收銀崗人員正常結(jié)賬退房,則會(huì)在結(jié)賬單流水賬報(bào)表里顯示出結(jié)果。而假如由接待崗人員辦理“無消費(fèi)直接退房”,就可以從數(shù)據(jù)庫中直接將本次入住事件的所有相關(guān)數(shù)據(jù)徹底清除。在結(jié)賬單流水賬報(bào)表里就不會(huì)出現(xiàn)這些“無實(shí)際意義、冗余”的數(shù)據(jù)。

③是針對(duì)在預(yù)訂事件發(fā)生時(shí),空房較為緊張的情況下,維護(hù)酒店利益、盡可能提高開房率,使“臟房”的房間也可成為“預(yù)訂房”。在系統(tǒng)中會(huì)提示優(yōu)先清理已被預(yù)訂了的臟房。

1.3 房租零頭收取

為監(jiān)督收銀崗員工的結(jié)賬工作,在上交的財(cái)務(wù)報(bào)表中,凡涉及到客人房租消費(fèi)的,除了列出一個(gè)結(jié)賬單對(duì)應(yīng)房間的房租總額外,還進(jìn)一步將房租的“整數(shù)”、“零頭”分開列出,以方便經(jīng)理、財(cái)務(wù)人員核對(duì)賬務(wù)。所謂“整數(shù)”即經(jīng)過日結(jié),由系統(tǒng)自動(dòng)形成的房租,一般是房?jī)r(jià)的正整數(shù)倍。所謂“零頭”即收銀崗人員根據(jù)客人結(jié)賬退房時(shí),離店時(shí)間與規(guī)定的中午12點(diǎn)整點(diǎn)退房的這個(gè)時(shí)間差而產(chǎn)生的房租。為減少工作量、提高結(jié)賬速度,將其默認(rèn)為零。依據(jù)經(jīng)驗(yàn),欲結(jié)賬離店的客人一般都會(huì)在中午12點(diǎn)之前退房,這時(shí)零頭部分默認(rèn)即可;對(duì)于少量的超過12點(diǎn)結(jié)賬退房的情況,則收銀崗人員根據(jù)酒店事先制定好的超時(shí)收費(fèi)規(guī)定以及和客人達(dá)成的約定,手工輸入超時(shí)部分的房租。

1.4 有序打印財(cái)務(wù)報(bào)表

收銀崗人員打印的報(bào)表分為當(dāng)班營業(yè)報(bào)表(付款方式統(tǒng)計(jì)表、實(shí)收匯總表、結(jié)賬單流水賬明細(xì)表)、全天營業(yè)報(bào)表、按金單報(bào)表、在住客人消費(fèi)報(bào)表。

因酒店的客房部是24小時(shí)營業(yè),所以一般將前臺(tái)工作人員分為早、中、晚3個(gè)班次,輪流上班。早班和中班交接班時(shí)都是先打印當(dāng)班營業(yè)報(bào)表,然后當(dāng)班清轉(zhuǎn)、退出系統(tǒng),下一班人員登錄。較復(fù)雜的是晚班以及晚班與早班之間工作的交接。在晚班期間,臨近夜里12點(diǎn)時(shí),進(jìn)行“核數(shù)過租”,查看所有在住房的房?jī)r(jià)、按金等是否有誤。如發(fā)現(xiàn)有誤,及時(shí)修改(這項(xiàng)工作主要以剛開出的房間為主)。次日早上6點(diǎn)左右,打印當(dāng)班營業(yè)報(bào)表、當(dāng)班清轉(zhuǎn)、打印全天營業(yè)報(bào)表、日結(jié)、打印在住客人消費(fèi)的報(bào)表。至約下班前15分鐘,進(jìn)行當(dāng)班清轉(zhuǎn)、退出系統(tǒng),早班人員登錄。

2 數(shù)據(jù)庫設(shè)計(jì)

在數(shù)據(jù)庫設(shè)計(jì)時(shí),整體上綜合考慮兩方面因素:關(guān)系型數(shù)據(jù)庫規(guī)范化理論和表的連接操作對(duì)讀寫數(shù)據(jù)庫性能的影響,將數(shù)據(jù)庫設(shè)計(jì)成滿足3NF。具體在每個(gè)表的每個(gè)字段上:字段名稱采取“簡(jiǎn)潔而有意義”的原則;字段的類型和長(zhǎng)度采取“節(jié)約夠用、適當(dāng)留有余地以便于擴(kuò)展”的原則。

頁面設(shè)計(jì)及相關(guān)代碼分析

賓館客房管理系統(tǒng)的頁面由五部分組成:

●賓館客房管理系統(tǒng)登陸界面的設(shè)計(jì)

●客房管理管理頁面的設(shè)計(jì)

●客房經(jīng)營管理頁面的設(shè)計(jì)

●客戶信息查詢頁面的設(shè)計(jì)

●員工信息管理頁面的設(shè)計(jì)

1.賓館客房管理系統(tǒng)登陸界面的設(shè)計(jì)

系統(tǒng)共分兩類用戶:酒店管理員和前臺(tái)服務(wù)員

當(dāng)用戶進(jìn)入賓館客房管理系統(tǒng)登陸界面后,首先需要進(jìn)行身份驗(yàn)證,系統(tǒng)在驗(yàn)證通過后,將使用UserType變量記錄其用戶類型,并根據(jù)用戶類型確定用戶的使用權(quán)限。賓館客房管理

在SQL Server 2000中共建了22個(gè)表:管理員表、用戶表、證件種類表、現(xiàn)金種類表、付款方式表、房間表、房態(tài)名稱表、按金催交的最小余額表、按金使用情況表、房間消費(fèi)商品表、房間消費(fèi)雜項(xiàng)表、房間維修記錄表、房種默認(rèn)價(jià)格表、日結(jié)記錄表、轉(zhuǎn)房記錄表、轉(zhuǎn)賬記錄表、客人信息表、客人-按金表、客人-房間表、房間-消費(fèi)匯總表、房間-消費(fèi)商品明細(xì)表、房間-消費(fèi)雜項(xiàng)明細(xì)表。限于篇幅,本文只介紹兩個(gè)典型的表及其字段的功能說明。

(1)客人-房間表crooms的表結(jié)構(gòu),如表1所示。

基于JSP技術(shù)的酒店客房管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

關(guān)于字段oldflag取值:零表示該客人是在住客人;為正整數(shù)時(shí)表示該客人已離店(本系統(tǒng)中稱為歷史客人)。如果一個(gè)客人在一天之內(nèi)多次入住、離店,其最大值即表示了該客人在當(dāng)日的離店次數(shù)。為保持?jǐn)?shù)據(jù)庫中數(shù)據(jù)的一致性和完整性約束,在日結(jié)清理數(shù)據(jù)時(shí),針對(duì)該客人的消費(fèi)記錄、住店記錄等數(shù)據(jù)采取的處理方法如下:

假如該客人是歷史客人,則先查詢出與此客人相關(guān)的oldflag字段上的最大值(設(shè)為X),然后刪除oldflag≤X的消費(fèi)記錄、oldflag

(2) 房間-消費(fèi)匯總表rctotal的表結(jié)構(gòu),如表2所示。

基于JSP技術(shù)的酒店客房管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

3 系統(tǒng)實(shí)現(xiàn)

為客人提供快捷的服務(wù)、為酒店用戶提供人性化的操作界面是本系統(tǒng)的設(shè)計(jì)目標(biāo)。在系統(tǒng)實(shí)現(xiàn)時(shí),采用酒店行業(yè)的術(shù)語、按照酒店用戶的使用習(xí)慣,提高界面的友好性。

根據(jù)作者的項(xiàng)目實(shí)踐經(jīng)驗(yàn),酒店一般都是在服務(wù)臺(tái)用一個(gè)Hub集線器將若干主機(jī)連接起來形成一個(gè)局域網(wǎng)。在該局域網(wǎng)內(nèi)使用客房管理系統(tǒng)。若無特別需要,基本是不需連接Internet的。在這種環(huán)境下,軟件架構(gòu)采用B/S、C/S均可。但酒店客房部的營業(yè)活動(dòng)具有較為明顯的“旺季和淡季”。采用B/S結(jié)構(gòu)開發(fā),酒店用戶可根據(jù)需要,基本不受限制地自行增添、更換非服務(wù)器主機(jī)。

基于成本、安全性、可擴(kuò)展性3個(gè)因素進(jìn)行考慮,本系統(tǒng)的架構(gòu)是B/S結(jié)構(gòu),具體采用JSP為開發(fā)技術(shù)(選用“JSP+JavaBean”模式)、Tomcat為Web服務(wù)器、SQL Server 2000為后臺(tái)數(shù)據(jù)庫。

在“JSP+JavaBean”模式下,將與數(shù)據(jù)庫連接池相關(guān)的操作、讀寫數(shù)據(jù)庫的操作、需經(jīng)常使用的數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行的操作分別定義成一個(gè)類。考慮到某個(gè)功能可能需要用到上述建立的多個(gè)類,而JSP動(dòng)作元素中的標(biāo)簽每次只能創(chuàng)建一個(gè)Bean實(shí)例。為避免出現(xiàn)JSP頁面中多次重復(fù)使用標(biāo)簽的情況,在開發(fā)時(shí)單獨(dú)建立一個(gè)JSP文件,在該JSP文件中,用若干條標(biāo)簽將上述類的實(shí)例一起創(chuàng)建好。這樣就可以在各個(gè)JSP頁面中僅用一條JSP指令元素中的include指令即可透明地讀寫數(shù)據(jù)庫,也便于修改和統(tǒng)一管理。

各個(gè)角色經(jīng)統(tǒng)一的登錄頁面成功登錄后,界面均是一個(gè)被拆分為常見的“左窄右寬型”的框架集,其中左側(cè)是功能選擇區(qū),右側(cè)是具體操作區(qū)。

本系統(tǒng)實(shí)現(xiàn)了一對(duì)一的個(gè)性化服務(wù),已被地跨廣東省佛山和江門兩市的柏麗酒店連鎖集團(tuán)的八家分店使用,現(xiàn)在已經(jīng)進(jìn)入穩(wěn)定運(yùn)行期。從運(yùn)行效果看,本系統(tǒng)體現(xiàn)了更加系統(tǒng)化、規(guī)范化、自動(dòng)化,實(shí)現(xiàn)操作簡(jiǎn)便、靈活性強(qiáng)、安全性好等特點(diǎn),更為廣大客戶提供了方便的信息查詢平臺(tái)。

   來源:互聯(lián)網(wǎng)
微信掃描分享本文到朋友圈
掃碼關(guān)注5G通信官方公眾號(hào),免費(fèi)領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費(fèi)領(lǐng)取《中國移動(dòng):5G網(wǎng)絡(luò)AI應(yīng)用典型場(chǎng)景技術(shù)解決方案白皮書
  • 2、回復(fù)“5G6G”免費(fèi)領(lǐng)取《5G_6G毫米波測(cè)試技術(shù)白皮書-2022_03-21
  • 3、回復(fù)“YD6G”免費(fèi)領(lǐng)取《中國移動(dòng):6G至簡(jiǎn)無線接入網(wǎng)白皮書
  • 4、回復(fù)“LTBPS”免費(fèi)領(lǐng)取《《中國聯(lián)通5G終端白皮書》
  • 5、回復(fù)“ZGDX”免費(fèi)領(lǐng)取《中國電信5GNTN技術(shù)白皮書
  • 6、回復(fù)“TXSB”免費(fèi)領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費(fèi)領(lǐng)取《中國移動(dòng)算力并網(wǎng)白皮書
  • 8、回復(fù)“5GX3”免費(fèi)領(lǐng)取《R1623501-g605G的系統(tǒng)架構(gòu)1
  • 本周熱點(diǎn)本月熱點(diǎn)

     

      最熱通信招聘

      最新招聘信息