畢業(yè)論文餐飲管理.doc_第1頁(yè)
畢業(yè)論文餐飲管理.doc_第2頁(yè)
畢業(yè)論文餐飲管理.doc_第3頁(yè)
畢業(yè)論文餐飲管理.doc_第4頁(yè)
畢業(yè)論文餐飲管理.doc_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

編號(hào):XH03JW035-11/0 畢 業(yè) 設(shè) 計(jì) (論 文)題目: 餐 飲 管 理 系 統(tǒng) 系 別: 信 息 技 術(shù) 班 級(jí): 姓 名: 學(xué) 號(hào): 指導(dǎo)教師: 2009年3月18日摘 要在計(jì)算機(jī)軟件普遍應(yīng)用的今天,越來(lái)越多的軟件與生活中的大小事件聯(lián)系起來(lái),各式各樣的軟件為我們的生活管理帶來(lái)了便利。在加上軟件開(kāi)發(fā)平臺(tái)的多樣性與簡(jiǎn)便性,使得軟件開(kāi)發(fā)越來(lái)越簡(jiǎn)單,所能實(shí)現(xiàn)的功能越來(lái)越強(qiáng)大,管理越來(lái)越方便,但是成本卻越來(lái)越低,這就使得各行各業(yè)把它們的傳統(tǒng)管理方式轉(zhuǎn)變?yōu)槔密浖?lái)管理。本論文運(yùn)用C#編程語(yǔ)言在.NET平臺(tái)上設(shè)計(jì)開(kāi)發(fā)“餐飲管理系統(tǒng)”。實(shí)現(xiàn)了顧客開(kāi)臺(tái)、點(diǎn)菜、結(jié)帳等等要求的界面化管理,該系統(tǒng)操作簡(jiǎn)單,節(jié)省方便了管理員的工作。數(shù)據(jù)電子化存儲(chǔ),節(jié)省了數(shù)據(jù)存儲(chǔ)的費(fèi)用并增加了數(shù)據(jù)存儲(chǔ)量。實(shí)現(xiàn)了餐飲業(yè)的科學(xué)管理。關(guān)鍵詞:.NET C# 餐飲管理目 錄第一章 引言4第二章 餐飲管理系統(tǒng)的目標(biāo)與分析52.1 傳統(tǒng)餐飲存在的問(wèn)題52.2 餐飲管理系統(tǒng)的目標(biāo)52.3 可行性分析52.4 業(yè)務(wù)流程分析6第三章 C#簡(jiǎn)介93.1設(shè)計(jì)目標(biāo)93.2語(yǔ)言特性93.3程序的執(zhí)行103.4標(biāo)準(zhǔn)化113.5總結(jié)11第四章 設(shè)計(jì)開(kāi)發(fā)項(xiàng)目1141數(shù)據(jù)庫(kù)設(shè)計(jì)114.2 登錄模塊的設(shè)計(jì)144.3主窗體設(shè)計(jì)154.4開(kāi)臺(tái)模塊設(shè)計(jì)194.5點(diǎn)菜模塊設(shè)計(jì)204.6結(jié)賬模塊設(shè)計(jì)22參考文獻(xiàn)24第一章 引言近年來(lái),隨著人民的生活水平的不斷提高,餐飲業(yè)的消費(fèi)持續(xù)增長(zhǎng),競(jìng)爭(zhēng)愈來(lái)愈激烈。然而,傳統(tǒng)餐飲企業(yè)的日常運(yùn)作還是靠人工管理,從原材料入庫(kù)到客人點(diǎn)單,再到結(jié)賬基本上由人工完成記錄,這樣做不僅耗費(fèi)人力資源而且容易導(dǎo)致記錄丟失或重復(fù)等錯(cuò)誤,造成管理水平低下。這就迫切需要標(biāo)準(zhǔn)的、高效率的計(jì)算機(jī)管理方式引導(dǎo)其發(fā)展,通過(guò)計(jì)算機(jī)管理該企業(yè)的日常運(yùn)作,給管理者以決策參考的模型,來(lái)不斷完善管理水平,提高工作效率。當(dāng)今世界已進(jìn)入了在計(jì)算機(jī)信息管理領(lǐng)域中激烈競(jìng)爭(zhēng)的時(shí)代,應(yīng)用計(jì)算機(jī)已經(jīng)變得十分普遍了,如同我們離不開(kāi)的自行車、汽車一樣。我們應(yīng)該承認(rèn),誰(shuí)掌握的知識(shí)多,信息量大,信息處理速度快,批量大,誰(shuí)的效率就高,誰(shuí)就能夠在各種競(jìng)爭(zhēng)中立于不敗之地。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。越來(lái)越多的管理人員意識(shí)到信息管理的重要性。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)餐飲企業(yè)信息進(jìn)行管理,具有手工管理所無(wú)法比擬的優(yōu)點(diǎn).例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高信息管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理與世界接軌的重要條件。本系統(tǒng)選擇目前市場(chǎng)上價(jià)格比較低廉的數(shù)據(jù)庫(kù)服務(wù)器產(chǎn)品: sql server2000及配套的平臺(tái)Windows XP。而前臺(tái)開(kāi)發(fā)工具采用.NET,語(yǔ)言用C#,利用其可視化的開(kāi)發(fā)環(huán)境、豐富的控件資源,快速開(kāi)發(fā)出了餐飲管理信息系統(tǒng)應(yīng)用程序。第二章 餐飲管理系統(tǒng)的目標(biāo)與分析2.1 傳統(tǒng)餐飲存在的問(wèn)題由于傳統(tǒng)酒店的管理還處于人工管理階段,所以酒店的管理效率不高。由于缺乏科學(xué)的管理和現(xiàn)代化的管理工具,傳統(tǒng)酒店在管理上和業(yè)務(wù)的安排上都存在著不足。1包間的管理不夠科學(xué)方便,使用情況不直觀。2庫(kù)管員不能隨時(shí)掌握庫(kù)存情況,不能及時(shí)發(fā)現(xiàn)商品缺貨的情況,另外統(tǒng)計(jì)商品數(shù)量即費(fèi)時(shí)又費(fèi)力。3由于酒店的商品種類多,菜樣多變,靠人工方式管理商品和菜品信息有很多不便。例如商品數(shù)量大導(dǎo)致查找商品信息困難等。2.2 餐飲管理系統(tǒng)的目標(biāo)面對(duì)服務(wù)行業(yè)的高速發(fā)展和餐飲企業(yè)信息發(fā)展的過(guò)程中出現(xiàn)的各種情況,本系統(tǒng)應(yīng)達(dá)到以下目標(biāo):l 系統(tǒng)采用人機(jī)交互的方式,界面美觀友好,信息查詢靈活、方便,數(shù)據(jù)存儲(chǔ)安全可靠。l 實(shí)現(xiàn)對(duì)餐廳顧客開(kāi)臺(tái)、點(diǎn)菜/加菜、賬目查詢和結(jié)賬等操作。l 對(duì)用戶輸入的數(shù)據(jù),進(jìn)行嚴(yán)格的數(shù)據(jù)檢驗(yàn),盡可能的避免人為錯(cuò)誤。l 實(shí)現(xiàn)對(duì)消費(fèi)賬目自動(dòng)結(jié)算。l 實(shí)現(xiàn)對(duì)消費(fèi)的歷史記錄進(jìn)行查詢,支持模糊查詢。l 系統(tǒng)應(yīng)最大限度地實(shí)現(xiàn)易維護(hù)性和易操作性。2.3 可行性分析2.3.1 技術(shù)上的可行性技術(shù)方面的可行性就是根據(jù)現(xiàn)有的技術(shù)條件,能否實(shí)現(xiàn)系統(tǒng)的各項(xiàng)要求。1設(shè)備:該系統(tǒng)對(duì)所需的硬件設(shè)備,如pc機(jī)配件的性能要求一般,現(xiàn)有設(shè)備的性能完全能夠滿足系統(tǒng)功能的要求。2軟件上,本系統(tǒng)屬于數(shù)據(jù)庫(kù)應(yīng)用程序,本系統(tǒng)需要一個(gè)數(shù)據(jù)庫(kù)服務(wù)器及其運(yùn)行的操作系統(tǒng)平臺(tái),根據(jù)客戶的數(shù)據(jù)量并不是十分巨大,我們選擇目前市場(chǎng)上價(jià)格比較低廉的數(shù)據(jù)庫(kù)服務(wù)器產(chǎn)品:SQL Server2000及配套的平臺(tái)Windows XP。而前臺(tái)開(kāi)發(fā)工具采用Microsoft Visual Studio 2005 ,利用其可視化的開(kāi)發(fā)環(huán)境、豐富的控件資源,能快速開(kāi)發(fā)出應(yīng)用程序。2.3.2 經(jīng)濟(jì)上的可行性1費(fèi)用:本系統(tǒng)屬于小型的餐飲管理系統(tǒng),軟硬件費(fèi)用要求不高,一般的餐飲行業(yè)都能支付的了費(fèi)用。 2效用:實(shí)施該系統(tǒng)也能給公司帶來(lái)長(zhǎng)期效益,它可幫助領(lǐng)導(dǎo)實(shí)現(xiàn)管理方法的現(xiàn)代化、科學(xué)化,極大地提高餐飲企業(yè)的工作質(zhì)量與工作效率,減少管理支出的費(fèi)用,從而保證企業(yè)管理的可持續(xù)的良好發(fā)展。因此經(jīng)濟(jì)上具有了系統(tǒng)開(kāi)發(fā)的可行性。2.3.3 簡(jiǎn)要總結(jié)經(jīng)過(guò)細(xì)致地初步調(diào)查和嚴(yán)密地可行性分析,我們認(rèn)為在現(xiàn)有條件下,為酒店開(kāi)發(fā)餐飲管理信息系統(tǒng)是完全可行的。2.4 業(yè)務(wù)流程分析2.4.1 系統(tǒng)功能結(jié)構(gòu)為了實(shí)現(xiàn)對(duì)餐飲企業(yè)的基本管理,現(xiàn)對(duì)餐飲管理系統(tǒng)結(jié)構(gòu)主要細(xì)分為四大模塊。如圖表 1.1:圖表 1.11.基礎(chǔ)信息:桌臺(tái)信息:主要是針對(duì)桌臺(tái)的基本信息進(jìn)行查詢以及增刪改的操作。職工信息:主要是對(duì)公司職工的基本信息進(jìn)行查詢以及增刪改的操作。2.輔助工具: 日歷:顯示日期工具,對(duì)日期進(jìn)行查看。 計(jì)算器:通過(guò)調(diào)用系統(tǒng)的計(jì)算器來(lái)計(jì)算數(shù)據(jù)。 記事本:通過(guò)調(diào)用系統(tǒng)的記事本工具來(lái)記錄數(shù)據(jù)。 3.系統(tǒng)維護(hù): 權(quán)限管理:對(duì)所有用戶的權(quán)限進(jìn)行設(shè)置。 系統(tǒng)備份:對(duì)數(shù)據(jù)庫(kù)進(jìn)行備份,以便通過(guò)系統(tǒng)恢復(fù)來(lái)還原數(shù)據(jù)。 系統(tǒng)恢復(fù):還原備份的數(shù)據(jù)。4.系統(tǒng)設(shè)置: 口令設(shè)置:修改登錄者的密碼。鎖定系統(tǒng):通過(guò)系統(tǒng)鎖屏,通過(guò)密碼才能解鎖,增加系統(tǒng)的安全性。2.4.2業(yè)務(wù)流程分析為了反映系統(tǒng)內(nèi)部各個(gè)部分的聯(lián)系程度,就必須對(duì)組織的業(yè)務(wù)流程進(jìn)行分析。業(yè)務(wù)流程圖是分析業(yè)務(wù)功能流程的重要工具,它是一種描述系統(tǒng)內(nèi)部各單位、人員之間業(yè)務(wù)關(guān)系、作業(yè)順序和管理信息流向的圖表。首先要有一個(gè)登錄模塊對(duì)登錄用戶進(jìn)行驗(yàn)證,如果驗(yàn)證成功則進(jìn)入系統(tǒng)的主窗體,登錄主窗體之后在根據(jù)登錄的用戶名判斷是不是管理員,如果是管理員則可以操作所有的功能:系統(tǒng)維護(hù)、基礎(chǔ)信息、系統(tǒng)設(shè)置、輔助工具、退出。如果不是管理員則只能查看基礎(chǔ)信息、使用輔助工具和退出。系統(tǒng)業(yè)務(wù)流程如圖表2.1所示:圖表 2.1第三章 C#簡(jiǎn)介C#(發(fā)音為C Sharp)是由微軟公司所開(kāi)發(fā)的一種面向?qū)ο?,且運(yùn)行于.NET Framework之上的高級(jí)程序設(shè)計(jì)語(yǔ)言。并且成為ECMA與ISO標(biāo)準(zhǔn)規(guī)范。C#看似基于C+寫(xiě)成,但又融入其它語(yǔ)言如Delphi、Java、VB等。3.1設(shè)計(jì)目標(biāo)ECMA標(biāo)準(zhǔn)列出的C#設(shè)計(jì)目標(biāo):C#旨在設(shè)計(jì)成為一種“簡(jiǎn)單、現(xiàn)代、通用”,以及面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言 此種語(yǔ)言的實(shí)現(xiàn),應(yīng)提供對(duì)于以下軟件工程要素的支持:強(qiáng)類型檢查、數(shù)組維度檢查、未初始化的變量引用檢測(cè)、自動(dòng)垃圾收集(Garbage Collection,指一種自動(dòng)內(nèi)存釋放技術(shù))。軟件必須做到強(qiáng)大、持久,并具有較強(qiáng)的編程生產(chǎn)力。 此種語(yǔ)言為在分布式環(huán)境中的開(kāi)發(fā)提供適用的組件開(kāi)發(fā)應(yīng)用。 為使程序員容易遷移到這種語(yǔ)言,源代碼的可移植性十分重要,尤其是對(duì)于那些已熟悉C和C+的程序員而言。 對(duì)國(guó)際化的支持非常重要。 C#適合為獨(dú)立和嵌入式的系統(tǒng)編寫(xiě)程序,從使用復(fù)雜操作系統(tǒng)的大型系統(tǒng)到特定應(yīng)用的小型系統(tǒng)均適用。 雖然C#程序在存儲(chǔ)和操作能力需求方面具備經(jīng)濟(jì)性,但此種語(yǔ)言并不能在性能和尺寸方面與C語(yǔ)言或匯編語(yǔ)言相抗衡。3.2語(yǔ)言特性相對(duì)于C和C+,這個(gè)語(yǔ)言在許多方面進(jìn)行了限制和增強(qiáng):指針(Pointer)只能被用于不安全模式。大多數(shù)對(duì)象訪問(wèn)通過(guò)安全的引用實(shí)現(xiàn),以避免無(wú)效的調(diào)用,并且有許多算法用于驗(yàn)證溢出,指針只能用于調(diào)用值類型,以及受垃圾收集控制的托管對(duì)象。 對(duì)象不能被顯式釋放,代替為當(dāng)不存在被引用時(shí)通過(guò)垃圾回收器回收。 只允許單一繼承(single inheritance),但是一個(gè)類可以實(shí)現(xiàn)多個(gè)接口(interfaces)。 C#比C+更加類型安全。默認(rèn)的安全轉(zhuǎn)換是隱含轉(zhuǎn)換,例如由短整型轉(zhuǎn)換為長(zhǎng)整型和從派生類轉(zhuǎn)換為基類。而接口同整型,及枚舉型同整型不允許隱含轉(zhuǎn)換,非空指針(通過(guò)引用相似對(duì)象)同用戶定義類型的隱含轉(zhuǎn)換必段被顯式的確定,不同于C+的復(fù)制構(gòu)造函數(shù)。 數(shù)組聲明語(yǔ)法不同(int a = new int5 而不是 int a5)。 枚舉位于其所在的命名空間中。 C#中沒(méi)有模版(Template),但是在C# 2.0中引入了泛型(Generic programming),并且支持一些C+模版不支持的特性。比如泛型參數(shù)中的類型約束。另一方面,表達(dá)式不能像C+模版中被用于類型參數(shù)。 屬性支持,使用類似訪問(wèn)成員的方式調(diào)用。 完整的反射支持。 3.3程序的執(zhí)行C#并不被編譯成為能夠直接在計(jì)算機(jī)上執(zhí)行的二進(jìn)制本地代碼。與Java類似,它被編譯成為中間代碼(Microsoft Intermediate Language),然后通過(guò).NET Framework的虛擬機(jī)被稱之為通用語(yǔ)言運(yùn)行時(shí).NET CLR(Common Language Runtime)執(zhí)行。所有的.Net編程語(yǔ)言都被編譯成這種被稱為MSIL(Microsoft Intermediate Language )的中間代碼。因此雖然最終的程序在表面上仍然與傳統(tǒng)意義上的可執(zhí)行文件都具有“.exe”的后綴名。但是實(shí)際上,如果計(jì)算機(jī)上沒(méi)有安裝.Net Framework,那么這些程序?qū)⒉荒軌虮粓?zhí)行。在程序執(zhí)行時(shí),.Net Framework將中間代碼翻譯成為二進(jìn)制機(jī)器碼,從而使它得到正確的運(yùn)行。最終的二進(jìn)制代碼被存儲(chǔ)在一個(gè)緩沖區(qū)(Buffer)中。所以一旦程序使用了相同的代碼,那么將會(huì)調(diào)用緩沖區(qū)中的版本。這樣如果一個(gè).Net程序第二次被運(yùn)行,那么這種翻譯不需要進(jìn)行第二次,速度明顯加快。3.4標(biāo)準(zhǔn)化微軟公司已經(jīng)向ECMA申請(qǐng)將C#作為一種標(biāo)準(zhǔn)。在2001年12月,ECMA發(fā)布了ECMA-334 C#語(yǔ)言規(guī)范。C#在2003年成為一個(gè)ISO標(biāo)準(zhǔn)(ISO/IEC 23270)。現(xiàn)在有一些獨(dú)立的實(shí)現(xiàn)正在進(jìn)行,包括:自由軟件基金會(huì)的dotGNU Portable.NET Mono Baltie - C# IDE for children and young Baltie 3.5總結(jié)利用C#的優(yōu)點(diǎn),加上.NET開(kāi)發(fā)的安全性,和數(shù)據(jù)庫(kù)的優(yōu)勢(shì)和.net的無(wú)縫結(jié)合,容易上手,易于實(shí)現(xiàn)快速開(kāi)發(fā),它有圖形界面,它的界面設(shè)計(jì)跟服務(wù)器段編程分離,給我感覺(jué)很清晰,用它做出來(lái)的東西,容錯(cuò)性強(qiáng),給人的感覺(jué)好!第四章 設(shè)計(jì)開(kāi)發(fā)項(xiàng)目41數(shù)據(jù)庫(kù)設(shè)計(jì)在開(kāi)發(fā)餐飲管理系統(tǒng)之前,分析了改系統(tǒng)的數(shù)據(jù)量,由于系統(tǒng)餐飲管理的數(shù)據(jù)較多,商品信息、消費(fèi)信息以及賬目清單會(huì)占用較大的空間。因此選擇Microsoft SQL Server2000數(shù)據(jù)庫(kù)存儲(chǔ)這些信息,數(shù)據(jù)庫(kù)命名為db_Mrcy,在數(shù)據(jù)庫(kù)中創(chuàng)建了6個(gè)數(shù)據(jù)表用于不同的信息。Tb_food表 存儲(chǔ)食品的相關(guān)信息、tb_foodtype表 存儲(chǔ)食品的類別、tb_guestfood表 存儲(chǔ)消費(fèi)信息、tb_room表 存儲(chǔ)餐廳桌臺(tái)信息、tb_user表 存儲(chǔ)管理用戶信息、tb_waiter表 存儲(chǔ)所有職工信息。Tb_food表設(shè)置如圖表4.1.1圖表 4.1.1tb_foodtype表設(shè)置如圖表4.1.2圖表 4.1.2tb_guestfood表設(shè)置如圖表4.1.3圖表 3.1.3tb_room表設(shè)置如圖表4.1.4圖表 4.1.4tb_user表設(shè)置如圖表4.1.5圖表 4.1.5tb_waiter表設(shè)置如圖表4.1.6圖表 登錄模塊的設(shè)計(jì)為了使系統(tǒng)的安全性得到保障,為餐飲管理系統(tǒng)開(kāi)發(fā)了登錄模塊。通過(guò)該模塊能對(duì)登錄用戶進(jìn)行驗(yàn)證,只有系統(tǒng)的合法用戶才能進(jìn)入系統(tǒng)的主界面。代碼實(shí)現(xiàn)部分如下: SqlConnection conn = BaseClass.DBConn.CyCon(); conn.Open(); SqlCommand cmd = new SqlCommand(select count(*) from tb_User where UserName= + txtName.Text + and UserPwd= + txtPwd.Text + , conn); int i = Convert.ToInt32(cmd.ExecuteScalar(); if (i 0) cmd = new SqlCommand(select * from tb_User where UserName= + txtName.Text + , conn); SqlDataReader sdr = cmd.ExecuteReader(); sdr.Read(); string UserPower = sdrpower.ToString().Trim(); conn.Close(); frmMain main = new frmMain(); main.power = UserPower; main.Names = txtName.Text; main.Times = DateTime.Now.ToShortDateString(); main.Show(); this.Hide(); else MessageBox.Show(用戶名或密碼錯(cuò)誤); conn.Close(); 登錄界面如圖表4.2.1圖表 主窗體設(shè)計(jì)在餐飲管理系統(tǒng)中主窗體是由3部分組成的。第一部分是位于主窗體模塊上端的系統(tǒng)菜單,主要實(shí)現(xiàn)鏈接系統(tǒng)功能菜單。第二部分是位于主窗體模塊中間的桌臺(tái)顯示,主要用于顯示餐廳中所有的桌臺(tái)情況,包括桌臺(tái)時(shí)候已使用、已使用桌臺(tái)的客人數(shù)量等信息,方便了用戶對(duì)桌臺(tái)的管理。第三部分是位于主窗體模塊下端的狀態(tài)欄,主要用于顯示系統(tǒng)當(dāng)前狀態(tài)信息。部分代碼實(shí)現(xiàn)如下:private void 開(kāi)臺(tái)ToolStripMenuItem_Click(object sender, EventArgs e) if (lvDesk.SelectedItems.Count != 0) string names = lvDesk.SelectedItems0.SubItems0.Text; frmOpen openroom = new frmOpen(); = names; openroom.ShowDialog(); else MessageBox.Show(請(qǐng)選擇桌臺(tái)); private void frmMain_Activated(object sender, EventArgs e) lvDesk.Items.Clear(); SqlConnection conn = BaseClass.DBConn.CyCon(); conn.Open(); SqlCommand cmd = new SqlCommand(select * from tb_Room, conn); sdr = cmd.ExecuteReader(); while (sdr.Read() string zt = sdrRoomZT.ToString().Trim(); AddItems(zt); conn.Close(); private void 點(diǎn)菜ToolStripMenuItem_Click(object sender, EventArgs e) if (lvDesk.SelectedItems.Count != 0) string names = lvDesk.SelectedItems0.SubItems0.Text; frmDC dc = new frmDC(); dc.RName = names; dc.ShowDialog(); else MessageBox.Show(請(qǐng)選擇桌臺(tái)); private void 消費(fèi)查詢ToolStripMenuItem_Click(object sender, EventArgs e) if (lvDesk.SelectedItems.Count != 0) string names = lvDesk.SelectedItems0.SubItems0.Text; frmSerch serch = new frmSerch(); serch.RName = names; serch.ShowDialog(); else MessageBox.Show(請(qǐng)選擇桌臺(tái)); private void 結(jié)賬ToolStripMenuItem_Click(object sender, EventArgs e) if (lvDesk.SelectedItems.Count != 0) string names = lvDesk.SelectedItems0.SubItems0.Text; frmJZ jz = new frmJZ(); jz.Rname = names; jz.ShowDialog(); else MessageBox.Show(請(qǐng)選擇桌臺(tái)); private void lvDesk_DoubleClick(object sender, EventArgs e) frmDetails details = new frmDetails(); details.TableName = lvDesk.SelectedItems0.SubItems0.Text; details.ShowDialog(); private void lvDesk_Click(object sender, EventArgs e) string names = lvDesk.SelectedItems0.SubItems0.Text; SqlConnection conn = BaseClass.DBConn.CyCon(); conn.Open(); SqlCommand cmd = new SqlCommand(select * from tb_Room where RoomName= + names + , conn); SqlDataReader sdr = cmd.ExecuteReader(); sdr.Read(); string zt = sdrRoomZT.ToString().Trim(); sdr.Close(); if (zt = 使用) this.contextMenuStrip1.Items0.Enabled = false; this.contextMenuStrip1.Items1.Enabled = true; this.contextMenuStrip1.Items3.Enabled = true; this.contextMenuStrip1.Items5.Enabled = true; this.contextMenuStrip1.Items6.Enabled = true; if (zt = 待用) this.contextMenuStrip1.Items0.Enabled = true; this.contextMenuStrip1.Items1.Enabled = false; this.contextMenuStrip1.Items3.Enabled = false; this.contextMenuStrip1.Items5.Enabled = false; this.contextMenuStrip1.Items6.Enabled = false; conn.Close(); private void 取消開(kāi)臺(tái)toolStripMenuItem_Click(object sender, EventArgs e) if (lvDesk.SelectedItems.Count != 0) string names = lvDesk.SelectedItems0.SubItems0.Text; SqlConnection conn = BaseClass.DBConn.CyCon(); conn.Open(); SqlCommand cmd = new SqlCommand(update tb_Room set RoomZT=待用,Num=0 where RoomName= + names + , conn); cmd.ExecuteNonQuery(); cmd = new SqlCommand(delete from tb_GuestFood where zhuotai= + names + , conn); cmd.ExecuteNonQuery(); conn.Close(); frmMain_Activated(sender, e); else MessageBox.Show(請(qǐng)選擇桌臺(tái)); private void 桌臺(tái)信息ToolStripMenuItem1_Click(object sender, EventArgs e) frmDesk desk = new frmDesk(); desk.ShowDialog(); private void 職員信息ToolStripMenuItem1_Click(object sender, EventArgs e) frmUser users = new frmUser(); users.ShowDialog(); private void 日歷ToolStripMenuItem1_Click(object sender, EventArgs e) frmCalender calender = new frmCalender(); calender.ShowDialog(); private void 記事本ToolStripMenuItem1_Click(object sender, EventArgs e) System.Diagnostics.Process.Start(notepad.exe); private void 計(jì)算器ToolStripMenuItem1_Click(object sender, EventArgs e) System.Diagnostics.Process.Start(calc.exe); private void 權(quán)限管理ToolStripMenuItem1_Click(object sender, EventArgs e) frmQxGl qx = new frmQxGl(); qx.ShowDialog(); private void 系統(tǒng)備份ToolStripMenuItem1_Click(object sender, EventArgs e) frmBF bf = new frmBF(); bf.ShowDialog(); private void 系統(tǒng)恢復(fù)ToolStripMenuItem1_Click(object sender, EventArgs e) frmHF hf = new frmHF(); hf.ShowDialog(); private void 口令設(shè)置ToolStripMenuItem1_Click(object sender, EventArgs e) frmPwd pwd = new frmPwd(); s = Names; pwd.ShowDialog(); private void 鎖定系統(tǒng)ToolStripMenuItem1_Click(object sender, EventArgs e) frmLock locksystem = new frmLock(); locksystem.Owner = this; locksystem.ShowDialog(); 主窗體界面如圖表 4.2.2圖表 開(kāi)臺(tái)模塊設(shè)計(jì)當(dāng)顧客要進(jìn)行消費(fèi)的時(shí)候,首先要看一下是否還有可用的桌臺(tái),如果還有空閑的桌臺(tái),那么就要為顧客開(kāi)臺(tái),只有在開(kāi)臺(tái)之后,才能為顧客點(diǎn)菜、查詢和結(jié)賬。所以開(kāi)臺(tái)模塊在整個(gè)系統(tǒng)中是非常重要的。部分代碼實(shí)現(xiàn)如下:private void frmOpen_Load(object sender, EventArgs e) conn = BaseClass.DBConn.CyCon(); conn.Open(); SqlCommand cmd = new SqlCommand(select * from tb_Room,conn); SqlDataReader sdr = cmd.ExecuteReader(); while (sdr.Read() cbNum.Items.Add(sdrRoomName.ToString().Trim(); cbNum.SelectedItem= name.Trim(); sdr.Close(); cmd = new SqlCommand(select * from tb_Waiter,conn); sdr = cmd.ExecuteReader(); while (sdr.Read() cbWaiter.Items.Add(sdrWaiterName.ToString().Trim(); cbWaiter.SelectedIndex = 0; sdr.Close(); conn.Close(); private void txtNum_KeyPress(object sender, KeyPressEventArgs e) if (e.KeyChar != 8 & !char.IsDigit(e.KeyChar) & e.KeyChar != 13) MessageBox.Show(請(qǐng)輸入數(shù)字); e.Handled = true; private void btnSave_Click(object sender, EventArgs e) if (txtNum.Text = |Convert.ToInt32(txtNum.Text)=0) MessageBox.Show(請(qǐng)輸入用餐人數(shù)); else conn.Open(); string RoomName = cbNum.SelectedItem.ToString(); SqlCommand cmd1 = new SqlCommand(update tb_Room set GuestName= + txtName.Text + ,zhangdanDate= + dateTimePicker1.Value.ToString() + ,Num= + Convert.ToInt32(txtNum.Text) + ,WaiterName= + cbWaiter.SelectedItem.ToString() + ,RoomZT=使用 where RoomName= + name + , conn); cmd1.ExecuteNonQuery(); conn.Close(); this.Close(); 開(kāi)臺(tái)模塊如圖表 4.2.3圖表 點(diǎn)菜模塊設(shè)計(jì)為顧客選定好桌臺(tái),并且開(kāi)臺(tái)之后。會(huì)根據(jù)顧客的需要點(diǎn)菜或購(gòu)買茶水煙酒之類的消費(fèi)品,在點(diǎn)菜模塊中會(huì)顯示餐廳特有的一些菜系,用戶可以對(duì)不通的菜系進(jìn)行選擇。部分代碼實(shí)現(xiàn)如下:private void frmDC_Load(object sender, EventArgs e) this.Text = RName + 點(diǎn)/加菜; TreeNode newnode1 = tvFood.Nodes.Add(鍋底); TreeNode newnode2 = tvFood.Nodes.Add(配菜); TreeNode newnode3 = tvFood.Nodes.Add(煙酒); TreeNode newnode4 = tvFood.Nodes.Add(主食); SqlConnection conn = BaseClass.DBConn.CyCon(); conn.Open(); SqlCommand cmd = new SqlCommand(select * from tb_food where foodty=1, conn); SqlDataReader sdr = cmd.ExecuteReader(); while (sdr.Read() newnode1.Nodes.Add(sdr3.ToString().Trim(); sdr.Close(); cmd = new SqlCommand(select * from tb_food where foodty=2, conn); sdr = cmd.ExecuteReader(); while (sdr.Read() newnode2.Nodes.Add(sdr3.ToString().Trim(); sdr.Close(); cmd = new SqlCommand(select * from tb_food where foodty=3, conn); sdr = cmd.ExecuteReader(); while (sdr.Read() newnode3.Nodes.Add(sdr3.ToString().Trim(); sdr.Close(); cmd = new SqlCommand(select * from tb_food where foodty=4, conn); sdr = cmd.ExecuteReader(); while (sdr.Read() newnode4.Nodes.Add(sdr3.ToString().Trim(); sdr.Close(); cmd = new SqlCommand(select * from tb_Waiter,conn); sdr = cmd.ExecuteReader(); while (sdr.Read() cbWaiter.Items.Add(sdrWaiterName.ToString().Trim(); cbWaiter.SelectedIndex = 0; sdr.Close(); cmd = new SqlCommand(select RoomZT from tb_Room where RoomName=+RName+,conn); string zt = Convert.ToString(cmd.ExecuteScala

溫馨提示

  • 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)論