賓館信息管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計報告_第1頁
賓館信息管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計報告_第2頁
賓館信息管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計報告_第3頁
賓館信息管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計報告_第4頁
賓館信息管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計報告_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、數(shù)據(jù)庫課程設(shè)計報告 -賓館信息管理系統(tǒng)一、 系統(tǒng)開發(fā)平臺題目:酒店信息管理預(yù)訂系統(tǒng) 開發(fā)語言:Java Eclipse /netbeans后臺數(shù)據(jù)庫管理系統(tǒng):SQL Server 2000操作系統(tǒng):windows xp二、 數(shù)據(jù)庫規(guī)劃2.1 任務(wù)述Ø 引言客房管理系統(tǒng)是典型的信息管理系統(tǒng)的一部份,而且是必不可少的一部份。其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護(hù)以與前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起簡潔且資料一致性和完整性強(qiáng)、資料安全性好的數(shù)據(jù)庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點。酒店客房管理系統(tǒng)的容對于經(jīng)營的決策者和管理者來說都至關(guān)重要,所以客房管理系統(tǒng)、信息管

2、理系統(tǒng)應(yīng)該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多弊端,如:效率低、性差,容易出現(xiàn)差錯等,且對于查詢空房間與已定房間等極為不方便。在當(dāng)今時代,這些完全可以改用計算機(jī)來代替人的手工操作。 作為計算機(jī)與網(wǎng)絡(luò)應(yīng)用的一部分,使用計算機(jī)對客房信息進(jìn)行管理,具有手工管理所無法比擬的優(yōu)點。例如:檢索迅速、查找方便、可靠性高、存儲量大、性好、壽命長、成本低等。這些優(yōu)點能夠極提高客房經(jīng)營管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。且辦事效率也是決定收入的一個關(guān)鍵因素。 因此,我選擇的酒店客房管理系統(tǒng)設(shè)計,力求開發(fā)出一套界面

3、友好,功能強(qiáng)大,使用簡單的適用于各大、中、小規(guī)模的酒店客房的管理系統(tǒng)。同時也是一款完全適合賓館或旅館酒店客房管理傻瓜式日常業(yè)務(wù)管理的軟件。酒店系統(tǒng)由前臺和后臺管理兩個部分組成。前臺作為與前臺服務(wù)員直接交互的可視化界面,由于使用方便,能將系統(tǒng)的各個功能提供給他們,以幫助服務(wù)員進(jìn)行客房管理。前臺在考慮功能實現(xiàn)的同時,也考慮了操作的簡潔和方便性,目的是讓大多數(shù)客戶能夠輕松地享受電子商務(wù)給他們帶來的便利。 為了確保客戶和酒店的信息具有更好的安全性,前臺管理和后臺管理是分離的。前臺的各管理模塊只有部分功能和權(quán)限,我為此設(shè)計了兩個角色:一是酒店管理員,二是前臺服務(wù)員。其中:酒店管理員享有最高權(quán)限,可以使用

4、酒店客房管理系統(tǒng)所提供的所有功能,包括員工信息修改、客房類型維護(hù)、客房信息維護(hù)、客戶信息查詢。前臺服務(wù)員的主要職能是負(fù)責(zé)訂房,入住和退房,以與查詢和修改訂單,查詢房間信息和查詢預(yù)訂與入住的客戶信息。所有該角色只可以使用部分功能,后臺管理主要由數(shù)據(jù)庫系統(tǒng)作為支持,后臺管理的維護(hù)工作主要由系統(tǒng)管理員進(jìn)行。Ø 數(shù)據(jù)庫管理系統(tǒng)由于酒店管理系統(tǒng)是一個典型的數(shù)據(jù)庫應(yīng)用系統(tǒng),因而選擇一個良好的DBMS是系統(tǒng)實現(xiàn)的另一個重要環(huán)節(jié)。DBMS訪問數(shù)據(jù)庫。一般來說現(xiàn)代的DBMS具備以下幾個功能:(1)事務(wù)的恢復(fù)功能:為盡可能減少由于故障而引起的數(shù)據(jù)庫數(shù)據(jù)失效的損失,現(xiàn)代的DBMS通常具備恢復(fù)功能。(2)完

