酒店管理系統(tǒng)畢業(yè)設(shè)計(jì)精編版_第1頁(yè)
酒店管理系統(tǒng)畢業(yè)設(shè)計(jì)精編版_第2頁(yè)
酒店管理系統(tǒng)畢業(yè)設(shè)計(jì)精編版_第3頁(yè)
酒店管理系統(tǒng)畢業(yè)設(shè)計(jì)精編版_第4頁(yè)
酒店管理系統(tǒng)畢業(yè)設(shè)計(jì)精編版_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余20頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

最新資料推薦最新資料推薦摘要旅游和科技化的浪潮使得酒店和餐飲行業(yè)發(fā)展的如火如荼, 如何以方便、快捷、經(jīng)濟(jì)的方式來(lái)對(duì)該行業(yè)進(jìn)行有效管理是一個(gè)重要問(wèn)題,隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,在社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。也使得軟件成了解決問(wèn)題的有效途徑。酒店管理系統(tǒng)以方便、快捷、費(fèi)用低的優(yōu)點(diǎn)正慢慢地進(jìn)入人們的生活,將傳統(tǒng)的酒店管理方式徹底的解脫出來(lái),提高效率,減輕工人人員以往繁忙的工作,減小出錯(cuò)的概率。本系統(tǒng)從滿足客戶的需求角度出發(fā),實(shí)現(xiàn)了酒店管理的基本流程。系統(tǒng)的主要功能包括前臺(tái)服務(wù)、后臺(tái)管理、銷售統(tǒng)計(jì)、系統(tǒng)安全、人員管理、初始化系統(tǒng)等等。用戶在酒店消費(fèi)的時(shí)候所要等待的時(shí)間就會(huì)大大的減少,操作員能夠很方便的對(duì)用戶信息的登記和對(duì)用餐狀態(tài)的的管理,從而實(shí)現(xiàn)了酒店管理系統(tǒng)高效、準(zhǔn)確的特點(diǎn)。本論文全面介紹了酒店管理系統(tǒng)設(shè)計(jì)的過(guò)程,系統(tǒng)是利用MyEclipse7.0作為數(shù)據(jù)庫(kù)前端開(kāi)發(fā)工具,SQLServer2005為后臺(tái)數(shù)據(jù)庫(kù),主要采用WindowsXP/Windows7作為操作系統(tǒng),采用java為開(kāi)發(fā)語(yǔ)言,本著易實(shí)用性,擴(kuò)展性,可移植性的原則,采用c/s模式開(kāi)發(fā),實(shí)現(xiàn)酒店管理信息化的發(fā)展需求。關(guān)鍵詞:數(shù)據(jù)庫(kù)SQLServer2005;MyEclipse7.0;酒店管理系統(tǒng)。目錄第一章系統(tǒng)概述 1開(kāi)發(fā)背景 1開(kāi)發(fā)語(yǔ)言簡(jiǎn)介 系統(tǒng)簡(jiǎn)介 第二章可行性分析 技術(shù)可行性 管理可行性 經(jīng)濟(jì)可行性 第三章系統(tǒng)需求分析 項(xiàng)目規(guī)劃 系統(tǒng)功能結(jié)構(gòu) 用例圖設(shè)計(jì) 第四章系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 設(shè)計(jì)目標(biāo) 開(kāi)發(fā)運(yùn)行環(huán)境 數(shù)據(jù)庫(kù)設(shè)計(jì) 數(shù)據(jù)庫(kù)表的概要 主要數(shù)據(jù)表結(jié)構(gòu) 功能模塊的實(shí)現(xiàn) 4.4.1文件架構(gòu) 4.4.2登錄和系統(tǒng)界面--4.4.3數(shù)據(jù)庫(kù)連接 4.4.3前臺(tái)服務(wù)模塊 a開(kāi)臺(tái)查看實(shí)現(xiàn)--b點(diǎn)菜與簽單實(shí)現(xiàn)c自動(dòng)結(jié)賬實(shí)現(xiàn) 第五章總結(jié) 參考文獻(xiàn) 第一章系統(tǒng)概述開(kāi)發(fā)背景隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,信息時(shí)代的到來(lái),信息改變了我們這個(gè)社會(huì)。各類行業(yè)在日常經(jīng)營(yíng)管理各個(gè)方面也在悄悄地走向規(guī)范化和網(wǎng)絡(luò)化。酒店管理的信息化程度體現(xiàn)在將計(jì)算機(jī)及網(wǎng)絡(luò)與信息技術(shù)應(yīng)用于經(jīng)營(yíng)與管理,以現(xiàn)代化工具代替?zhèn)鹘y(tǒng)手工作業(yè)。無(wú)疑,使用網(wǎng)絡(luò)信息化管理使酒店管理更先進(jìn)、更高效、更科學(xué),信息交流更迅速。酒店管理系統(tǒng)是典型的信息管理系統(tǒng)的一部份,而且是必不可少的一部份。其開(kāi)發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端應(yīng)用程序的開(kāi)發(fā)兩個(gè)方面。對(duì)于前者要求建立起簡(jiǎn)潔且資料一致性和完整性強(qiáng)、資料安全性好的數(shù)據(jù)庫(kù)。而對(duì)于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。酒店管理系統(tǒng)是酒店經(jīng)營(yíng)管理中不可缺少的部分,它的內(nèi)容對(duì)于經(jīng)營(yíng)的決策者和管理者來(lái)說(shuō)都至關(guān)重要,所以客房管理系統(tǒng)、信息管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄巍5恢币詠?lái)人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多弊端,如:效率低、保密性差,容易出現(xiàn)差錯(cuò)等,且對(duì)于查詢維護(hù)等極為不方便。在當(dāng)今時(shí)代,這些完全可以改用計(jì)算機(jī)來(lái)代替人的手工操作。作為計(jì)算機(jī)及網(wǎng)絡(luò)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)客房信息進(jìn)行管理,具有手工管理所無(wú)法比擬的優(yōu)點(diǎn)。例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高客房經(jīng)營(yíng)管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。且辦事效率也是決定收入的一個(gè)關(guān)鍵因素。因此,我們組決定選擇酒店管理系統(tǒng)作為本人的畢業(yè)設(shè)計(jì),力求開(kāi)發(fā)出一套界面友好,使用簡(jiǎn)單的適用于各中、小規(guī)模的酒店管理系統(tǒng)。1.2開(kāi)發(fā)語(yǔ)言簡(jiǎn)介Java語(yǔ)言其實(shí)最早是誕生于1991年,sun公司最初為一些消費(fèi)性電子產(chǎn)品而設(shè)計(jì)的一個(gè)通用環(huán)境,后來(lái)逐步完善廣泛應(yīng)用與Internet,桌面系統(tǒng)等各個(gè)領(lǐng)域,在開(kāi)發(fā)方面具有以下優(yōu)勢(shì):a:軟件的需求分析:可將用戶的需求進(jìn)行動(dòng)態(tài)的、可視化描述,以提供設(shè)計(jì)者更加直觀的要求。而用戶的需求是各色各樣的,不受地區(qū)、行業(yè)部門,愛(ài)好的影響,都可以用Java語(yǔ)言描述清楚。b:軟件的開(kāi)發(fā)方法:由于Java語(yǔ)言的面向目標(biāo)的特性,所以完全可以用0-0的技術(shù)與方法來(lái)開(kāi)發(fā),這是符合最新的軟件開(kāi)發(fā)規(guī)范要求的 。c:Java語(yǔ)言的動(dòng)畫效果遠(yuǎn)比GUI技術(shù)更加逼真,尤其是利用WW提供的巨大動(dòng)畫資源空間,可以共享全世界的動(dòng)態(tài)畫面的資源。軟件產(chǎn)品用java語(yǔ)言開(kāi)發(fā)的軟件可以具有可視化,可聽(tīng)化,可操作化的效果,這要比電視,電影的效果更為理想,因?yàn)樗梢宰龅?即時(shí)、交互、動(dòng)畫與動(dòng)作",要它停就停,要它繼續(xù)就繼續(xù),而這是在電影與電視播放過(guò)程中難以做到的。本系統(tǒng)在選擇java語(yǔ)言原因之一它還具有其跨平臺(tái)性,可移植性,安全性,健壯性。充分考慮跨系統(tǒng)平臺(tái)和安全因素,這對(duì)于產(chǎn)品應(yīng)用和市場(chǎng)化需求有很大作用。1.3系統(tǒng)簡(jiǎn)介現(xiàn)代化的酒店組織龐大、服務(wù)項(xiàng)目多、信息量大,要想提高勞動(dòng)生產(chǎn)、降低成本、提高服務(wù)質(zhì)量和管理水平,進(jìn)而促進(jìn)經(jīng)濟(jì)效益,必須借助計(jì)算機(jī)來(lái)進(jìn)行現(xiàn)代化的信息管理。酒店管理系統(tǒng)正是為此而設(shè)計(jì)的。優(yōu)秀的酒店客房管理系統(tǒng)操作方便,靈活性好,系統(tǒng)安全性高,運(yùn)行穩(wěn)定。這也是我所設(shè)計(jì)本程序的目的之一。本產(chǎn)品采用的C/S模式開(kāi)發(fā),主要考慮界面的友好性,且運(yùn)行于客戶端有效的降低服務(wù)器和客戶端之間的運(yùn)算量,節(jié)省了時(shí)間。本系統(tǒng)包括銷售統(tǒng)計(jì),后臺(tái)管理,人員管理,初始化系統(tǒng),和系統(tǒng)安全五個(gè)模塊。并與sql2005數(shù)據(jù)庫(kù)應(yīng)用相結(jié)合。第二章可行性分析技術(shù)可行性編寫語(yǔ)言:采用Java語(yǔ)言進(jìn)行編寫。Java是一種安全的、穩(wěn)定的、簡(jiǎn)單的,由C和C++衍生出來(lái)的面向?qū)ο蟮木幊陶Z(yǔ)言。它在繼承C和C++雖大功能的同時(shí)去掉了一些它們的復(fù)雜特性(例如沒(méi)有宏和模版,不允許多重繼承)。Java操作簡(jiǎn)單和運(yùn)行效率高,以其強(qiáng)大的操作能力、優(yōu)雅的語(yǔ)法風(fēng)格、創(chuàng)新的語(yǔ)言特性,編程的支持成為開(kāi)發(fā)的首選語(yǔ)言。由于對(duì)Java技術(shù)比較熟練,對(duì)于系統(tǒng)較為簡(jiǎn)單的,但基本功能較為完善的酒店管理系統(tǒng)來(lái)說(shuō)是基本沒(méi)有問(wèn)題的。編程平臺(tái):編程平臺(tái)采用myeclicps7.0.它已被證明是一個(gè)極其強(qiáng)大和成功的開(kāi)發(fā)平臺(tái),其成熟穩(wěn)定能夠充分保證軟件設(shè)計(jì)的順利進(jìn)行。數(shù)據(jù)庫(kù):數(shù)據(jù)庫(kù)采用微軟的SQLServer2005,雖然該數(shù)據(jù)庫(kù)版本不是最新的,但其工作穩(wěn)定,功能強(qiáng)大,資源耗費(fèi)較少,所以能夠充分滿足目前的需要。以上所用技術(shù)都是成熟的,先進(jìn)的,穩(wěn)定的。因此,開(kāi)發(fā)本系統(tǒng)在技術(shù)上是可行的。管理可行性由于本系統(tǒng)功能比較簡(jiǎn)單,對(duì)于工作人員不存在太大難度。管理員權(quán)限明確,系統(tǒng)管理員擁有維護(hù)數(shù)據(jù)庫(kù)系統(tǒng)的權(quán)限,對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行添加、刪除、更新等操作界面友好簡(jiǎn)單可操作性強(qiáng)。因此,本系統(tǒng)在管理上是可行的。在本系統(tǒng)的運(yùn)營(yíng)階段,使用系統(tǒng)的工作人員,除了需要具備在Windows平臺(tái)上使用個(gè)人電腦的知識(shí),并不需要特別的技術(shù)能力。本系統(tǒng)充分結(jié)合實(shí)際酒店中餐飲營(yíng)銷方式,操作實(shí)際易于接受,適用性強(qiáng)。在銷售統(tǒng)計(jì)模塊中分別對(duì)年,月,日銷售模塊進(jìn)行全面統(tǒng)計(jì),有利于改善優(yōu)化管理服務(wù)。經(jīng)濟(jì)可行性經(jīng)濟(jì)上主要考慮本系統(tǒng)帶來(lái)的效益是否大于開(kāi)發(fā)本系統(tǒng)的成本,采用自動(dòng)化的信息管理減少了人員的使用,對(duì)信息進(jìn)行充分統(tǒng)計(jì),方便管理,為決策著進(jìn)行更好決策做出依據(jù),提高經(jīng)濟(jì)效益,由于本系統(tǒng)的開(kāi)發(fā)以課程設(shè)計(jì)為依托,參與人員的目的以學(xué)習(xí)為主,投入成本比較小。另外,系統(tǒng)管理員和業(yè)務(wù)員都擁有計(jì)算機(jī)的專業(yè)知識(shí),酒店前臺(tái)工作人員和管理人員不需要經(jīng)過(guò)培訓(xùn)即可操作本軟件。這樣可以為開(kāi)發(fā)本系統(tǒng)節(jié)升資金。減少后期資源浪費(fèi)。因此,開(kāi)發(fā)本系統(tǒng)在經(jīng)濟(jì)是可行的。綜上所述,開(kāi)發(fā)本系統(tǒng),在經(jīng)濟(jì)上、技術(shù)上、管理上都是可行的。第三章系統(tǒng)需求分析項(xiàng)目規(guī)劃通過(guò)項(xiàng)目組考察與調(diào)研,系統(tǒng)整理所有資料,并對(duì)這些資料從整體和局部進(jìn)行分析,最后決定在本系統(tǒng)中包含如下6大功能模塊。前臺(tái)服務(wù):該模塊主要包括開(kāi)臺(tái)點(diǎn)菜,維護(hù)菜品,簽單,結(jié)賬等功能,其中維護(hù)菜品功能包括添加和取消菜品,能夠取消菜品的前提條件是尚未簽單,即處于開(kāi)單狀態(tài),結(jié)賬時(shí)則要求所有商品都要簽單,否則不允許結(jié)賬。后臺(tái)管理:該模塊主要包括臺(tái)號(hào)管理,菜系管理和菜品管理功能,其中菜系用來(lái)對(duì)菜品進(jìn)行分類。銷售統(tǒng)計(jì):該模塊主要用來(lái)分段統(tǒng)計(jì)營(yíng)業(yè)額,可以按日,月,年進(jìn)行統(tǒng)計(jì),其中日統(tǒng)計(jì)是按照消費(fèi)單和銷售的商品統(tǒng)計(jì)銷售額, 月統(tǒng)計(jì)是按照日期和每日的銷售額統(tǒng)計(jì)銷售額,年統(tǒng)計(jì)是按照日期和月份統(tǒng)計(jì)銷售額。系統(tǒng)安全:該模塊主要包括交接班,鎖定系統(tǒng)和修改密碼功能,其中交接班功能在操作員換崗時(shí)使用,鎖定系統(tǒng)在操作員臨時(shí)離開(kāi)時(shí)使用。人員管理:該模塊主要包括檔案管理,管理員管理和操作權(quán)限管理功能,其中管理員管理功能用來(lái)管理系統(tǒng)的操作員,權(quán)限管理功能用來(lái)管理系統(tǒng)操作員具有的操作權(quán)限。初始化系統(tǒng):該功能用來(lái)對(duì)系統(tǒng)進(jìn)行初始化,初始化后系統(tǒng)數(shù)據(jù)將全部被刪除。蓉店管理系統(tǒng)的墓本濟(jì)程系統(tǒng)功能結(jié)構(gòu)該介紹以超級(jí)管理員的角色從整理結(jié)構(gòu)來(lái)介紹各個(gè)功能模塊的使用方法。首先進(jìn)入登錄界面用超級(jí)管理員權(quán)限登錄,超級(jí)管理員擁有后臺(tái)管理,銷售統(tǒng)計(jì),系統(tǒng)安全,人員管理,前臺(tái)管理,初始化系統(tǒng)權(quán)限,分別可以對(duì)管理員賦予各種權(quán)限,并且對(duì)臺(tái)號(hào),菜品種類進(jìn)行設(shè)定分類,還可以進(jìn)行銷售統(tǒng)計(jì)和初始化系統(tǒng)(初始化后系統(tǒng)數(shù)據(jù)將被全部刪除)誦詹管淮索俛具件袪構(gòu)團(tuán)維護(hù)菜品簽單開(kāi)臺(tái)點(diǎn)菜I前臺(tái)服務(wù)|人員管理!誦詹管淮索俛具件袪構(gòu)團(tuán)維護(hù)菜品簽單開(kāi)臺(tái)點(diǎn)菜I前臺(tái)服務(wù)|人員管理!初始化系統(tǒng)用例圖設(shè)計(jì)a:前臺(tái)服務(wù)分析b:后臺(tái)管理分析菜系管理菜品管理c:銷售統(tǒng)計(jì)d:系統(tǒng)安全鎖定系統(tǒng)修改密碼e:人員管理檔案管理管理員管理f:初始系統(tǒng)化初始化系統(tǒng)第四章系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)4.1設(shè)計(jì)目標(biāo)根據(jù)餐飲行業(yè)的特點(diǎn)和實(shí)際情況,本系統(tǒng)以餐飲業(yè)務(wù)為基礎(chǔ),突出前臺(tái)管理,重視營(yíng)業(yè)數(shù)據(jù)分析等功能,從專業(yè)角度出發(fā),努力為餐飲管理者提供科學(xué)有效的管理模式和數(shù)據(jù)分析功能。力求開(kāi)發(fā)出一款簡(jiǎn)單,使用的酒店管理系統(tǒng),令其適合于眾多餐飲企業(yè)的需求,同時(shí)該系統(tǒng)還要具有一定的人性化和智能化的特點(diǎn),以保證軟件有易學(xué)易用的特點(diǎn),界面設(shè)計(jì)還要簡(jiǎn)介大方,以便常用功能的操作。開(kāi)發(fā)運(yùn)行環(huán)境本系統(tǒng)運(yùn)行時(shí)需要以下條件。硬件平臺(tái):cpu:pentium41.8GHz內(nèi)存:256MB以上操作系統(tǒng):windowsxp/windows2000/windows2003/windows7數(shù)據(jù)庫(kù):SqlServer2005開(kāi)發(fā)工具包:JDKVersion1.6數(shù)據(jù)庫(kù)的設(shè)計(jì)本系統(tǒng)的底層數(shù)據(jù)庫(kù)采用的sqlserver2005數(shù)據(jù)庫(kù),系統(tǒng)數(shù)據(jù)庫(kù)名稱為db_DrinkeryManage。在數(shù)據(jù)庫(kù)中共包含7個(gè)數(shù)據(jù)庫(kù)表和三個(gè)視圖。下面是對(duì)各表的概要說(shuō)明及具體及結(jié)構(gòu)。數(shù)據(jù)庫(kù)表的概要該樹(shù)形結(jié)構(gòu)圖顯示了數(shù)據(jù)庫(kù)系統(tǒng)的所有數(shù)據(jù)表。+」數(shù)據(jù)庫(kù)關(guān)聚圖日匚|表田_j系統(tǒng)表j±3tb_dssk(臺(tái)號(hào)表)+Jdbo.tb_manager(理員老)1+Jdbu-tb_m^jwji筮品段)1±.」dbo.tOrder_forfn( )i3itotb_ordir_ii?(ififWtiR)+l9dlo.tb_record(檔奚表)l+□dlo.tl_sort(?^S)-J視圖J£」系統(tǒng)視團(tuán)l+□心譏jman筆網(wǎng)管朋員親閹}+因dbo- ?nu_ani_sort(菓晶現(xiàn)胡i■+目dto.v_ordtr_iten*_and_m?i?( 圖項(xiàng)目}432主要數(shù)據(jù)表結(jié)構(gòu)tb_desk臺(tái)號(hào)表,用于保存餐臺(tái)信息,表結(jié)構(gòu)如下所示列容數(shù)據(jù)類型允許空numvardiar(S)□seatingintBstetechar(4)Otb_sort菜系表用于保存菜系信息,表結(jié)構(gòu)如下所示列容埶擄類型 允許空呻0朮 Enamevarchar(2Q} 鬥statechar(4) Bntb_menu菜品表,用于保存菜品信息,表結(jié)構(gòu)如下所示

