酒店管理系統(tǒng)個(gè)人總結(jié)報(bào)告.doc_第1頁
酒店管理系統(tǒng)個(gè)人總結(jié)報(bào)告.doc_第2頁
酒店管理系統(tǒng)個(gè)人總結(jié)報(bào)告.doc_第3頁
酒店管理系統(tǒng)個(gè)人總結(jié)報(bào)告.doc_第4頁
酒店管理系統(tǒng)個(gè)人總結(jié)報(bào)告.doc_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

內(nèi)蒙古工業(yè)大學(xué)信息 工 程 學(xué) 院課 程 設(shè) 計(jì)設(shè)計(jì)題目: Java程序設(shè)計(jì)課程設(shè)計(jì) -酒店管理系統(tǒng) 系 別 信息工程系 班級(jí) 軟件08-1 學(xué)生姓名 古海峰 學(xué)號(hào) 20 18 24 29號(hào) 指導(dǎo)教師 楊弘平、費(fèi)雅潔 職稱 副教授、教授 起止日期:2011 年 7月13日起至 2011年 7月 25日止內(nèi)蒙古工業(yè)大學(xué)信息 工 程 學(xué) 院課程設(shè)計(jì)任務(wù)書課程設(shè)計(jì)題目: Java程序設(shè)計(jì)課程設(shè)計(jì) -酒店管理系統(tǒng) 系 別 信息工程系 班級(jí) 軟件08-1 學(xué)生姓名 古海峰 學(xué)號(hào) 20 18 24 29號(hào) 指導(dǎo)教師 楊弘平、費(fèi)雅潔 職稱 副教授、教授 課程設(shè)計(jì)進(jìn)行地點(diǎn): 實(shí)訓(xùn)F 任 務(wù) 下 達(dá) 時(shí) 間: 2011 年 6 月 13 日起止日期: 2011 年 7月 13 日起至 2011年 7月 25 日止教研室主任 楊弘平 2011年 7月 12 日批準(zhǔn)II1.設(shè)計(jì)的原始資料及依據(jù)通過課程設(shè)計(jì)使學(xué)生進(jìn)一步加深對(duì)課程內(nèi)容的理解,利用程序設(shè)計(jì)的基本思想進(jìn)行程序的開發(fā),進(jìn)一步掌握編程方法和技巧,提高學(xué)生用程序的思想來解決實(shí)際問題的能力。2設(shè)計(jì)的主要內(nèi)容及要求本小組設(shè)計(jì)題目:酒店管理管理系統(tǒng)需要完成的功能: 前臺(tái)服務(wù):開臺(tái)點(diǎn)菜、添加菜品、結(jié)賬 后臺(tái)管理:維護(hù)臺(tái)號(hào)、維護(hù)菜系、維護(hù)菜品 結(jié)賬報(bào)表:日結(jié)賬報(bào)表、月結(jié)賬報(bào)表、年結(jié)賬報(bào)表 系統(tǒng)安全:修改密碼、用戶管理 數(shù)據(jù)庫的創(chuàng)建、登陸界面3.對(duì)設(shè)計(jì)說明書撰寫內(nèi)容、格式、字?jǐn)?shù)的要求 學(xué)生應(yīng)撰寫的內(nèi)容為:中文摘要和關(guān)鍵詞、目錄、正文、參考文獻(xiàn)等。課程設(shè)計(jì)說明書(論文)的結(jié)構(gòu)及各部分內(nèi)容要求可參照沈陽工程學(xué)院畢業(yè)設(shè)計(jì)(論文)撰寫規(guī)范執(zhí)行。應(yīng)做到文理通順,內(nèi)容正確完整,書寫工整,裝訂整齊。 裝訂格式封面、任務(wù)書、成績(jī)?cè)u(píng)審意見表、摘要和關(guān)鍵詞、目錄、正文、結(jié)論、致謝、參考文獻(xiàn)。 課程設(shè)計(jì)說明書(論文)是體現(xiàn)和總結(jié)課程設(shè)計(jì)成果的載體,一般不應(yīng)少于3000字。打印時(shí)采用A4紙,頁邊距均為20mm,正文采用宋體小四號(hào)字,行間距18磅。文中大標(biāo)題采用黑體小三號(hào)字,一級(jí)節(jié)標(biāo)題采用黑體四號(hào)字,二級(jí)節(jié)標(biāo)題采用黑體小四號(hào)字,三級(jí)節(jié)標(biāo)題采用黑體小四號(hào)字,表題與圖題采用宋體五號(hào)字。4. 設(shè)計(jì)完成后應(yīng)提交成果的種類、數(shù)量、質(zhì)量等方面的要求 課程設(shè)計(jì)任務(wù)書 課程設(shè)計(jì)報(bào)告 設(shè)計(jì)成品(光盤)5.時(shí)間進(jìn)度安排順序階段日期計(jì) 劃 完 成 內(nèi) 容備注1第16周第1天查閱資料,充分解讀題目?jī)?nèi)容,小組分工,確定每個(gè)人的具體任務(wù)。1天2第16周第2天數(shù)據(jù)庫設(shè)計(jì)及登陸界面的實(shí)現(xiàn)。1天3第16周第3,4,5天,第17周第1天編制程序,單元測(cè)試。4天4第17周第2,3天程序整合,綜合調(diào)試。2天5第17周第4天答辯。1天6第17周第5天撰寫課程設(shè)計(jì)報(bào)告。1天6.主要參考資料(文獻(xiàn))1 耿祥義.JAVA2 實(shí)用教程.北京:清華大學(xué)出版社,20062 朱仲杰.JAVA2 全方位學(xué)習(xí).北京:機(jī)械工業(yè)出版社,2006 3 張思民.JAVA程序設(shè)計(jì)實(shí)踐教程.北京:清華大學(xué)出版社,20064 湯一平.Java 語言程序設(shè)計(jì).北京:科學(xué)出版社,20065 劉藝.Java 程序設(shè)計(jì)大學(xué)教程. 北京:機(jī)械工業(yè)出版社,20066 耿祥義.Java課程設(shè)計(jì).北京:清華大學(xué)出版社,20037 Sharon Zakhour. Java教程. 北京:人民郵電出版社,2007 沈陽工程學(xué)院 課程設(shè)計(jì)成績(jī)?cè)u(píng)定表系(部): 信息工程系 班級(jí): 學(xué)生姓名:指 導(dǎo) 教 師 評(píng) 審 意 見評(píng)價(jià)內(nèi)容具 體 要 求權(quán)重評(píng) 分加權(quán)分調(diào)研論證能獨(dú)立查閱文獻(xiàn),收集資料;能制定課程設(shè)計(jì)方案和日程安排。0.15432工作能力態(tài)度工作態(tài)度認(rèn)真,遵守紀(jì)律,出勤情況是否良好,能夠獨(dú)立完成設(shè)計(jì)工作, 0.25432工作量按期圓滿完成規(guī)定的設(shè)計(jì)任務(wù),工作量飽滿,難度適宜。0.25432說明書的質(zhì)量說明書立論正確,論述充分,結(jié)論嚴(yán)謹(jǐn)合理,文字通順,技術(shù)用語準(zhǔn)確,符號(hào)統(tǒng)一,編號(hào)齊全,圖表完備,書寫工整規(guī)范。0.55432指導(dǎo)教師評(píng)審成績(jī)(加權(quán)分合計(jì)乘以8) 分加權(quán)分合計(jì)指 導(dǎo) 教 師 簽 名: 年 月 日評(píng) 閱 教 師 評(píng) 審 意 見評(píng)價(jià)內(nèi)容具 體 要 求權(quán)重評(píng) 分加權(quán)分查閱文獻(xiàn)查閱文獻(xiàn)有一定廣泛性;有綜合歸納資料的能力0.25432工作量工作量飽滿,難度適中。0.55432說明書的質(zhì)量說明書立論正確,論述充分,結(jié)論嚴(yán)謹(jǐn)合理,文字通順,技術(shù)用語準(zhǔn)確,符號(hào)統(tǒng)一,編號(hào)齊全,圖表完備,書寫工整規(guī)范。0.35432評(píng)閱教師評(píng)審成績(jī)(加權(quán)分合計(jì)乘以4)分加權(quán)分合計(jì)評(píng) 閱 教 師 簽 名: 年 月 日答 辯 小 組 評(píng) 審 意 見評(píng)價(jià)內(nèi)容具 體 要 求權(quán)重評(píng) 分加權(quán)分學(xué)生匯報(bào)匯報(bào)準(zhǔn)備充分,思路清晰;語言表達(dá)準(zhǔn)確,概念清楚,論點(diǎn)正確,有層次,有重點(diǎn),基本上反映了所完成任務(wù)的全部?jī)?nèi)容;時(shí)間符合要求。0.55432答 辯思路清晰;回答問題有理論依據(jù),基本概念清楚;主要問題回答準(zhǔn)確,深入,有說服力。0.55432答辯小組評(píng)審成績(jī)(加權(quán)分合計(jì)乘以8)分加權(quán)分合計(jì)答辯小組教師簽名: 年 月 日課 程 設(shè) 計(jì) 總 評(píng) 成 績(jī)分V沈陽工程學(xué)院課程設(shè)計(jì)報(bào)告 摘 要摘 要隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已被人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)酒店進(jìn)行管理,具有手工管理無法比擬的優(yōu)點(diǎn)。例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、成本低等。這些優(yōu)點(diǎn)能夠極大地提高酒店管理的效率,也是酒店的科學(xué)化、正規(guī)化管理和與世界接軌的重要條件。因此,開發(fā)這樣一套酒店管理系統(tǒng)已成為很有必要的事情。JAVA是一門很優(yōu)秀的編程語言,具有面向?qū)ο蟆⑴c平臺(tái)無關(guān)、安全、穩(wěn)定和多線程等特點(diǎn),是目前軟件設(shè)計(jì)中極為健壯的編程語言。JAVA不僅可以用來開發(fā)大型的應(yīng)用程序。而且特別適合Internet的應(yīng)用開發(fā)。JAVA確實(shí)具備“一次寫成,處處運(yùn)行”的特點(diǎn),JAVA以成為網(wǎng)絡(luò)時(shí)代最重要的編程語言之一。本報(bào)告中介紹了用JAVA語言實(shí)現(xiàn)酒店管理系統(tǒng)的全部過程。本次課程設(shè)計(jì)是配合JAVA程序設(shè)計(jì)課程,幫助學(xué)生深入學(xué)習(xí)掌握J(rèn)AVA語言,熟練運(yùn)用這個(gè)工具來編寫的。通過課程設(shè)計(jì)各個(gè)項(xiàng)目的綜合訓(xùn)練,培養(yǎng)學(xué)生實(shí)際分析問題、編程和動(dòng)手能力、提高學(xué)生的綜合素質(zhì)。本課程設(shè)計(jì)嘗試使用一些較生動(dòng)的示例和設(shè)計(jì)項(xiàng)目,激發(fā)學(xué)生學(xué)習(xí)興趣,引導(dǎo)學(xué)生主動(dòng)學(xué)習(xí),正確理解、接受需要重點(diǎn)掌握的知識(shí)點(diǎn),為參加項(xiàng)目開發(fā)及更深入學(xué)習(xí)做好準(zhǔn)備。本次課程設(shè)計(jì)主要是用JAVA和MySQL數(shù)據(jù)庫實(shí)現(xiàn)酒店管理系統(tǒng),其系統(tǒng)主要完成以下功能模塊:前臺(tái)服務(wù):主要實(shí)現(xiàn)開臺(tái)點(diǎn)菜、添加菜品和結(jié)賬;后臺(tái)管理:主要實(shí)現(xiàn)臺(tái)號(hào)維護(hù)、菜系維護(hù)、菜品維護(hù);結(jié)賬報(bào)表:主要實(shí)現(xiàn)日結(jié)賬報(bào)表、月結(jié)賬報(bào)表和年結(jié)賬報(bào)表;系統(tǒng)安全:主要實(shí)現(xiàn)修改密碼以及用戶管理;另外還有數(shù)據(jù)庫的創(chuàng)建、登陸界面。關(guān)鍵詞 酒店管理系統(tǒng),JAVA,MySQLI沈陽工程學(xué)院課程設(shè)計(jì)報(bào)告 目 錄目 錄摘 要I第1章 緒 論- 1 -第2章 系統(tǒng)功能介紹- 2 -2.1系統(tǒng)功能總框圖- 2 -2.2 模塊功能介紹- 2 -2.2.1 用戶登錄模塊介紹- 2 -2.2.2 前臺(tái)服務(wù)功能介紹- 3 -2.2.3 后臺(tái)服務(wù)模塊介紹- 3 -2.2.4 結(jié)賬報(bào)表模塊介紹- 5 -2.2.5 系統(tǒng)安全模塊介紹- 7 -2.3 組內(nèi)任務(wù)分工- 8 -第3章 數(shù)據(jù)庫設(shè)計(jì)- 10 -第4章 系統(tǒng)功能實(shí)現(xiàn)- 14 -4.1 公共模塊設(shè)計(jì)- 14 -4.1.1 編寫數(shù)據(jù)庫連接類- 14 -4.2 登陸模塊設(shè)計(jì)- 14 -4.3 前臺(tái)服務(wù)模塊設(shè)計(jì)- 15 -4.4 后臺(tái)管理模塊設(shè)計(jì)- 17 -4.4.1菜系管理- 17 -4.4.2 菜品管理- 18 -4.4.3 臺(tái)號(hào)管理- 18 -4.5 結(jié)賬報(bào)表模塊設(shè)計(jì)- 19 -4.5.1 結(jié)賬報(bào)表工作區(qū)技術(shù)分析- 19 -4.5.2 日結(jié)賬報(bào)表工作區(qū)的實(shí)現(xiàn)過程- 20 -4.5.3 月結(jié)賬報(bào)表工作區(qū)的實(shí)現(xiàn)過程- 21 -4.5.4 年結(jié)賬報(bào)表工作區(qū)的實(shí)現(xiàn)過程- 23 -4.6 系統(tǒng)安全模塊設(shè)計(jì)- 24 -結(jié) 論- 26 -致 謝- 27 -參考文獻(xiàn)- 28 - VII沈陽工程學(xué)院課程設(shè)計(jì)報(bào)告 第1章 緒 論第1章 緒 論世界的發(fā)展,社會(huì)的進(jìn)步,人們的物質(zhì)生活和精神生活都得到了很大的飛躍,人們以前的意識(shí)里就是所謂的人工管理。可是人類在進(jìn)步、國家在進(jìn)步、世界在進(jìn)步,那么必然會(huì)帶來新的產(chǎn)物,由前一個(gè)階段向后一階段過度。隨著電子電子計(jì)算機(jī)技術(shù)的進(jìn)步,為各行各業(yè)的自動(dòng)化管理打開了方便之門。在新的條件下,有必要實(shí)現(xiàn)酒店的自動(dòng)化管理,提高酒店工作人員的效率。本系統(tǒng)從對(duì)酒店的核心業(yè)務(wù)前臺(tái)服務(wù)出發(fā),著眼于為酒店管理創(chuàng)造自動(dòng)化的辦公環(huán)境而開發(fā) 在計(jì)算機(jī)飛速發(fā)展的今天,將計(jì)算機(jī)這一信息處理利器應(yīng)用于酒店的日常管理已是勢(shì)必所然,而且這也將為酒店管理帶來前所未有的改變,它可以帶來意想不到的效益,同時(shí)也會(huì)為酒店的飛速發(fā)展提供無限潛力。采用計(jì)算機(jī)管理信息系統(tǒng)已成為企業(yè)、酒店管理科學(xué)化和現(xiàn)代化的重要標(biāo)志,它給酒店管理帶來了明顯的經(jīng)濟(jì)效益和社會(huì)效益。主要體現(xiàn)在:極大的提高了管理人員和工作人員的工作效率,大大減少了以往入出存流程繁瑣、雜亂、周期長(zhǎng)的弊端。減少的出錯(cuò)率,更大程度避免了不必要的誤差,使酒店管理正規(guī)化、標(biāo)準(zhǔn)化、社會(huì)化?;诰频旯芾淼娜孀詣?dòng)化,可以減少前臺(tái)服務(wù)、后臺(tái)管理及結(jié)賬報(bào)表管理中的漏洞,可以節(jié)約不少管理開支,增加企業(yè)收入。這樣可使酒店有更大的發(fā)展空間,被人們和社會(huì)所認(rèn)同,在社會(huì)上有它的位置和地位。對(duì)于前臺(tái)服務(wù)的操作自動(dòng)化和信息化,全面提高了公司管理的水平,讓工作人員很容易的實(shí)現(xiàn)開臺(tái)、點(diǎn)菜以及結(jié)賬的查詢和管理。對(duì)于報(bào)表結(jié)算的管理,更明確和準(zhǔn)確化,既保證了酒店日常運(yùn)營(yíng)的準(zhǔn)確,又利于管理者進(jìn)行統(tǒng)計(jì)和查詢。對(duì)于后臺(tái)管理,很方便的提供臺(tái)號(hào)、菜系以及菜品的添加刪除,可以方便的對(duì)酒店的運(yùn)營(yíng)進(jìn)行管理。具體信息的處理有強(qiáng)大的數(shù)據(jù)庫做后盾,它里面保存大量且重要的信息,實(shí)現(xiàn)了酒店管理的數(shù)據(jù)化,因?yàn)楝F(xiàn)在可以說是數(shù)據(jù)的時(shí)代,其實(shí)就是所謂的信息時(shí)代。 隨著我國改革開放的不斷深入,經(jīng)濟(jì)飛速的發(fā)展,酒店要想生存、發(fā)展,要想在激烈的市場(chǎng)競(jìng)爭(zhēng)中立于不敗之地,沒有現(xiàn)代化的管理是萬萬不行的,酒店管理的全面自動(dòng)化、信息化則是其中極其重要的部分。為了酒店管理自動(dòng)化的步伐,提高酒店管理業(yè)務(wù)處理效率,建酒店管理系統(tǒng)已變得十分重要。酒店管理已經(jīng)成為現(xiàn)在的發(fā)展趨勢(shì),目前為止,酒店采用自動(dòng)化管理的很少,還有大部分采用人工管理,不過就是比較正規(guī)化,改善了以前的人工管理的部分缺點(diǎn)??墒窃诤艽蟪潭壬喜]有解決問題,因?yàn)樯鐣?huì)目前的發(fā)展對(duì)它們的要求僅限于此,但是就目前的社會(huì)發(fā)展趨勢(shì)看,社會(huì)在不斷的發(fā)展,而且向全面自動(dòng)話靠攏,那么酒店管理系統(tǒng)就將成為一大亮點(diǎn),是社會(huì)發(fā)展的必然產(chǎn)物。因此開發(fā)一個(gè)標(biāo)準(zhǔn)化的酒店管理系統(tǒng)是很有必要的,而且JAVA是一種面向?qū)ο蟮摹o平臺(tái)的編程語言,具有很大的發(fā)展空間,用它編寫酒店管理系統(tǒng)可以更體現(xiàn)出酒店管理的優(yōu)勢(shì)。- 1 -沈陽工程學(xué)院課程設(shè)計(jì)報(bào)告 第2章 系統(tǒng)功能介紹第2章 系統(tǒng)功能介紹2.1系統(tǒng)功能總框圖 酒店管理系統(tǒng)的功能結(jié)構(gòu)圖如圖2.1所示。圖2.1 酒店管理系統(tǒng)功能模塊2.2 模塊功能介紹2.2.1 用戶登錄模塊介紹用戶登錄模塊是每個(gè)軟件應(yīng)用軟件都不可或缺的部分,其主要功能是保證用戶數(shù)據(jù)安全,同時(shí)用戶登錄窗口也是用戶看到的第一個(gè)系統(tǒng)界面,因此,一個(gè)設(shè)計(jì)優(yōu)秀的用戶登錄窗口,將有效的提高用戶對(duì)系統(tǒng)的第一印象。本系統(tǒng)的用戶登錄界面如圖2.2所示。用戶登錄窗口的設(shè)計(jì)優(yōu)秀與否,主要包括以下幾個(gè)方面:圖2.2 用戶登錄界面2.2.2 前臺(tái)服務(wù)功能介紹酒店管理系統(tǒng)的主窗體效果如圖2.2所示。窗體的中間部分用來顯示當(dāng)前的開臺(tái)點(diǎn)菜信息,窗體的下方用來操作該系統(tǒng),例如開臺(tái)點(diǎn)菜,自動(dòng)結(jié)賬,臺(tái)號(hào)、菜系管理,營(yíng)業(yè)報(bào)表等。單擊圖2.2中右下方的“菜品管理”按鈕,將打開菜品管理對(duì)話框,該對(duì)話框用來維護(hù)菜品信息,包括名稱、助記碼、菜系、單位和單價(jià)。其中助記碼用來在點(diǎn)菜時(shí)快速獲取菜品信息(建議設(shè)置為菜品名稱的首字母,例如將菜品“紅燒牛肉面”的助記碼為“hsnrm”)。同理單擊圖2.2中右下方的菜系管理、臺(tái)號(hào)管理將分別顯示所對(duì)應(yīng)的菜系管理對(duì)話框和臺(tái)號(hào)管理對(duì)話框。單擊圖2.2中右下方的“日結(jié)賬”按鈕,將打開“日結(jié)賬”對(duì)話框,該對(duì)話框用來統(tǒng)計(jì)指定日期的銷售情況,包括日營(yíng)業(yè)額和各個(gè)商品的日營(yíng)業(yè)額。同理單擊“月結(jié)賬”、“年結(jié)賬”按鈕,將分別顯示出對(duì)應(yīng)的“月結(jié)賬”、“年結(jié)賬”對(duì)話框。圖2.2酒店管理系統(tǒng)主窗體2.2.3 后臺(tái)服務(wù)模塊介紹本系統(tǒng)的后臺(tái)服務(wù)模塊包含有3個(gè)小模塊,分別為菜品管理,菜系管理和臺(tái)號(hào)管理,每個(gè)小模塊又分為若干功能。后臺(tái)管理模塊如圖2.3所示。圖2.3 后臺(tái)管理模塊菜品管理是對(duì)整個(gè)酒店的菜單進(jìn)行的管理,所提供的功能包括菜品的查詢,添加和刪除功能,其中菜品的查詢功能為系統(tǒng)自動(dòng)查詢,并且在添加或者刪除菜品后自動(dòng)刷新真?zhèn)€菜品表,并把信息重新顯示在表單中,如圖2.4所示。圖2.4菜品管理菜系管理模塊包括了對(duì)整個(gè)酒店所有菜系的查詢,添加和刪除功能,同時(shí)菜系的查詢功能為自動(dòng)查詢,如圖2.5所示。圖2.5 菜系管理臺(tái)號(hào)管理包含的功能有臺(tái)號(hào)的查詢,添加和修改功能,如圖2.6所示。圖2.6 臺(tái)號(hào)管理2.2.4 結(jié)賬報(bào)表模塊介紹本系統(tǒng)提供提供了三種方式的結(jié)賬報(bào)表,分別是日結(jié)帳號(hào)報(bào)表、月結(jié)賬報(bào)表和年結(jié)賬報(bào)表,在結(jié)賬報(bào)表的工作區(qū)中提供了打開這三種結(jié)賬 功能的按鈕,如圖2.7所示。圖2.7 結(jié)賬報(bào)表工作區(qū)日結(jié)賬功能提供了對(duì)一日營(yíng)業(yè)情況的統(tǒng)計(jì),包括日開臺(tái)數(shù)、各個(gè)餐臺(tái)的消費(fèi)金額、菜品的消費(fèi)情況、各個(gè)菜品的日銷售情況,以及日營(yíng)業(yè)額等,如圖2.8所示。圖2.8 日結(jié)賬報(bào)表月結(jié)帳報(bào)表功能提供對(duì)一個(gè)月營(yíng)業(yè)情況情況的統(tǒng)計(jì),包括日開臺(tái)總數(shù)、日總營(yíng)業(yè)額、日開臺(tái)的平均消費(fèi)額、日開臺(tái)的最大和最小消費(fèi)額,以及當(dāng)月的總開臺(tái)數(shù)、月總營(yíng)業(yè)額、以及一個(gè)月中的日平均營(yíng)業(yè)額、一月中開臺(tái)的最大和最小消費(fèi)額,如圖2.9所示。圖2.9 月結(jié)賬報(bào)表年結(jié)賬報(bào)表功能提供了對(duì)一年?duì)I業(yè)情況的統(tǒng)計(jì),包括一年中每天的營(yíng)業(yè)額、每月的營(yíng)業(yè)額、每月同一日的總營(yíng)業(yè)額,以及一年的營(yíng)業(yè)額,如圖2.10所示。圖2.10 年結(jié)賬報(bào)表2.2.5 系統(tǒng)安全模塊介紹在本模塊里所實(shí)現(xiàn)的三種功能分別是:修改密碼、用戶管理和推出系統(tǒng)。在系統(tǒng)安全工作區(qū)提供了這三種功能的按鈕。如果所示。圖2.6系統(tǒng)安全工作區(qū)修改密碼功能是對(duì)舊密碼的修改。如圖所示。圖2.7修改密碼功能用戶管理功能提供了對(duì)用戶和管理員的查詢、添加、修改和刪除的實(shí)現(xiàn)。 圖2.8用戶管理功能2.3 組內(nèi)任務(wù)分工組內(nèi)分工如表2.1所示。表2.1 組內(nèi)分工表 全體成員任務(wù)組長(zhǎng)學(xué)號(hào):20姓名:杜黎明學(xué)號(hào):18姓名:溫周洋學(xué)號(hào):24姓名:胡金龍學(xué)號(hào):29姓名:郭瀟陽數(shù)據(jù)庫設(shè)計(jì)登陸界面設(shè)計(jì)前臺(tái)服務(wù)模塊設(shè)計(jì)后臺(tái)服務(wù)模塊設(shè)計(jì)結(jié)賬報(bào)表模塊設(shè)計(jì)系統(tǒng)安全模塊設(shè)計(jì)程序測(cè)試XVI沈陽工程學(xué)院課程設(shè)計(jì)報(bào)告 第3章 數(shù)據(jù)庫設(shè)計(jì)第3章 數(shù)據(jù)庫設(shè)計(jì)在開發(fā)應(yīng)用程序時(shí),對(duì)數(shù)據(jù)庫的操作時(shí)必不可少的。而一個(gè)數(shù)據(jù)庫的設(shè)計(jì)優(yōu)秀與否,將直接影響到開發(fā)進(jìn)度和性能。所以對(duì)數(shù)據(jù)庫的設(shè)計(jì)就顯得尤為重要。數(shù)據(jù)庫的設(shè)計(jì)要根據(jù)程序的需求及其功能制定。如果在開發(fā)軟件之前不能很好的設(shè)計(jì)數(shù)據(jù)庫,在開發(fā)過程中將反復(fù)修改數(shù)據(jù)庫,必將嚴(yán)重影響到開發(fā)進(jìn)度。3.1 數(shù)據(jù)庫需求分析酒店管理系統(tǒng)的需求包括開臺(tái)點(diǎn)菜功能、智能化獲取菜品功能、自動(dòng)結(jié)賬功能、營(yíng)業(yè)額報(bào)表共跟功能等。在這些功能設(shè)計(jì)到的數(shù)據(jù)表包括臺(tái)號(hào)表、菜品表、消費(fèi)單表;為了使系統(tǒng)更加完美,還需要為菜品分類,即需要用到菜系表;為了實(shí)現(xiàn)菜品的日銷售情況統(tǒng)計(jì),還需要建立一個(gè)消費(fèi)項(xiàng)目表,用來記錄消費(fèi)單消費(fèi)的菜品。3.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)是系統(tǒng)設(shè)計(jì)過程中的重要組成部分,它通過管理系統(tǒng)的整體的整體需求而指定的,數(shù)據(jù)庫設(shè)計(jì)的好壞直接影響到系統(tǒng)的后期開發(fā)。下面對(duì)本系統(tǒng)中具有代表性的數(shù)據(jù)庫設(shè)計(jì)進(jìn)行詳細(xì)說明。餐臺(tái)和菜系在本系統(tǒng)中最簡(jiǎn)單的實(shí)體,在本系統(tǒng)中用來描述餐臺(tái)信息的只有臺(tái)號(hào)和座位數(shù),而描述菜系的主要是名稱。餐臺(tái)信息表的E-R圖如圖3.1所示,菜系信息表的E-R圖如圖3.2所示 圖3.1 餐臺(tái)信息表E-R圖 圖3.2 菜系信息表E-R圖在描述菜品尸體時(shí),加入了助記碼,目的是為了實(shí)現(xiàn)智能化獲取菜品功能,通過這一功能系統(tǒng)操作員可以快速獲取顧客所點(diǎn)的菜品信息、菜品信息表的E-R圖如圖3.3所示。圖3.3 菜品信息表E-R圖 消費(fèi)單用來記錄每次消費(fèi)的相關(guān)信息,例如消費(fèi)時(shí)使用的餐臺(tái)、開臺(tái)時(shí)間、消費(fèi)金額等。消費(fèi)單信息表E-R圖如圖3.4所示。圖3.4消費(fèi)單信息表E-R圖消費(fèi)項(xiàng)目用來記錄每個(gè)消費(fèi)單消費(fèi)的菜品,記錄的主要信息由所屬消費(fèi)單、消費(fèi)菜品的名稱、消費(fèi)數(shù)量、消費(fèi)額。消費(fèi)項(xiàng)目信息表的E-R圖如圖3.5所示。圖3.5消費(fèi)項(xiàng)目信息表E-R圖將各個(gè)實(shí)體E-R圖進(jìn)行合并后即可得到整個(gè)系統(tǒng)的整體E-R圖如圖3.6所示。圖3.6 系統(tǒng)整體E-R圖3.3 數(shù)據(jù)庫表的設(shè)計(jì)針對(duì)本系統(tǒng)的特點(diǎn),在對(duì)所搜集的數(shù)據(jù)進(jìn)行規(guī)范化之后,定義了如下六張表格,分別是用戶信息表、餐臺(tái)表,菜品表,菜系表,消費(fèi)單表,消費(fèi)項(xiàng)目表。通過對(duì)這六張表格的操作可以較好地完成系統(tǒng)設(shè)計(jì)的各項(xiàng)功能,六張表格之間有著不同程度的聯(lián)系。表3.1 用戶信息表(user)字段名稱數(shù)據(jù)類型長(zhǎng) 度備 注loginNamevarchar21用戶登錄名,做主鍵loginPasswordvarchar21用戶登錄密碼typechar1用戶類型namevarchar21用戶姓名sexchar2用戶性別ageint用戶年齡telvarchar20用戶電話createTimetimestamp創(chuàng)建用戶時(shí)間表3.2 餐臺(tái)表 desk字段名稱數(shù)據(jù)類型長(zhǎng) 度備 注idvarchar8餐臺(tái)號(hào),做主鍵countint座位數(shù)量表3.3 菜品表 menu字段名稱數(shù)據(jù)類型長(zhǎng) 度備 注idvarchar8菜品編號(hào),做主鍵sortIdint菜系編號(hào),與菜系表中菜系編號(hào)外鍵關(guān)聯(lián)namevarchar30菜品名稱codevarchar10菜品助記碼unitvarchar4菜品單位unitPricefloat菜品單價(jià)表3.4 消費(fèi)項(xiàng)目表 orderItem字段名稱數(shù)據(jù)類型長(zhǎng) 度備 注idint消費(fèi)項(xiàng)目編號(hào),做主鍵orderFormIdvarchar15消費(fèi)單編號(hào),與消費(fèi)單中消費(fèi)單編號(hào)外鍵關(guān)聯(lián)menuIdvarchar10菜品編號(hào),與菜品表中菜品編號(hào)外鍵關(guān)聯(lián)amountint消費(fèi)數(shù)量totalfloat消費(fèi)額表3.5 菜系表 sort字段名稱數(shù)據(jù)類型長(zhǎng) 度備 注idint菜系編號(hào),做主鍵namevarchar50菜系名稱表3.6 消費(fèi)單表 orderForm字段名稱數(shù)據(jù)類型長(zhǎng) 度備 注idvarchar15消費(fèi)單編號(hào),做主鍵deskIdvarchar8餐臺(tái)編號(hào),與餐臺(tái)表餐臺(tái)編號(hào)外鍵關(guān)聯(lián)dateTimetime開臺(tái)時(shí)間moneyfloat消費(fèi)金額userIdvarchar21操作用戶XX沈陽工程學(xué)院課程設(shè)計(jì)報(bào)告 第4章 系統(tǒng)功能實(shí)現(xiàn)第4章 系統(tǒng)功能實(shí)現(xiàn)4.1 公共模塊設(shè)計(jì)4.1.1 編寫數(shù)據(jù)庫連接類數(shù)據(jù)庫連接類負(fù)責(zé)加載數(shù)據(jù)庫驅(qū)動(dòng)程序,以及創(chuàng)建和關(guān)閉數(shù)據(jù)庫連接,為了最大程度的應(yīng)用每個(gè)已經(jīng)創(chuàng)建的數(shù)據(jù)庫連接。首先在數(shù)據(jù)庫連接類中編寫加載數(shù)據(jù)庫驅(qū)動(dòng)程序的代碼,通常情況下將其放在靜態(tài)代碼塊中,這樣的好處是只要該類第一次被加載時(shí)執(zhí)行加載數(shù)據(jù)庫啟動(dòng)的動(dòng)作,避免了反復(fù)加載數(shù)據(jù)庫驅(qū)動(dòng)程序,從而提高了軟件的性能。具體代碼如下:statictryClass.forName(com.mysql.jdbc.Driver);catch(Exception e)e.printStackTrace();然后編寫用來創(chuàng)建和關(guān)閉數(shù)據(jù)庫連接的方法,這里將定義兩個(gè)方法,一個(gè)用于創(chuàng)建數(shù)據(jù)庫的連接,一個(gè)用與將數(shù)據(jù)庫連接關(guān)閉。具體代碼如下:public Connection getConnection() throws SQLException, ClassNotFoundExceptionconn=DriverManager.getConnection(jdbc:mysql:/localhost:3306/db_Manager,root,root); return conn; public void close_All(Connection conn,Statement stmt,ResultSet rs) try if(rs!=null) rs.close(); else if(stmt!=null) stmt.close(); else if(conn!=null) conn.close(); catch (SQLException ex) e.printStackTrace(); 4.2 登陸模塊設(shè)計(jì)用戶登錄模塊是用戶使用軟件時(shí)看到的第一個(gè)系統(tǒng)界面,因此對(duì)于用戶登錄界面的設(shè)計(jì)需要美觀大方。本系統(tǒng)的開發(fā)工具是使用NetBeans7.0,首先創(chuàng)建用于用戶登陸界面的窗體,為窗體設(shè)置標(biāo)題、大小等信息,并添加一個(gè)分層窗體,然后將一個(gè)JLabel對(duì)象設(shè)置成整個(gè)窗體的最底層,并為其設(shè)置背景圖片。為了達(dá)到整個(gè)窗體美觀的效果,在設(shè)計(jì)過程中,將界面的按鈕也同樣添加圖片背景。在用戶第一次使用本系統(tǒng)時(shí),數(shù)據(jù)庫中將不存在系統(tǒng)管理員。在這種情況下,系統(tǒng)提供一個(gè)默認(rèn)的用戶供用戶登錄后添加其他用戶。在用戶使用系統(tǒng)時(shí),填寫完用戶名和密碼后點(diǎn)擊登錄按鈕,或者單擊鍵盤的確定鍵時(shí),系統(tǒng)通過檢測(cè)用戶名和密碼合法后即可登錄本系統(tǒng),實(shí)現(xiàn)登錄的具體代碼如下:private void mouseLogin(java.awt.event.MouseEvent evt) /GEN-FIRST:event_mouseLogin /鼠標(biāo)點(diǎn)擊登錄 this.check(); /GEN-LAST:event_mouseLoginprivate void KeyLogin(java.awt.event.KeyEvent evt) /GEN-FIRST:event_KeyLogin System.out.println(evt.getKeyChar(); if(evt.getKeyCode()=KeyEvent.VK_ENTER) this.check(); /GEN-LAST:event_KeyLogin public void check() String name=,password=; name = jTextField1.getText(); username = name; password = String.valueOf(jPasswordField1.getPassword(); if(name.split().length1) javax.swing.JOptionPane.showMessageDialog(this, 違法的用戶名!,警告, JOptionPane.WARNING_MESSAGE); LoginData ld = new LoginData(); if(ld.check(name, password) this.dispose(); new MainFrame().showFrame(); else javax.swing.JOptionPane.showMessageDialog(this, 用戶名或者密碼錯(cuò)誤nt請(qǐng)從新輸入!,警告, JOptionPane.WARNING_MESSAGE); 4.3 前臺(tái)服務(wù)模塊設(shè)計(jì)開臺(tái)簽單工作區(qū)是本系統(tǒng)最常用的工作區(qū)如圖4.1所示,所以需要將該工作區(qū)設(shè)計(jì)的更加人性化和智能化。例如,在獲取欲添加的菜品時(shí),既可以通過菜品編號(hào)獲得,又可以通過才頻頻助記碼獲得,并且菜品的默認(rèn)數(shù)量為一個(gè)等。圖4.1 開臺(tái)簽單工作區(qū)在開臺(tái)簽單工作區(qū)設(shè)計(jì)中,首先為“臺(tái)號(hào)”下拉列表框添加事件監(jiān)聽器,用來處理開臺(tái)或點(diǎn)菜的相關(guān)信息。如果選中的臺(tái)號(hào)尚未開臺(tái),則取消“開臺(tái)列表”中的選定行,并清空“簽單列表”中的所有行;如果選中的臺(tái)號(hào)已經(jīng)開臺(tái),并且在“開臺(tái)列表”中尚未選中,則選中“開臺(tái)列表”中的該臺(tái)號(hào),并刷新“簽單列表”中的菜品信息,既顯示為當(dāng)前選中臺(tái)號(hào)所點(diǎn)的菜品。然后開發(fā)智能化獲取菜品功能,通過為文本框添加鍵盤事件監(jiān)聽器實(shí)現(xiàn)。當(dāng)用戶在文本框進(jìn)行輸入時(shí),同時(shí)判斷輸入的是商品編號(hào),還是商品助記碼,并按指定條件查詢符合條件的菜品,如果存在符合條件的菜品,則獲取第一個(gè)符合條件的菜品,并顯示菜品的名稱和單位,負(fù)責(zé)將菜品名稱和單位設(shè)置為空。具體代碼如下:String input = jTextField2.getText().trim(); Vector vector = null; if (input.length() 0) if (jRadioButton2.isSelected() getMenuName gmn = new getMenuName(); vector = gmn.returnName(input); if (vector.size() 0) vector = (Vector) vector.get(0); else vector = null; else if (jRadioButton1.isSelected() /按編號(hào)查詢 getMenuName gmn = new getMenuName(); vector = gmn.returnNameById(input); if (vector.size() 0) vector = (Vector) vector.get(0); 在新添加的菜品的前方唯有一個(gè)NEW標(biāo)記,確定點(diǎn)菜結(jié)束后單擊“簽單”按鈕,將取消所有新添加菜品前方的NEW標(biāo)記。在未取消NEW標(biāo)記的情況下合約選中后單擊“取消”按鈕取消該菜品,如果該餐臺(tái)只點(diǎn)了該菜品,取消該菜品后同時(shí)取消該餐臺(tái)的開臺(tái)信息;如果該餐臺(tái)已經(jīng)點(diǎn)了其他菜品,并且取消后不是最后點(diǎn)的菜品,還需要修改所點(diǎn)菜品的序號(hào)。結(jié)賬功能設(shè)計(jì),結(jié)賬功能是作為酒店管理系統(tǒng)中一個(gè)重要的組成部分。結(jié)賬功能的設(shè)計(jì)需要在用戶選擇相應(yīng)的臺(tái)號(hào)后就將選中的臺(tái)號(hào)的消費(fèi)金額顯示在結(jié)賬工作區(qū)中(如圖4.2所示),因此需要為開臺(tái)列表添加表格別選擇時(shí)間,既當(dāng)表格被選中時(shí)顯示臺(tái)號(hào)消費(fèi)金額。在結(jié)賬功能區(qū),為了方便用戶結(jié)賬計(jì)算金額的方便,需要為實(shí)付金額文本框添加鍵盤監(jiān)聽時(shí)間,當(dāng)用戶輸入實(shí)付金額以后即可計(jì)算出找零金額并顯示出來。當(dāng)點(diǎn)擊結(jié)賬后,當(dāng)前臺(tái)號(hào)就已經(jīng)完成結(jié)單,則需要在開臺(tái)列表中將選中的臺(tái)號(hào)刪除,并相連刪除簽單列表中選中臺(tái)號(hào)所點(diǎn)的所有菜品。 圖4.2 結(jié)賬工作區(qū)4.4 后臺(tái)管理模塊設(shè)計(jì)后臺(tái)管理模塊提供了3個(gè)子模塊,分別為菜品管理、菜系管理和臺(tái)號(hào)管理。菜品管理是對(duì)整個(gè)酒店的所有菜品進(jìn)行的管理,菜系管理是對(duì)酒店的菜系進(jìn)行管理,臺(tái)號(hào)管理是對(duì)酒店的桌號(hào)進(jìn)行管理。4.4.1菜系管理在該子模塊中,有兩個(gè)需要注意的問題。添加菜系時(shí)獲取菜系的編號(hào)。在添加菜系時(shí),只需要輸入所要添加菜系的名稱而無需輸入菜系的編號(hào),而菜系的編號(hào)是通過對(duì)當(dāng)前數(shù)據(jù)表中的菜系編號(hào)進(jìn)行檢索,用當(dāng)前數(shù)據(jù)表中最后一項(xiàng)數(shù)據(jù)的菜系編號(hào)自加一來實(shí)現(xiàn)的,然后和菜系名稱一起插入數(shù)據(jù)表中。刪除菜系時(shí)對(duì)菜品表中的操作菜品表中的菜系編號(hào)和菜系表中的菜系編號(hào)是外鍵關(guān)聯(lián)的,當(dāng)刪除菜系表中的數(shù)據(jù)時(shí),如果不對(duì)菜品表中的菜系編號(hào)進(jìn)行處理的話是會(huì)拋出異常的,而當(dāng)刪除菜系表中數(shù)據(jù)時(shí)又不能刪除菜品表中與之相關(guān)的所有數(shù)據(jù),因此只能對(duì)菜品表中相關(guān)的數(shù)據(jù)進(jìn)行修改,使其菜系編號(hào)對(duì)應(yīng)于菜系表中菜系名稱為“未分類”的編號(hào)。其主要代碼如下所示:/刪除菜系之前對(duì)菜品進(jìn)行修改=GetStatement gs = new GetStatement();String sql = delete from sort where name= + sortName + ;String sql2 = select id from sort where name=未分類;ResultSet rs = gs.return_statement().executeQuery(sql2);String id=;while(rs.next()id=rs.getString(id);String sql1 = update menu set sortId=+id+ where sortId=(select id from sort where name=+ sortName + );gs.return_statement().execute(sql1);gs.return_statement().execute(sql);同時(shí)要注意的是菜系表中菜系名稱為“未分類”的數(shù)據(jù)項(xiàng)是不能被刪除的。4.4.2 菜品管理菜品管理子模塊包含有菜品的添加和刪除功能,在該子模塊中,難點(diǎn)在與添加菜品過程中對(duì)所添加信息的判斷。添加菜品過程中,菜品的所有字段都不能為空,而且ID,NAME,CODE這3個(gè)字段在數(shù)據(jù)庫中必須是唯一的,所以在添加過程中必須加以控制。下面僅以ID字段說明,其他字段都與之類似,控制流程如圖4.4.2.1所示。圖4.4.2.1 字段控制流程圖4.4.3 臺(tái)號(hào)管理臺(tái)號(hào)管理子模塊的功能寶庫臺(tái)號(hào)的查詢,添加和修改功能。臺(tái)號(hào)的查詢分為有關(guān)鍵字查詢和無關(guān)鍵字查詢。當(dāng)執(zhí)行有關(guān)鍵字查詢是,系統(tǒng)只查詢SORT表中COUNT與輸入的作為數(shù)相同的臺(tái)號(hào)。當(dāng)執(zhí)行無關(guān)鍵字查詢時(shí),系統(tǒng)將查詢整個(gè)SORT表中的數(shù)據(jù)項(xiàng),關(guān)鍵代碼如下:/查詢SORT表關(guān)鍵代碼=public class selectSorts public void selectSorts() public ResultSet returnResultSet() throws ClassNotFoundException, SQLException GetStatement gs = new GetStatement(); String sql = select * from sort ; ResultSet rs = null; rs = gs.return_statement().executeQuery(sql); return rs; public ResultSet returnResultSet(String s) throws ClassNotFoundException, SQLException GetStatement gs = new GetStatement(); String sql = select * from sort + where name=+s+; ResultSet rs = null; rs = gs.return_statement().executeQuery(sql); return rs; 在添加和修改臺(tái)號(hào)的過程中,同樣要對(duì)所添加或修改的信息進(jìn)行進(jìn)行判斷。在添加臺(tái)號(hào)過程中,臺(tái)號(hào)不能為空,而且座位數(shù)量也不能為空。在修改臺(tái)號(hào)過程中,臺(tái)號(hào)編號(hào)不能為空,而且必須是在數(shù)據(jù)表中存在的臺(tái)號(hào),并且座位數(shù)也不能為空,其控制流程類似與菜品管理過程中的字段控制流程。4.5 結(jié)賬報(bào)表模塊設(shè)計(jì)結(jié)賬報(bào)表模塊提供了三種方式的結(jié)賬報(bào)表,分別是日結(jié)賬、月結(jié)賬和年結(jié)賬。日結(jié)賬提供了對(duì)一日營(yíng)業(yè)額營(yíng)業(yè)的統(tǒng)計(jì),月結(jié)賬提供了對(duì)一月營(yíng)業(yè)額的統(tǒng)計(jì),年結(jié)賬提供了對(duì)一年?duì)I業(yè)額的統(tǒng)計(jì)。4.5.1 結(jié)賬報(bào)表工作區(qū)技術(shù)分析在實(shí)現(xiàn)結(jié)賬報(bào)表功能時(shí),有兩個(gè)技術(shù)要點(diǎn)。對(duì)日期有效性的控制。在實(shí)現(xiàn)日結(jié)賬功能時(shí),無論用戶修改了統(tǒng)計(jì)日期的年度和月份,都要影響到日下拉菜單列表框中的可選項(xiàng),包括大月(31天)和小月(30天)的變化,以及2月份在平年(28天)和閏年(29天)的變化,如果不能正確處理這些變化,將導(dǎo)致系統(tǒng)無法正常運(yùn)行。其實(shí)在實(shí)現(xiàn)月結(jié)賬報(bào)表和年結(jié)賬報(bào)表時(shí)也會(huì)設(shè)計(jì)到這個(gè)問題,只是在系統(tǒng)界面上不會(huì)明顯的體會(huì)到。解決該問題的大體思路是通過年度和月份下拉列表框加事件監(jiān)聽器,實(shí)現(xiàn)對(duì)日下拉列表框添加事件監(jiān)聽器,實(shí)現(xiàn)對(duì)日下拉列表框可選項(xiàng)的控制。對(duì)統(tǒng)計(jì)表格的控制。當(dāng)系統(tǒng)界面不能顯示出所有統(tǒng)計(jì)記錄時(shí),只需要將表格放到滾動(dòng)面板中,這個(gè)辦法對(duì)系統(tǒng)界面不能顯示出統(tǒng)計(jì)記錄的所有行有效,因?yàn)樵谝苿?dòng)垂直滾動(dòng)條時(shí),表格的列名并不會(huì)隨之滾動(dòng),即表格的列名永遠(yuǎn)是可見的;但是當(dāng)系統(tǒng)界面不能顯示出統(tǒng)計(jì)記錄的所有列時(shí),這個(gè)辦法就不是很好了,因?yàn)樵谝苿?dòng)水平滾動(dòng)條的時(shí),表格的所有列都會(huì)隨之滾動(dòng),導(dǎo)致最左側(cè)的一列或者幾列不可見。而表格最左側(cè)的一列或者是幾列通常情況下也希望是永遠(yuǎn)可見的,即不會(huì)隨著滾動(dòng)條的移動(dòng)而滾動(dòng)。解決該問題的大體思路是實(shí)現(xiàn)兩個(gè)表格,一個(gè)表格用來顯示最左側(cè)希望永遠(yuǎn)可見的一列或者幾列,另一個(gè)表格用來顯示其他列,然后將兩個(gè)表格并列顯示。4.5.2 日結(jié)賬報(bào)表工作區(qū)的實(shí)現(xiàn)過程日結(jié)賬報(bào)表使用的主要數(shù)據(jù)表有orderform(消費(fèi)單表)。初始化對(duì)話框首先解決在實(shí)現(xiàn)日結(jié)賬報(bào)表功能時(shí)候初始化窗體的功能,主要是日期的有效性問題,需要從數(shù)據(jù)庫中查找有效的日期,即點(diǎn)過菜的日期。然后將找到的有效日期顯示在結(jié)賬報(bào)表下拉列表菜單中。如圖4.1所示。圖4.1日結(jié)賬報(bào)表日期顯示由于在數(shù)據(jù)中存在許多非常重復(fù)的日期數(shù)據(jù),所以本模塊才用了TreeSet集合來存入分別從數(shù)據(jù)庫中獲取的年份、月份和日。這樣就避免了重復(fù)數(shù)據(jù)的出現(xiàn)。使得年份、月份和日期下拉列表框中只顯示出數(shù)據(jù)庫中已存在的日期,即開過臺(tái)的日期。主要代碼如下所示:/獲取數(shù)據(jù)庫中所有的不重復(fù)的日期,并排序-GetDate getDate = new GetDate();ResultSet rs = getDate.getDate();Set years = new TreeSet();/點(diǎn)過菜的所有年Set days = new TreeSet();/點(diǎn)過菜的所有日String months = 01,02,03,04,05,06,07,08,09,10,11,12;for(;rs.next();) String date = rs.getString(orderFormId); String year = date.substring(0, 4); String day = date.substring(6,8); years.add(year); days.add(day);其次要解決的問題是使下拉列表顯示的日期與當(dāng)前日期相吻合,如果當(dāng)前日期開過臺(tái)。主要代碼如下所示。/獲取當(dāng)前年月日-Today today = new Today();int currentYear = today.getYEAR();int currentMonth = today.getMONTH();int currentday = today.getDAY();.下拉列表中添加項(xiàng)目/設(shè)置選擇的是當(dāng)前日期-String currentMonthTemp = String.valueOf(currentMonth);if(currentMonth10) currentMonthTemp = 0 + currentMonthTemp; yearComboBox.setSelectedIt

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論