5、整性約束檢查:由于數(shù)據(jù)庫中的數(shù)據(jù)是持久和共享的,其正確性十分重要,為保證數(shù)據(jù)的正確性,DBMS提供對數(shù)據(jù)庫數(shù)據(jù)的語法和語義的檢查,數(shù)據(jù)在語義上的約束稱為完整性約束。(3)訪問控制:并不是任何用戶可以不加限制的訪問任何數(shù)據(jù)庫中的數(shù)據(jù),DBMS應(yīng)有控制用戶訪問權(quán)限的功能,即所謂的訪問控制功能,訪問控制不但可以限制用戶的訪問圍,而且可以限制用戶可進(jìn)行的操作。(4)數(shù)據(jù)目錄管理:數(shù)據(jù)庫中保留的是持久和共享的數(shù)據(jù),對數(shù)據(jù)的定義應(yīng)不同于一般的程序設(shè)計語言,應(yīng)獨立于應(yīng)用程序,長期保留在數(shù)據(jù)庫中,這就構(gòu)成了數(shù)據(jù)目錄,數(shù)據(jù)目錄的管理是DBMS的基本功能。2.2 任務(wù)目標(biāo)Ø 設(shè)計目標(biāo)(1)操作簡單方便、

6、界面簡潔美觀,方便中小型酒店人員使用。(2)前臺服務(wù)員功能:住宿管理:客房預(yù)訂(能實現(xiàn)散客和團(tuán)體客戶預(yù)訂,團(tuán)體預(yù)訂可預(yù)訂多間不同類型的房間,并在這些房間中選擇一個作為主房間號)客人入?。軐崿F(xiàn)散客和團(tuán)體客戶入住,團(tuán)體入住可選擇多間不同類型的房間,并在這些房間中選擇一個作為主房間號)客戶信息錄入(在訂單生成頁面將錄入客戶信息,團(tuán)體客戶只記錄一位主客戶信息,而不需所有客戶依次登記)入住押金管理(押金設(shè)為住宿總費用的百分之五十,在開入住訂單時系統(tǒng)自動計算并顯示)信息管理: 預(yù)訂和入住訂單查詢(可按訂單號、客戶號、入住類型查詢)團(tuán)體訂單細(xì)則(對團(tuán)體訂單中每一個房間信息顯示)修改預(yù)訂訂單和入住訂單(可修

7、改主客的基本信息與訂單信息)取消預(yù)訂訂單(直接刪除預(yù)訂訂單,恢復(fù)房間的可用狀態(tài))將預(yù)訂訂單直接轉(zhuǎn)為入?。ㄊ∪チ嗽俅紊扇胱∮唵蔚某绦颍┓块g查詢(可按照房間號、房間類型、房間狀態(tài)查詢)客戶查詢(可按照客戶、客戶號、入住類型查詢)入住客戶中途換房(只能換同種類型房間,消費金額不變)入住客戶正常退房(根據(jù)入住時間計算消費金額,最后客戶應(yīng)繳費用為總費用與已交押金之差)(3)管理員功能:除了前臺接待的功能之外,還包括房間信息設(shè)定與修改(包括客房類型,客房分機(jī)號,樓層,備注)個人信息修改(包括個人密碼,聯(lián)系方式,住址)增加客房類型(包括類型號,單價,床位數(shù),房間設(shè)施,面積等)增加客房信息(包括房間號,房間

8、類型,房間分機(jī),樓層,備注)(4)酒店介紹等信息:介紹酒店的地址,房間價格標(biāo)準(zhǔn),聯(lián)系等信息三、 系統(tǒng)定義3.1 系統(tǒng)邊界酒店信息管理系統(tǒng)住宿管理客房管理后臺管理員散客客房預(yù)訂散客客房入住團(tuán)體客房預(yù)訂團(tuán)體客房入住押金管理客戶信息錄入預(yù)訂訂單查詢?nèi)胱∮唵尾樵冾A(yù)訂訂單修改入住訂單修改取消預(yù)訂訂單房間信息查詢客戶信息查詢個人信息維護(hù)增加客房類型增加客房信息修改已有房間信息退換房管理已住訂單換房已住訂單退房與結(jié)賬3.2 用戶視圖Ø 前臺服務(wù)員散客客房預(yù)訂與入住前的房間查詢散客預(yù)訂生成訂單,錄入客戶基本信息散客入住生成訂單,錄入客戶基本信息團(tuán)體客房預(yù)訂與入住前房間查詢,設(shè)置主房間號團(tuán)體預(yù)訂生成訂