numsortjdnamecodeunit□nitjxicestate敎揚(yáng)類型 允許空diar(9)intv3rchar(20)varchar(lO)vardiar(4)char(4)tb_record檔案表,用于保存檔案信息,表結(jié)構(gòu)如下所示列営 頻據(jù)類型 允許空numnumsortjdnamecodeunit□nitjxicestate敎揚(yáng)類型 允許空diar(9)intv3rchar(20)varchar(lO)vardiar(4)char(4)tb_record檔案表,用于保存檔案信息,表結(jié)構(gòu)如下所示列営 頻據(jù)類型 允許空numdw(9)namevardiarfB)sexdiar{2)birthdaydatetimeidqfdvarchar(2O)addressvarchar(l(X)}statechar(4)nncnnnctb_manager管理員表,用于保存系統(tǒng)管理員信息,表結(jié)構(gòu)如下所示列名 數(shù)據(jù)類型 佩許空idhnt Brecord_numchar(9)npasswordvarchar(2O}npurview_systemchar(2)pur^iew_sellchar(2)purview_personn創(chuàng)char(2)purview」nitdiar(2)atb_order_form消費(fèi)單表用于保存消費(fèi)單信息,表結(jié)構(gòu)如下所示列容 數(shù)據(jù)類型 允許空num ]char(ll)desk_nLm vardiar(6)a)nsume_clate datetimeexpenditure intrecord_num 6a「(9〕

tb_order_item消費(fèi)項(xiàng)目表用于保存每個(gè)消費(fèi)單具體包含的消費(fèi)項(xiàng)目信息,表結(jié)構(gòu)如下所示4.4功能模塊的實(shí)現(xiàn)系統(tǒng)根據(jù)酒店管理中餐飲行業(yè)的特點(diǎn),共有六個(gè)模塊組成,在此本人將以前臺(tái)服務(wù)模塊為例,詳細(xì)的闡述系統(tǒng)實(shí)現(xiàn)的主要思想,和設(shè)計(jì)邏輯,4.4.1文件架構(gòu)寫代碼之前,通常將系統(tǒng)的文件夾架構(gòu)做一整體規(guī)劃,主要目的對(duì)文件進(jìn)行分類管理,以便在開(kāi)發(fā)和維護(hù)中迅速查找,同時(shí)也對(duì)系統(tǒng)起到分層作用?pr1 ?CC3:~HrTl&3HPEtl3:~HrTl&3HPEtl@HH9任HHH任rffi-:s:a-由:田:國(guó)由:.國(guó)?com.mvqcom?mwq.d&ocom.mwq.framecom.mwq.frame,perscjmelcom.mwq.frame,statcom.陽(yáng)壯臣干眇電”systemcom.mwq.ccrnimwq.toolJKESystemLitrary[comsunIiats3sLf@libDrir&:eryNanagesjarMA1HFEST.HFSplashScr&en-png以文件架構(gòu)為基礎(chǔ),整體設(shè)計(jì)出功能架構(gòu)圖,如下所示-酒店負(fù)■理乘統(tǒng)[TipVizardframe.java□

開(kāi)臺(tái)點(diǎn)菜營(yíng)理alog.javaMonthTT-yDap】q氐jjTlpTFizari翻站化奈統(tǒng)dPimwjava理就品管理SortOialcEjavaHesuDialoe.java-酒店負(fù)■理乘統(tǒng)[TipVizardframe.java□

開(kāi)臺(tái)點(diǎn)菜營(yíng)理alog.javaMonthTT-yDap】q氐jjTlpTFizari翻站化奈統(tǒng)dPimwjava理就品管理SortOialcEjavaHesuDialoe.javap系銃;復(fù)班柔統(tǒng)安全人員售理尺匕口口!*java樓定霍扯DTipT1zardPraKMaxiagDrMAn.n.g-RrDiliTa£-.jI [ltt改密珂 音便員曾理'■j&vatpdate^assv^rdDiaI^e*,java廣]擁作權(quán)限L扌者理3rlaxiageryanageFDialc£_java'.JA7A442登錄和系統(tǒng)界面采用swing技術(shù)設(shè)計(jì)出登陸窗體,主要有登錄名框,密碼框,和兩個(gè)按鈕組成,界面友好簡(jiǎn)潔,「圏畢l±i軸 - I口I系統(tǒng)主窗體設(shè)計(jì)以容器,面板方式嵌套組合,主要本著簡(jiǎn)單易懂,界面友好為原則,充分體現(xiàn)操作性實(shí)用性的特點(diǎn)。

443數(shù)據(jù)庫(kù)連接采用myeclicps和sqlserver2005的連接方式,在使用數(shù)據(jù)庫(kù)之前應(yīng)注意以下問(wèn)題,安裝數(shù)據(jù)庫(kù)驅(qū)動(dòng)應(yīng)為1.2版本以上,而且要確保TCP/IP端口協(xié)議開(kāi)啟。創(chuàng)建5個(gè)私有靜態(tài)變量加載和連接數(shù)據(jù)庫(kù),其中threadlocal用來(lái)保存已經(jīng)創(chuàng)建的數(shù)據(jù)庫(kù)連接。privatestaticfinalStringDRIVERCLASS="com.microsoft.sqlserver.jdbc.SQLServerDriver"privatestaticfinalStringURL="jdbc:sqlserver://:1433;DatabaseName=db_DrinkeryManage"private staticprivate staticfinal Stringprivate staticprivate staticfinal Stringfinal StringPASSWORD="sa"此處為加載數(shù)據(jù)庫(kù)驅(qū)動(dòng):privatestaticfinal ThreadLocalvConnection>threadLocal=newprivatestaticfinal ThreadLocalvConnection>threadLocal=newThreadLocalvConnection>();static{// 在靜態(tài)代碼塊中加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)try{Class.forName(DRIVERCLASS).newInstance();//加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)}catch(Exceptione){e.printStackTrace();}}此處連接數(shù)據(jù)庫(kù)方法:publicstaticConnectiongetConnection(){//創(chuàng)建數(shù)據(jù)庫(kù)連接的方法Connectionconn=threadLocal.get();//從線程中獲得數(shù)據(jù)庫(kù)連接if(conn== null){//沒(méi)有可用的數(shù)據(jù)庫(kù)連接try{(URL,USERNAME,conn=DriverManager.getConnectionPASSWORD);//創(chuàng)建新的數(shù)據(jù)庫(kù)連接threadLocal.set(conn);//將數(shù)據(jù)庫(kù)連接保存到線程中}catch(SQLExceptione){}e.printStackTrace();}returnconn;//返回?cái)?shù)據(jù)庫(kù)連接}此處為關(guān)閉數(shù)據(jù)庫(kù):publicstaticbooleancloseConnection(){ //關(guān)閉數(shù)據(jù)庫(kù)連接的方法booleanisClosed= true;//默認(rèn)關(guān)閉成功Connectionconn= threadLocal.get();//從線程中獲得數(shù)據(jù)庫(kù)連接if(conn!=null){//數(shù)據(jù)庫(kù)連接可用threadLocal.set(null);//清空線程中的數(shù)據(jù)庫(kù)連接try{conn.close();//關(guān)閉數(shù)據(jù)庫(kù)連接}catch(SQLExceptione){isClosed=false;//關(guān)閉失敗e.printStackTrace();}}returnisClosed;//返回關(guān)閉結(jié)果}前臺(tái)服務(wù)模塊前臺(tái)服務(wù)模塊主要分為,開(kāi)臺(tái)簽單,點(diǎn)菜簽單,自動(dòng)結(jié)賬功能,以人性化,簡(jiǎn)易化為原則,增加了系統(tǒng)的可操作性,例如,開(kāi)臺(tái)點(diǎn)菜功能中有助記碼

可方便前臺(tái)進(jìn)行快捷輸入菜品名稱,如紅燒肉助記碼為hsr,輸入一個(gè)或全部字母即可出來(lái)菜品名。用自動(dòng)結(jié)帳功能系統(tǒng)可自動(dòng)顯示應(yīng)付金額和要找金額。從而避免因忙碌和繁雜的事物和數(shù)據(jù)造成的過(guò)失。a開(kāi)臺(tái)查看實(shí)現(xiàn)在客戶需要服務(wù)時(shí)選中所開(kāi)臺(tái)號(hào),然后點(diǎn)開(kāi)單即可進(jìn)行點(diǎn)菜等服務(wù)操作,主窗體上部顯示簽單列表,開(kāi)臺(tái)列表,分別對(duì)臺(tái)號(hào),和賬單進(jìn)行顯示,在主界面中圖示如下砌單砌單a金?1a1閒nM帥211OW飯1100100'JEW3now1席號(hào)胸?cái)R110&11752:092100217:52:?當(dāng)在“臺(tái)號(hào)”下拉框中選中已經(jīng)開(kāi)臺(tái)的臺(tái)號(hào)時(shí),開(kāi)臺(tái)列表中該臺(tái)號(hào)所在的行也將被選中,同時(shí)在簽單列表中將列出該餐臺(tái)消費(fèi)的所有項(xiàng)目,效果如上圖所示如果在“臺(tái)號(hào)”下拉框中選中尚未開(kāi)臺(tái)的臺(tái)號(hào)時(shí),在開(kāi)臺(tái)列表中將不選中任何行,并且在簽單列表中將沒(méi)有任何項(xiàng)目,實(shí)現(xiàn)“臺(tái)號(hào)”代碼如下:finalJLabelnumLabel= newJLabel(); //創(chuàng)建臺(tái)號(hào)"標(biāo)簽numLabel.setText( "臺(tái)號(hào):");//設(shè)置標(biāo)簽文本orderDishesPanel.add(numLabel);numComboBox=newJComboBox();//創(chuàng)建臺(tái)號(hào)選擇框numComboBox.setNextFocusableComponent( codeTextField丄//設(shè)置下一個(gè)將要獲得焦點(diǎn)的組件initNumComboBox(); //初始化臺(tái)號(hào)選擇框numComboBox.addActionListener( newActionListener(){public voidactionPerformed(ActionEvente){introwCount=rightTable.getRowCount(); //獲得已開(kāi)臺(tái)數(shù)if(rowCount==0) //沒(méi)有開(kāi)臺(tái)

//獲得return;//不執(zhí)行任何操作//獲得ifintneedSelectedRow=-1;//默認(rèn)選中的臺(tái)號(hào)未開(kāi)臺(tái)for(introw=0;ifintneedSelectedRow=-1;//默認(rèn)選中的臺(tái)號(hào)未開(kāi)臺(tái)for(introw=0;row<rowCount;row++){//查看選中的臺(tái)號(hào)是否已經(jīng)開(kāi)臺(tái)(selectedDeskNum.equals(//已經(jīng)開(kāi)臺(tái)needSelectedRow=row;rightTable .getValueAt(row,1)))//保存其在“開(kāi)臺(tái)列表”中的所在break;//跳出循環(huán)if//(needSelectedRow==-1){rightTable.clearSelection();leftTableDataV.removeAllElements();中的所有行if//(needSelectedRow==-1){rightTable.clearSelection();leftTableDataV.removeAllElements();中的所有行l(wèi)eftTableModel選中的臺(tái)號(hào)尚未開(kāi)臺(tái),即將要開(kāi)臺(tái)//取消選擇“開(kāi)臺(tái)列表”中的選中行//清空“簽單列表”leftTableDataVleftTableColumnV.setDataVector();//刷新“簽單列表”表格模型的數(shù)}else{//選中的臺(tái)號(hào)已經(jīng)開(kāi)臺(tái),即將要添加消費(fèi)項(xiàng)目rightTable.setRowSelectionInterval(needSelectedRow);//在“開(kāi)臺(tái)列表”中選中該臺(tái)號(hào)中的現(xiàn)有項(xiàng)目leftTableDataV.removeAllElements();//清空“簽單列表”leftTableDataV.addAll(itemOfDeskV.get(needSelectedRow));//向“簽單列表”添加新選中餐臺(tái)的消費(fèi)項(xiàng)目leftTableModel.setDataVector(leftTableDataV,leftTableColumnV);//刷新“簽單列表”表格模型的數(shù)據(jù)leftTable.setRowSelectionInterval(0);//選中“簽單列表”中的第一行}b點(diǎn)菜與簽單實(shí)現(xiàn)

選中要點(diǎn)的餐臺(tái)后即可進(jìn)行點(diǎn)菜,系統(tǒng)支持兩種方式點(diǎn)菜:一種是通過(guò)菜品的記助碼,這種樣式的優(yōu)點(diǎn)在于快速獲取菜品名稱,另一種方式通過(guò)菜品的編號(hào)輸入后自動(dòng)顯示菜品名到商品名稱框里。其系統(tǒng)圖中顯示如下所示前:御T簡(jiǎn)購(gòu)"湖): 皚麟:前:御T簡(jiǎn)購(gòu)"湖): 皚麟:MO5斤mFQ斤0i櫛 k禪:■■I91獲取菜品功能是通過(guò)文本框添加鍵盤事件監(jiān)聽(tīng)器實(shí)現(xiàn)的,代碼如下:codeTextField.addKeyListener(newKeyAdapter(){public框的輸入內(nèi)容voidkeyTyped(KeyEvente){codeTextField.addKeyListener(newKeyAdapter(){public框的輸入內(nèi)容voidkeyTyped(KeyEvente){// 通過(guò)鍵盤監(jiān)聽(tīng)器實(shí)現(xiàn)控制文本if("abcdefghijklmnopqrstuvwxyz0123456789" .indexOf(e.getKeyChar())<0) //只允許輸入字母和數(shù)字e.consume(); // 銷毀此次鍵盤事件}publicvoidkeyReleased(KeyEvente){ // 通過(guò)鍵盤監(jiān)聽(tīng)器實(shí)現(xiàn)智能獲取菜品if(e.getKeyCode()==KeyEvent. VK_ENTER){//按下回車鍵makeOutAnlnvoice(); //開(kāi)單}else{Stringinput= codeTextField.getText();//獲得輸入內(nèi)容VectormenuV= null;// 符合條件的菜品if(input.length()>0){ //確認(rèn)輸入了內(nèi)容if(codeRadioButton.isSelected()){ //按助記碼查詢VectormenusV=dao.sMenuByCode(input); //查詢符合條件的菜品if(menusV.size()>0){ // 存在符合條件的菜品menuV=(Vector)menusV.get(O); //獲得第一個(gè)符合條件的菜品menuV.remove(O); //移除菜品的序號(hào)

}else{//按編號(hào)查詢if(input.length()==9) // 確認(rèn)編號(hào)是否為9位件的菜品menuV=dao.sMenuByNum(input); //查詢符合條件的菜品}}if(menuV== null){//不存在符合條件的菜品為空nameTextField為空nameTextField.setText(null );//設(shè)置筒品名稱”文本框unitTextField.setText(null );//設(shè)置單位”文本框?yàn)榭誴riceTextField.setText(null);//設(shè)置 單價(jià)”文本框?yàn)閩else{//存在符合條件的菜品nameTextField .setText(menuV.get(2).toString());}else{//存在符合條件的菜品nameTextField .setText(menuV.get(2).toString());//設(shè)置商品名稱”文本框?yàn)榉蠗l件的菜品名稱unitTextField符合條件的菜品單位.setText(menuV.getunitTextField符合條件的菜品單位.setText(menuV.get(4).toString());//設(shè)置單位”文本框?yàn)?setText(menuV.get(5).toString());//設(shè)置單價(jià)”文本框.setText(menuV.get(5).toString());//設(shè)置單價(jià)”文本框?yàn)榉蠗l件的菜品單價(jià)}}}});orderDishesPanel.add(codeTextFieldorderDishesPanel.add(codeTextField);注解:consume():該方法用于銷毀此次事件,如果此次事件是向一個(gè)文本框中輸入一個(gè)字符,則取消次輸入。e,getKeyCode()==KeyEventVK_ENTER:該段代碼用來(lái)判斷此處事件是用戶按下 Enter鍵觸發(fā)的,如果是則返回 true;否則返回false。默認(rèn)情況下點(diǎn)才數(shù)量為1,如果不需要修改點(diǎn)菜數(shù)量,通過(guò)菜品助記碼或編號(hào)獲得菜品后直接單擊回車就開(kāi)單成功從而方面用戶操作。

確定多點(diǎn)菜品和數(shù)量后,也可以通過(guò)單擊“開(kāi)單“按鈕完成開(kāi)單工作,簽單列表中的新開(kāi)單菜品前會(huì)有一個(gè)“NEV”標(biāo)記,確定消費(fèi)“簽單列表”中所有菜品后,需要單擊“簽單“按鈕取消所有菜品前所有菜品的“NEW標(biāo)記實(shí)現(xiàn)“簽單”。c自動(dòng)結(jié)賬實(shí)現(xiàn)該功能自動(dòng)計(jì)算“簽單列表“中消費(fèi)金額,在“實(shí)收金額”文本框中輸入已收金額,系統(tǒng)自動(dòng)計(jì)算應(yīng)找金額,避免因忙碌繁雜而引起的錯(cuò)誤結(jié)算。在結(jié)賬之前一定要確保所有菜品已經(jīng)簽單,否則將彈出提示信息,并且要保證實(shí)收金額不小于消費(fèi)金額。實(shí)現(xiàn)結(jié)賬代碼如下:final JButtoncheckOutButton= newJButton();checkOutButton.setText("結(jié)賬");checkOutButton.addActionListener(newActionListener(){publicintvoidactionPerformed(ActionEvente){selectedRow=rightTable.getSelectedRow();if(selectedRow<0){ //未選中任何餐臺(tái)JOptionPane.showMessageDialog(null,"請(qǐng)選擇要結(jié)賬的餐臺(tái)!","友情提示",JOptionPane.INFORMATION_MESSAGE);//彈出提示return;}introwCount= leftTable.getRowCount();//獲得結(jié)賬餐臺(tái)的點(diǎn)菜數(shù)量if(leftTable .getValueAt(rowCount-1,0).equals( "NEW")){//存在未簽單菜品JOptionPane.showMessageDialog(null,"請(qǐng)先確定未簽單商品的處理方式!","友情提示",JOptionPane.INFORMATION_MESSAGE);//彈出提示return;JOptionPane.}(expenditureTextFieldintexpenditure=Integer.valueOf.getText());//獲得消費(fèi)金額intrealWages(expenditureTextFieldInteger.valueOf(Integer.valueOf(realWagesTextField.getText());//獲得實(shí)收金額if(realWages<expenditure)if(realWages<expenditure){//查看實(shí)收金額是否小于消費(fèi)金額if(realWages==0) //未輸入實(shí)收金額JOptionPane.showMessageDialog(null,"請(qǐng)輸入實(shí)收金額!","友情提示",JOptionPane.INFORMATION_MESSAGE);//彈出提示else//實(shí)收金額小于消費(fèi)金額JOptionPane.showMessageDialog(null,"實(shí)收金額不能小于消費(fèi)金額!","友情提示",JOptionPane.INFORMATION_MESSAGE);//彈出提示realWagesTextField.requestFocus();//為“實(shí)收金額”文本框請(qǐng)求獲得焦點(diǎn)return;}changeTextField .setText((realWages-expenditure)+"");//計(jì)算并設(shè)置“找零金額”String[]orderFormData={getNum(),rightTable.getValueAt(selectedRow,1).toString(),Today.getDate()+""+rightTable.getValueAt(selectedRow,2),expenditureTextField.getText(),TipWizardFrame.dao.iOrderForm(orderFormData);String[]orderItemData=//用來(lái)存儲(chǔ)消費(fèi)項(xiàng)目this.managerV.g

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論