9、單,錄入主客戶基本信息團(tuán)體入住生成訂單,錄入主客戶基本信息預(yù)訂訂單信息查詢預(yù)訂訂單修改團(tuán)體預(yù)訂訂單所有房間信息細(xì)則取消預(yù)訂訂單入住訂單信息查詢?nèi)胱∮唵涡薷膱F(tuán)體入住訂單所有房間信息細(xì)則客房信息查詢客戶信息查詢?nèi)胱Q房管理入住正常退房與消費結(jié)賬管理Ø 后臺管理員后臺管理員登陸管理員個人功能主頁個人信息修改增加客房類型增加客房信息修改已有客房信息四、需求分析4.1 用戶需求分析4.1.1 數(shù)據(jù)需求Ø 前臺服務(wù)員用戶視圖預(yù)訂信息:預(yù)訂訂單號(唯一),客戶號,客戶,主客房間號,預(yù)訂房間數(shù),入住類型(散客/團(tuán)體),預(yù)訂時間,入住時間,入住天數(shù),主客。預(yù)訂登記:預(yù)訂登記號(唯一),所屬預(yù)

10、訂訂單號,房間號,房間類型號,房間類型,預(yù)訂時間,入住時間,入住天數(shù),房間單價。入住信息:入住訂單號(唯一),客戶號,客戶,主客房間號,預(yù)訂房間數(shù),入住類型(散客/團(tuán)體),入住時間,入住天數(shù),主客,房間總費用,需收押金。入住登記:入住登記號(唯一),所屬入住訂單號,房間號,房間類型號,房間類型,預(yù)訂時間,入住時間,入住天數(shù),房間單價。客戶信息:客戶號(唯一),客戶,客戶,性別,備注客房信息:房間號,房間類型號,房間類型(標(biāo)準(zhǔn)間/高級套房/普通單間/總統(tǒng)套房),房間狀態(tài)(可用/預(yù)訂/入?。?,樓層,分機(jī)號,備注換房信息:房間號,房間類型,客戶,客戶號,訂單號退房信息:訂單號,客戶,客戶號,入住時間

11、,入住天數(shù),房間單價,已交押金,房間總費用,還需繳納費用Ø 后臺管理員用戶視圖管理員登陸:管理員賬號,管理員密碼管理員個人信息維護(hù):管理員,管理員賬號,管理員密碼,聯(lián)系,住址,職務(wù)增加房間類型:房間類型號,房間類型名稱,房間單價,床位數(shù),面積,房間設(shè)施增加客房:房間號,房間類型,房間狀態(tài),樓層,分機(jī),備注4.1.2 事務(wù)需求Ø 前臺服務(wù)員視圖:數(shù)據(jù)查詢:現(xiàn)有各類房間的詳細(xì)信息以供預(yù)訂或入住列出已有所有預(yù)訂訂單列出已有所有入住訂單列出所有客房信息(可用/已住/預(yù)訂)列出所有客戶信息(預(yù)訂/入?。┝谐瞿晨蛻舻挠唵吻闆r列出某團(tuán)體的所有登記房間情況列出需要換房的房間信息以與所有同種

12、類型當(dāng)前可用房間信息列出需要退房的房間信息,已交金額與需交金額顯示酒店詳細(xì)信息數(shù)據(jù)錄入:錄入客戶需要的房間信息(選擇房間類型與房間數(shù)目)錄入客戶的基本信息(,號,等)錄入訂單信息(時間,入住天數(shù))錄入訂單修改信息(修改預(yù)訂與入住訂單,與取消訂單)錄入換房信息錄入退房信息數(shù)據(jù)輸出:輸出酒店現(xiàn)有有所類型房間的數(shù)目自動輸出預(yù)訂訂單與入住訂單的訂單號和登記號(每一個訂單有一個訂單號,一個訂單中的每個房間有一個登記號,一個登記號對應(yīng)一個訂單號,一個訂單號對應(yīng)一個或多個登記號。訂單號和登記號按系統(tǒng)時間自動生成)自動輸出退房信息,退房所需交的金額Ø 后臺管理員視圖數(shù)據(jù)錄入:錄入管理員賬號,密碼錄入

13、個人修改信息(密碼,住址)錄入新增加房間類型(類型號,類型名稱,單價等)錄入新增加房間信息(房間號,房間類型,分機(jī),樓層)錄入已有房間修改信息(房間號,房間類型等)數(shù)據(jù)查詢:列出現(xiàn)有所有房間信息列出個人所有信息列出修改后的房間信息數(shù)據(jù)輸出:輸出增加的房間類型輸出增加的房間信息4.2 系統(tǒng)需求說明4.2.1 軟件環(huán)境軟件環(huán)境需要支持Window操作系統(tǒng),與SQL Server 2000商業(yè)數(shù)據(jù)庫4.2.2 硬件環(huán)境Inter(R)Core(TM)2 Duo CPU T5670 1.80GHz 1.79 GHz, 504MB存4.2.3 初始數(shù)據(jù)庫大小 客房信息40條員工信息4條 客戶信息15條

14、預(yù)訂訂單信息8條入住訂單信息7條預(yù)訂登記信息15條入住登記信息15條4.2.4 數(shù)據(jù)庫增長速度住宿信息每天增長大約50條預(yù)訂信息每天增長大約50條 退宿信息每天增長大約30條換房信息每天增長大約10條 其他信息增長速度不定4.2.5記錄查找的類型和平均數(shù)量查詢客房信息 大約每天50次查詢住宿信息 大約每天50次查詢客戶信息 大約每天50次 查詢退宿信息 大約每天50次4.2.6 安全性管理員和服務(wù)員有不同的權(quán)限每個管理員登錄系統(tǒng)是需要身份驗證(前臺服務(wù)員不需要)五、數(shù)據(jù)庫邏輯設(shè)計5.1 ER圖訂單號酒店客房房間類型預(yù)訂登記表登記有屬于客戶預(yù)訂訂單預(yù)訂入住管理管理員所屬登記號登記號訂單號入住登記

15、表入住訂單登記登記號所屬訂單號5.2 數(shù)據(jù)字典5.2.1實體和聯(lián)系屬性客房信息(房間號,房間類型號,房間類型,房間狀態(tài),樓層,房間分機(jī),備注)房間類型(房間類型號,類型名稱,房間單價,面積,床位數(shù),房間設(shè)施)客戶信息(號,客戶,聯(lián)系,性別,備注)預(yù)訂訂單(預(yù)訂訂單號,主客,主客號,主客房間號,入住類型,房間數(shù)目,預(yù)訂時間,入住時間,入住天數(shù),客戶)預(yù)訂登記表(預(yù)訂登記號,所屬預(yù)訂訂單號,房間號,房間類型號,房間類型,預(yù)訂時間,入住時間,入住天數(shù),入住類型,房間單價)入住訂單(入住訂單號,主客,主客號,主客房間號,入住類型,房間數(shù)目,入住時間,入住天數(shù),客戶,房間總費用,需交押金)入住登記表(入

16、住登記號,所屬入住訂單號,房間號,房間類型號,房間類型,入住時間,入住天數(shù),入住類型,房間單價)團(tuán)體入住信息(團(tuán)體入住訂單號,主客,主客號,客戶人數(shù),主客房間號,入住時間,入住天數(shù),主客,房間總費用,需收押金)管理員(管理員賬號,密碼,管理員,職位,聯(lián)系,住址)5.2.2屬性描述實體屬性類型與大小空客戶信息號(key)char(10)否客戶varchar(50)否聯(lián)系varchar(50)否性別varchar(50)否備注varchar(50)客房信息房間號(key)char(10)否房間類型號char(10)否房間類型verchar(50)否房間狀態(tài)verchar(50)否房間分機(jī)char(

17、10)否樓層char(10)否備注varchar(10)管理員管理員賬號(key)char(10)否密碼char(10)否職位varchar(50)否聯(lián)系方式char(10)否住址varchar(50)預(yù)訂訂單預(yù)訂訂單號(key)char(10)否主客varchar(50)否主客號char(10)否入住類型varchar(50)否預(yù)訂房間數(shù)目char(10)否主客房間號char(10)否預(yù)訂時間Datetime否入住時間Datetime否入住天數(shù)Char(10)否主客Char(10)否預(yù)訂登記表預(yù)訂登記號(key)char(10)否所屬預(yù)訂訂單號char(10)否房間號char(10)否房間類

18、型號char(10)否房間類型varchar(50)否預(yù)訂時間datetime(8)否入住時間datetime(8)否入住天數(shù)char(10)否入住類型varchar(50)否房間單價char(10)否入住訂單入住訂單號(key)char(10)否主客varchar(50)否主客號char(10)否入住類型varchar(50)否入住房間數(shù)目char(10)否主客房間號char(10)否入住時間Datetime否入住天數(shù)Char(10)否主客Char(10)否房間總費用Char(10)否需交押金Char(10)否入住登記表入住登記號(key)char(10)否所屬入住訂單號char(10)否房

19、間號char(10)否房間類型號char(10)否房間類型varchar(50)否入住時間datetime(8)否入住天數(shù)char(10)否入住類型varchar(50)否房間單價char(10)否房間類型房間類型號(key)char(10)否類型名稱varchar(50)否床位數(shù)char(10)否單價char(10)否房間設(shè)施varchar(50)否面積char(10)否5.3關(guān)系表六、數(shù)據(jù)庫物理設(shè)計6.1 索引使用查詢分析器運行:USE 酒店管理系統(tǒng)DBCC SHOWCONTIG WITH TABLERESULTS, ALL_INDEXES可以得到“酒店管理系統(tǒng)”數(shù)據(jù)庫中全部索引的相關(guān)信息

20、,其中用戶所建表的部分信息如下:ObjectNameIDIndexNameAverageFreeBytesLogicalFragementation入住訂單18099105PK_團(tuán)體入住信息6384.00.0入住登記表210099789PK_團(tuán)體入住登記表5240.00.0客戶信息837578022PK_客戶信息4730.0100.0房間類型933578364PK_房間類型7422.00.0客房信息1669580986PK_客房信息3876.0100.0管理員1909581841PK_高級管理7617.00.0預(yù)訂訂單2021582240PK_團(tuán)體預(yù)訂信息6278.00.0預(yù)訂登記表20855

21、82468PK_團(tuán)體預(yù)訂登記表4280.0100.0以上都是主鍵索引。6.2 安全機(jī)制(1)后臺管理員登錄必須要通過身份驗證,當(dāng)數(shù)據(jù)庫中有此賬號并且權(quán)限與用戶類型一致是,才能成功登錄。保證了系統(tǒng)的安全性。(2)前臺工作人員沒有權(quán)利訪問經(jīng)理的工作空間,對一些賓館的基本信息和重要數(shù)據(jù),如房間類型、客房信息,沒有全部查詢或者修改的權(quán)利。保證了數(shù)據(jù)的安全性。七、應(yīng)用程序設(shè)計7.1 功能模塊Ø 前臺服務(wù)員(1) 散客的預(yù)訂和入住房間可按照房間類型(如單人間,標(biāo)準(zhǔn)間等)選擇房間,該房間必須為空閑,即未被預(yù)訂,并且目前無人入住的房間,登記客戶的基本信息,包括客戶、登記入住時間、預(yù)定時間。在預(yù)訂后,

22、會自動生成一個訂單號和一個登記號,客房狀態(tài)即為“預(yù)訂”,從而在其他客戶登記查詢房間的時候此房間不會被查詢到。同時,如果客戶在預(yù)訂訂單中的入住時間之后三天仍未到達(dá),則視為放棄,此時房間狀態(tài)恢復(fù)“可用”。(2)團(tuán)體的預(yù)訂和入住登記頁面首先顯示酒店現(xiàn)在剩余的各類空閑房間數(shù),客戶可選擇其中的各種類型數(shù)目,并設(shè)定一個主房間。登記入住客戶的基本信息,包括客戶、通訊地址、登記預(yù)定時間和入住時間以與準(zhǔn)備入住天數(shù),對于已經(jīng)預(yù)定過房間的情況,根據(jù)房間號直接找出其預(yù)定信息,修改需變動的信息后做入住登記。每一個訂單有一個訂單號,一個訂單中包括了該團(tuán)體中的所有房間,且每個房間有一個登記號。即一個訂單對應(yīng)多個登記號,一個

23、登記號只對應(yīng)一個訂單號。團(tuán)體預(yù)訂只需記錄主客的等信息即可。入住之后的房間狀態(tài)為“已住”,從而在其他客戶登記查詢房間的時候此房間不會被查詢到。(3)退宿結(jié)賬根據(jù)訂單號查詢客戶的入住訂單信息,包括住宿天數(shù)、退宿時間,根據(jù)單價、已交押金和入住天數(shù)等信息自動計算費用。(4)入住換房根據(jù)房間號可查詢到該房間與訂單的所有信息,同時會顯示該類房間的其他剩余房間,選擇其中一間確定換房后,訂單表和登記表中的數(shù)據(jù)都會改變。(5)房間管理與查詢查詢預(yù)訂訂單:可以直接查詢所有訂單,也可根據(jù)訂單號、主客號,入住類型查詢。對每一個訂單,可以顯示其登記的所有房間信息。修改預(yù)訂訂單:可以對預(yù)訂訂單中的客戶信息和預(yù)訂信息修改,

24、其中客戶信息包括除了號之外的所有信息,預(yù)訂信息包括入住天數(shù)和入住時間。查詢?nèi)胱∮唵危嚎梢灾苯硬樵兯杏唵?,也可根?jù)訂單號、主客號,入住類型查詢。對每一個訂單,可以顯示其登記的所有房間信息。修改入住訂單:可以對入住訂單中的客戶信息和預(yù)訂信息修改,其中客戶信息包括除了號之外的所有信息,預(yù)訂信息包括入住天數(shù)和入住時間。查詢房間信息:可以直接查詢所有房間的房間號,房間狀態(tài),房間樓層,房間類型等信息,也可以根據(jù)房間號,房間類型,房間狀態(tài)查詢。查詢客戶信息:可以直接查詢所有客戶,也可以根據(jù)客戶,客戶號,訂單類型查找。(6)關(guān)于我們對酒店的簡介與聯(lián)系方式等信息。Ø 后臺管理員 (1) 高級管理查詢

25、、增加、刪除、修改客房信息,還包括修改個人信息,修改密碼等功能。修改房間的各項數(shù)據(jù)信息,包括房間號、房間類型、位置、狀態(tài)、備注。修改個人信息,包括個人登錄密碼,聯(lián)系方式,住址等。(2) 房間類型維護(hù)增加房間類型信息,包括類型號、名稱、面積、床位數(shù)、設(shè)施(是否有沙發(fā)、是否有電視、是否有、是否有衛(wèi)生間),房間價格。對該類信息的修改只有高級管理員才有權(quán)限。7.2 界面設(shè)計使用了Netbeans設(shè)計界面。Ø 主界面Ø 散客預(yù)訂與入住界面:選擇房間類型可以查詢當(dāng)前剩余此類房間數(shù)Ø 生成預(yù)訂訂單。點擊預(yù)訂,自動生成預(yù)訂訂單號和登記號。Ø 生成入住訂單。點擊入住,自動

26、生成入住訂單號和登記號,與需交押金。Ø 團(tuán)體預(yù)訂與入住。選擇房間類型,點擊添加可以增加房間,并可以設(shè)定一個主房間。Ø 生成預(yù)訂訂單和入住訂單,填寫客戶信息。Ø 查詢訂單信息,可以全部查詢,按訂單號、主客號,入住類型查詢。Ø 點擊詳情,可查看該訂單的詳細(xì)登記信息Ø 點擊修改,可以修改預(yù)訂訂單,也可以取消訂單Ø 查詢?nèi)胱∮唵?,和預(yù)訂訂單類似。入住信息修改Ø 查詢房間信息和客戶信息Ø 換房。輸入房間號可查詢同類房間,點擊確定可以換房。Ø 退房結(jié)賬。輸入訂單號可以顯示應(yīng)繳金額。Ø 管理員登陸界面點擊修改

27、,可以顯示自己個人信息并修改。點擊增加,可以增加房間類型和房間信息。輸入房間號或房間類型,可以查詢房間信息。修改房間信息后選擇確定修改。Ø 酒店簡介。7.3 事務(wù)設(shè)計Ø 自動生成訂單號和登記號。publicstaticsynchronized String nextCode(String PREFIX) /產(chǎn)生序列號 GregorianCalendar calendar=new GregorianCalendar();int month=calendar.get(Calendar.MONTH)+1; int day =calendar.get(Calendar.DAY_OF

28、_MONTH); int hour =calendar.get(Calendar.HOUR_OF_DAY); int minute =calendar.get(Calendar.MINUTE); int seconds =calendar.get(Calendar.SECOND); long m =month*100000000 + day*1000000 + hour*10000 + minute * 100 + seconds; String n = (Long)m).toString();return PREFIX + n ;調(diào)用時預(yù)訂訂單參數(shù)為“a”,入住訂單為“b”。登記號為入住號加

29、后綴。/需要自動生成散客入住訂單號和登記號 Xuliehao xulie=new Xuliehao();comeno=xulie.nextCode("b");/訂單號registerno=comeno+"0"/登記號/需要自動生成團(tuán)體入住訂單號和登記號Xuliehao xulie=new Xuliehao();comeno=xulie.nextCode("b");/訂單號registerno=new Stringmessage.length;/登記號registernoi=comeno+String.valueOf(i);Ø

30、 自動計算現(xiàn)在剩余各類房間數(shù)目private String rest(String typno)String sql1="select count(房間號) from 客房信息 where 房間狀態(tài)='可用' and 房間類型號='"+typno+"'"String rest=null;ResultSet a;try sc=new DBconnect();stat=DBconnect.getStatement();a=stat.executeQuery(sql1);while(a.next()rest=a.getStrin

31、g(1);/System.out.print(a); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();return rest;Ø 自動計算退房時應(yīng)繳金額try PreparedStatement prs = conn.prepareStatement("select 需收押金 from 入住訂單 where 入住訂單號=?"); prs.setString(1, ordno);rs1=prs.executeQuery();while(rs1.next()depo

32、sit=rs1.getString(1).trim();/已交押金 catch (SQLException e1) e1.printStackTrace();System.out.println(deposit);String allfare=jTable1.getValueAt(0, 6).toString().trim();/總費用int need=Integer.parseInt(allfare)-Integer.parseInt(deposit);/還需繳納Ø 換房后,房間狀態(tài)改變try PreparedStatement prs1 = conn.prepareStateme

33、nt("update 入住訂單 set 主客房間號=? where 主客房間號=?");prs1.setString(1, newroom);prs1.setString(2, roomno);prs1.executeUpdate();PreparedStatement prs = conn.prepareStatement("update 入住登記表 set 房間號=? where 房間號=?");prs.setString(1, newroom);prs.setString(2, roomno);prs.executeUpdate();Prepare

34、dStatement prs2 = conn.prepareStatement("update 客房信息 set 房間狀態(tài)='可用' where 房間號=?");prs2.setString(1, roomno);prs2.executeUpdate();PreparedStatement prs3 = conn.prepareStatement("update 客房信息 set 房間狀態(tài)='已住' where 房間號=?");prs3.setString(1, newroom);prs3.executeUpdate();

35、JOptionPane.showMessageDialog(null, "換房成功!","ok",JOptionPane.INFORMATION_MESSAGE); catch (SQLException e1) JOptionPane.showMessageDialog(null, "換房失??!","Error",JOptionPane.ERROR_MESSAGE);e1.printStackTrace();八、測試和運行Ø 測試:在測試時花時間最多的地方時sql語句。有時候一個小小的引號沒有中英切換就

36、要出錯,或者是在preparedStatement語句中用setString時候可能會把序號寫錯。出錯以后就不得不反復(fù)用System.out.println()語句檢測,并且用查詢分析器檢測sql語句是否正確。在測試中也發(fā)現(xiàn)當(dāng)條件語句檢測比如jTextField是否為空的時候,用“=null”是檢測不出來的,就要不斷上網(wǎng)搜查資料。在測試中也發(fā)現(xiàn)有很多沒有想到的情況,比如在輸入客房訂單信息時,不僅要考慮所有客戶信息不能為空,還要考慮入住天數(shù)不能小于一,入住時間要晚于預(yù)訂時間等等??赡苄枰芏鄺l件語句,而條件語句嵌套的多了,就容易出問題。實驗進(jìn)行中我的想法一直跟著做的程度變化。因為最開始的時候不可能將所有的情況和事件都料想到。比如roommanage的類中,在查詢窗口中我一直沒有確定到底按照哪種方式查詢。本來設(shè)想了很多jTextField可以供不同的條件查詢,可是測試的時候發(fā)現(xiàn)這樣的出錯率很高,于是將它改成了一個下拉列表,選擇查詢方式再按照條件查詢。不僅界

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論