




已閱讀5頁,還剩56頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1 南京審計學院信息科學學院南京審計學院信息科學學院 課程設計報告書課程設計報告書 課程名稱:課程名稱: 信息系統(tǒng)開發(fā)工具課程設計信息系統(tǒng)開發(fā)工具課程設計 課題名稱:課題名稱: 餐餐 飲飲 管管 理理 系系 統(tǒng)統(tǒng) 專專 業(yè):業(yè):信息管理與信息系統(tǒng)信息管理與信息系統(tǒng) 班班 級:級: 08 級信息管理級信息管理 1 班班 學學 號:號: 061415309061415309 姓姓 名:名: 孫曉剛孫曉剛 成成 績:績: 2010 年年 12 月月 26 日日 2 目 錄 第一章第一章 系統(tǒng)需求分析系統(tǒng)需求分析1 1 1.1 系統(tǒng)功能需求分析.1 1.2 系統(tǒng)數(shù)據(jù)流圖.1 1.3 數(shù)據(jù)字典2 第二章第二章 系統(tǒng)概要設計系統(tǒng)概要設計5 5 2.1 系統(tǒng)總體框圖設計.5 2.2 各模塊功能分析5 第三章第三章 數(shù)據(jù)庫設計數(shù)據(jù)庫設計7 7 3.1 系統(tǒng) E-R 圖設計.7 3.2 數(shù)據(jù)庫結構的設計8 第四章第四章 系統(tǒng)詳細設計及實現(xiàn)系統(tǒng)詳細設計及實現(xiàn)1111 4.1 系統(tǒng)登陸界面設計11 4.2 系統(tǒng)主界面設計15 4.3 菜譜設置模塊19 4.3.1 菜譜信息設置設計 .19 4.3.2 菜譜查詢設計 .20 4.3.3 菜譜添加設計 .22 4.3.4 菜譜修改設計 .24 4.3.5 菜譜刪除設計 .25 4.4 開臺管理模塊27 4.4.1 搜索臺號設計 .27 4.4.2 開臺設置設計 .30 4.4.3 臺號信息查詢的設計 .32 4.4.4 房臺列表顯示函數(shù)的設計 .34 4.5 點菜管理模塊34 4.5.1 客戶點菜設計 .35 4.5.2 客戶放棄開臺設計. 37 4.5.3 客戶點菜完畢返回設計37 第五章第五章 數(shù)據(jù)模塊的創(chuàng)建與實現(xiàn)數(shù)據(jù)模塊的創(chuàng)建與實現(xiàn).45.45 5.1 數(shù)據(jù)模塊的創(chuàng)建.45 5.2 數(shù)據(jù)模塊的實現(xiàn)46 第六章第六章 系統(tǒng)調試與測試系統(tǒng)調試與測試.53.53 6.1 軟件功能測試.47 第七章第七章 結論結論5454 7.1 系統(tǒng)開發(fā)遇到的問題54 3 7.2 系統(tǒng)改進方面54 7.3 總結54 摘要摘要 近幾年來,隨著我國國民經(jīng)濟的穩(wěn)定增長,餐飲業(yè)的競爭也越來越激勵,想在這 樣競爭激勵的環(huán)境下生存,就必須運用科學的管理思想與先進的管理方法,使用點 餐與管理一體化。這樣不僅提高了工作效率,也避免了以前手工作業(yè)的麻煩,從而 使得管理者能夠準確,有效的管理餐飲。因此,餐飲業(yè)的管理者更需要一種綜合實 時的管理模式,希望從更科學的管理中取得競爭的優(yōu)勢,在競爭激烈的商業(yè)市場中 取勝。結合管理信息系統(tǒng)的開發(fā)方法及步驟,以此為理論根據(jù),開發(fā)出一個信息管 理系統(tǒng)餐飲管理系統(tǒng)。它采用國際通用的先進餐飲管理模式,并結合中國的管 理實際特點開發(fā)而成。通過本系統(tǒng)功能模塊,可為各種大小不同的餐飲管理所使用。 為管理者提供高效的管理手段,本系統(tǒng)有著人性理的設置理念,流程清晰、易懂。 具有獨特的功能對于開臺管理、點菜、菜譜設置等為管理人員帶來很大的方便,減 少人為因素的錯誤,提高服務水平,提升企業(yè)形象。 關鍵字:餐飲管理系統(tǒng)、提高服務水平、提高工作效率 4 第一章第一章 系統(tǒng)需求分析系統(tǒng)需求分析 1.11.1 系統(tǒng)功能需求分析系統(tǒng)功能需求分析 隨著現(xiàn)在連鎖餐飲店的不斷崛起,作為餐飲業(yè)不可缺少的一部分餐飲管理系 統(tǒng),它的內(nèi)容對于餐飲業(yè)的決策者和管理者來說都非常重要。本系統(tǒng)基于餐飲管理 系統(tǒng)之下的一個子系統(tǒng),可以把整個餐飲店的日常經(jīng)營管理信息化,包括點餐、庫 存管理、員工信息等日常經(jīng)營的一些統(tǒng)計功能?,F(xiàn)在此系統(tǒng)還不夠完善,將來使此 系統(tǒng)會集成更多的功能,例如:餐飲管理系統(tǒng)的開發(fā)成功,實現(xiàn)了餐飲業(yè)的現(xiàn)代化, 表明了餐飲管理正與國際化接軌,有了更為深入的發(fā)展。 餐軟管理系統(tǒng)采用國際通用的先進餐飲管理模式,并結合中國的管理實際特 點開發(fā)而成。通過本系統(tǒng)功能模塊,可為各種大小不同的餐飲管理所使用。為管理 者提供高效的管理手段,本系統(tǒng)有著人性理的設置理念,流程清晰、易懂。具有獨 特的功能對于開臺管理、點菜、菜譜設置等為管理人員帶來很大的方便,減少人為 因素的錯誤,提高服務水平,提升企業(yè)形象。 根據(jù)實際情況的需要,系統(tǒng)主要功能如下: 前臺管理:開臺管理、客戶結賬、退出系統(tǒng)。 系統(tǒng)管理:權限管理、系統(tǒng)管理、幫助。 基礎信息管理:酒水信息查詢、菜譜信息查詢及設置。 1.21.2 系統(tǒng)數(shù)據(jù)流圖系統(tǒng)數(shù)據(jù)流圖 根據(jù)實際情況要求,系統(tǒng)數(shù)據(jù)流圖如圖 1.2.1 所示 5 圖 1.2.1 數(shù)據(jù)流圖 1.31.3 數(shù)據(jù)字典數(shù)據(jù)字典 在這定義的酒店餐飲數(shù)據(jù)字典,主要對數(shù)據(jù)流程圖中的數(shù)據(jù)流、數(shù)據(jù)存儲和處 理過程進行說明。 (1)主要的數(shù)據(jù)流定義 1)數(shù)據(jù)流名稱:客戶信息 位置:客戶P2 定義:客戶信息=房間臺號+所點菜+酒水+開單時間+服務員編號 數(shù)據(jù)流量: 說明:客人點菜時可以進行特色菜和酒水信息的查詢,買單時要核對消費名目是 否屬實。 2)數(shù)據(jù)流名稱:菜譜信息 位置:菜譜P2 定義:菜譜信息=編號+房間臺號+菜名+單位+價格+菜系類別+口味說明 數(shù)據(jù)流量: 說明:編號不能有重復的。 3)數(shù)據(jù)流名稱:桌臺狀況 位置:桌臺P1 定義:桌臺狀況=編號+房臺名稱+類型說+餐飲部門+服務費+簡要說明+狀態(tài) 數(shù)據(jù)流量: 6 說明:只有狀態(tài)為空閑的房臺才能開臺。 4)數(shù)據(jù)流名稱:開臺人 位置:服務員 定義:開臺人編號姓名員工類別密碼 數(shù)據(jù)流量: 說明:不同的員工類別具有不同的權限,管理員具有所有權限,服務員不具備系 統(tǒng)維修等權限。 5)數(shù)據(jù)流名稱:員工信息 位置: 定義:員工信息員工編號姓名性別出生日期聯(lián)系電話聯(lián)系地址 聘用日期工作部門員工類別身份證號備注 數(shù)據(jù)流量: 說明:員工編號不可相同。 6)數(shù)據(jù)流名稱:管理員情況 位置:管理員 定義:管理員姓名口令 數(shù)據(jù)流量:平均流量為每年傳輸 50 次。 說明:通過管理員來不斷的更新和維護這個系統(tǒng)。 7 )數(shù)據(jù)流名稱:開臺信息 位置:P1P4 定義:開臺信息=房間臺號+服務費 數(shù)據(jù)流量: 說明:服務費可以省去。 8)數(shù)據(jù)流名稱:點菜信息 位置:P2P4 定義:點菜信息=房間臺號+類別+編號+名稱+類型+數(shù)量+價格+合計+點但日期+結 單日期+服務員編號+服務員姓名+結帳編號 數(shù)據(jù)流量: 說明:房間臺號是根據(jù)開臺而來的。 (2)主要的數(shù)據(jù)存儲定義 )數(shù)據(jù)存儲編號: 7 數(shù)據(jù)存儲名稱:桌臺信息 輸入: 輸出: 數(shù)據(jù)結構:桌臺信息=編號+房臺名稱+類型說+餐飲部門+服務費+簡要說明+狀態(tài) 存取方式:檢索和更新處理,以檢索為主。 說明:編號具有唯一性,狀態(tài)只能是空閑或者營業(yè)。 )數(shù)據(jù)存儲編號:D2 數(shù)據(jù)存儲名稱:員工信息 輸入:P1 輸出:P3 數(shù)據(jù)結構:員工信息=員工類別+口令 存取方式:主要是檢索。 說明:根據(jù)員工類別的不同,在后面的操作中具有不同的權限。 3)數(shù)據(jù)存儲編號:D3 數(shù)據(jù)存儲名稱:菜譜信息 輸入:P2 輸出:P2 數(shù)據(jù)結構:菜譜信息=菜名+單位+價格+菜系類別+口味說明 存取方式:檢索 說明:在點菜時對菜譜進行查詢。 (3)主要處理過程 1)處理過程編號:P1 處理過程名:開臺 輸入:服務員權限,桌臺狀況 輸出:開臺信息 處理說明:綜合各方面信息,進行客人消費前最基本的準備。 2)處理過程編號:P2 處理過程名:點菜 輸入:D1,D3,D4 輸出:點菜信息 處理說明:客人根據(jù)菜譜信息,酒水信息,特色菜信息,選擇自己中意的項目 8 進行。 3)處理過程編號:P3 處理過程名:權限管理 輸入:員工類型,口令 輸出:相應的操作權限 處理說明:輸入員工類別和口令獲得相應的操作權限,管理員比服務員具有更 多的操作權限。 第二章第二章 系統(tǒng)概要設計系統(tǒng)概要設計 2.12.1 系統(tǒng)總體框架設計系統(tǒng)總體框架設計 根據(jù)業(yè)務情況,該系統(tǒng)共分為開臺管理、客人買單、菜譜信息設置、客戶點菜、 酒水信息設置等模塊,系統(tǒng)結構圖如圖 2.1 所示。 圖 2.1 餐飲管理系統(tǒng)結構圖 9 2.22.2 各模塊功能分析各模塊功能分析 (1)系統(tǒng)登錄窗口主要功能)系統(tǒng)登錄窗口主要功能: 1)以圖標形式顯示數(shù)據(jù)庫中操作員,并憑口令登入到主界面。 2)操作員輸入錯誤密碼提醒錯誤并返回,三次輸入錯誤口令則退出系統(tǒng)。 3)實現(xiàn)權限登錄:系統(tǒng)管理員擁有一切權利,其他操作員則被限制一些操作權 限。 (2)系統(tǒng)主界面主要功能)系統(tǒng)主界面主要功能 1)根據(jù)操作員權限設置相應權限的菜單和工具欄功能。 2)可通過菜單或快捷鍵進入相應子界面。 3)顯示了系統(tǒng)當前時間和相應操作員。 (3)系統(tǒng)菜譜信息設置界面主要功能:)系統(tǒng)菜譜信息設置界面主要功能: 實現(xiàn)對菜譜信息的添加、修改、刪除、查詢的功能。 (4 4)系統(tǒng)開臺管理界面主要功能:)系統(tǒng)開臺管理界面主要功能: 1)以圖標模式顯示空臺、營業(yè)臺,點擊臺號圖標則自動顯示相應臺號信息。 2)通過輸入臺號檢索符合條件的臺號。 3)點擊空房自動彈出與昂查詢窗口從而自動開臺。 (5 5)系統(tǒng)點菜界面主要功能:)系統(tǒng)點菜界面主要功能: 1)實現(xiàn)菜譜,酒水查詢的鏈接。 2)點擊“開始點菜”按鈕臺號狀態(tài)自動變?yōu)殚_臺,并聚焦到編號欄。 3)在編號欄輸入菜編號按回車自動錄入菜的信息, 。 4)自動生成結賬編號,輸入菜數(shù)量自動計算合計消費金額。 5)可實現(xiàn)掛單、讀單、放棄開臺和點菜完畢返回的功能。 10 第三章第三章 數(shù)據(jù)庫設計數(shù)據(jù)庫設計 3.13.1 系統(tǒng)系統(tǒng) E-RE-R 圖的設計圖的設計 系統(tǒng) E-R 圖如圖 3.1 所示 11 12 圖 3.1 系統(tǒng) E-R 圖 3.23.2 數(shù)據(jù)庫結構設計數(shù)據(jù)庫結構設計 數(shù)據(jù)庫結構設計是總體設計階段非常重要的環(huán)節(jié),好的數(shù)據(jù)庫結構可以簡化開發(fā) 過程,使系統(tǒng)功能更加清晰明確。因為數(shù)據(jù)庫結構的變化會造成編碼的改動,所以 必須認真設計數(shù)據(jù)庫后再進行編碼,從而避免了無謂的重復的工作。 本系統(tǒng)采用了 SQL Server 數(shù)據(jù)庫,數(shù)據(jù)庫名稱為 060412079。該數(shù)據(jù)庫包含 4 個表,分別是:開臺表,點菜表,菜譜費用信息表,臺號信息表。下面分別介紹數(shù) 據(jù)表的結構。 1、 開臺表 開臺表用于保存開臺的相關信息。開臺表的結構見表 3-2-1 所示。 表 3-2-1 開臺表結構 字段名稱數(shù)據(jù)類型字段大小允許為空否 編號int4設置為主鍵 房臺名稱char30允許為空 類型說明char20允許為空 13 餐飲部門char20允許為空 服務費money8允許為空 簡要說明char30允許為空 狀態(tài)char20允許為空 2、 點菜表 點菜表用于保存點菜信息和相應的消費信息。點菜表的結構見表 3-2-2 所示。 表 3-2-2 點菜表結構 字段名稱數(shù)據(jù)類型字段大小是否允許為空 idchar16設置為主鍵 房間臺號int4允許為空 類別Char 10允許為空 編號int4允許為空 名稱char50允許為空 類型char20允許為空 單位char10允許為空 數(shù)量int4允許為空 價格money8允許為空 合計Money8允許為空 點單日期datetime8允許為空 結單日期datetime8允許為空 服務員編號int8允許為空 服務員姓名char12允許為空 狀態(tài)char10允許為空 結賬編號int4允許為空 是否結單char10允許為空 3、菜譜費用信息表用于查詢餐飲店所有的菜的信息。菜譜費用信息表的結構如 圖 3-2-3 所示。 表 3-2-3 菜譜費用信息結構 14 字段名稱數(shù)據(jù)類型字段大小是否允許為空 編號int4設為主鍵 菜名char50允許為空 單位char10允許為空 價格money8允許為空 菜系類別char20允許為空 口味說明char30允許為空 4、臺號信息表用于臺號信息的查詢,方便了消費者選臺,開臺及其他的作用。臺 號信息表的結構如圖 3-2-4 示。 表 3-2-4 臺號信息表結構 字段名稱數(shù)據(jù)類型字段大小是否允許為空 編號int4設為主鍵 房臺名稱char30設為主鍵 類型說明Char20允許為空 餐飲部門Char20允許為空 服務費money 8允許為空 簡要說明char30允許為空 狀態(tài)char10允許為空 容納人數(shù)Int4允許為空 第四章第四章 系統(tǒng)詳細設計及實現(xiàn)系統(tǒng)詳細設計及實現(xiàn) 4.14.1 系統(tǒng)登陸界面設計系統(tǒng)登陸界面設計 1.實現(xiàn)目標 程序啟動后,首先登陸此界面驗證操作員的密碼。主要實現(xiàn)的功能如下: 1)以圖標形式顯示數(shù)據(jù)庫中操作員,并憑口令登入到主界面。 2)操作員輸入錯誤密碼提醒錯誤并返回,三次輸入錯誤口令則退出系統(tǒng)。 15 3)實現(xiàn)權限登錄:系統(tǒng)管理員擁有一切權利,其他操作員則被限制一些操作權限。 系統(tǒng)登錄界面如圖 4.1.1 所示。 圖 4.1.1 系統(tǒng)登錄界面 2.實現(xiàn)過程 (1)添加窗體設置窗體 caption 屬性為“登錄窗口” ,保存窗體為 u79in.pas。 (2)向窗體中添加 Datasource、Query、Edit、Listview、ImageList、Image、Time、Label 等控件。 主要控件對象的屬性如表 4-2-1 所示。 表 4-2-1 主要控件對象的屬性列表 控件名屬性值功能 Query1Databasename SQL 060412079 Select * from 員工信表 權限查詢 Database1DatasetQuery1設置數(shù)據(jù)源 3.程序主要代碼如下: 單擊“登陸”按鈕,將判斷操作員、操作密碼是否正確,如果正確進入主界面 并根據(jù)操作員權限設置菜單和工具是否可用。如果輸入密碼錯誤將提醒并返回,三 次錯誤輸入則自動退出系統(tǒng)。 procedure TUser.BitBtn1Click(Sender: TObject); begin MainForm.ToolButton1.Enabled:=True; MainForm.ToolButton2.Enabled:=True; MainForm.ToolButton5.Enabled:=True; 16 MainForm.ToolButton6.Enabled:=True; MainForm.N1.Enabled:=True; MainForm.N2.Enabled:=True; MainForm.N4.Enabled:=True; MainForm.N3.Enabled:=True; MainForm.N5.Enabled:=True; MainForm.N6.Enabled:=True; MainForm.N7.Enabled:=True; MainForm.N8.Enabled:=True; MainForm.N9.Enabled:=True; MainForm.N17.Enabled:=True; MainForm.N19.Enabled:=True; if Query1.FieldByName(編號).AsString=controller then /如果是系統(tǒng)管 理員 begin if Edit1.TextQuery1.FieldByName(密碼).AsString then begin ShowMessage(+Query1.FieldByName(姓名).AsString+的口令錯誤.); Edit1.SetFocus; End Else begin Name:=Query1.FieldByName(權限).AsString; MainForm.EnabledKey(Name); /設置操作員權限 MainForm.StatusBar1.Panels1.Text:=用戶+Query1.FieldByName(姓名 ).AsString+; User_Close:=3; Timer1.Enabled:=False; Close; end; 18 end; END; 窗體啟動,關閉鑰匙,后將所有操作員添加到操作員列表。 procedure TUser.FormShow(Sender: TObject); var List:Array01of TListItem; begin Timer1.Enabled:=True; User_Close:=0; /打開關閉鑰匙 Query1.Close; Query1.Open; ListView1.Items.Clear; While not Query1.Eof do begin List0:=ListView1.Items.Add; List0.Caption:=Query1.FieldByName(姓名).AsString; if Query1.FieldByName(編號).AsString=controller then begin List0.ImageIndex:=0; End Else begin List0.ImageIndex:=1; end; Query1.Next; end; end; 選擇操作員,點擊其中一個則將員工的姓名和類型添加到了相應位置。 procedure TUser.ListView1Click(Sender: TObject); var List:Array01of TListItem; begin List0:=ListView1.Selected; 19 if List00 then /具有“A“類權限 begin MainForm.ToolButton1.Enabled:=True; MainForm.ToolButton2.Enabled:=True; MainForm.ToolButton5.Enabled:=True; MainForm.ToolButton6.Enabled:=True; MainForm.N1.Enabled:=True; MainForm.N2.Enabled:=True; MainForm.N4.Enabled:=True; 22 MainForm.N3.Enabled:=True; MainForm.N8.Enabled:=True; MainForm.N9.Enabled:=True; MainForm.N17.Enabled:=True; MainForm.N19.Enabled:=True; End Else if Pos(B,key)0 then /具有“B“類權限 begin MainForm.ToolButton1.Enabled:=True; MainForm.ToolButton2.Enabled:=True; MainForm.ToolButton6.Enabled:=True; MainForm.N1.Enabled:=True; MainForm.N5.Enabled:=True; MainForm.N6.Enabled:=True; MainForm.N7.Enabled:=True; MainForm.N4.Enabled:=True; MainForm.N3.Enabled:=True; MainForm.N8.Enabled:=True; MainForm.N9.Enabled:=True; MainForm.N17.Enabled:=True; MainForm.N19.Enabled:=True; End; end; 調入菜譜信息設置界面程序。 procedure TMainForm.N6Click(Sender: TObject); begin If Assigned(CPXXSZ) Then begin DataModule1.CPFYXX.Open;/打開菜譜費用信息表 DataModule1.cxlbxx.open;/打開菜系類別信息表 23 CPXXSZ:=TCPXXSZ.Create(Self); CPXXSZ.ShowModal; end; end; 4.34.3 菜譜信息設置界面設計菜譜信息設置界面設計 4.3.14.3.1 菜譜設置模塊菜譜設置模塊 1.實現(xiàn)目標 程序啟動后,調用菜單“基礎信息設置”下的“菜譜信息設置”項,將打開 “菜譜信息設置界面” 。系統(tǒng)菜譜信息設置界面主要功能:實現(xiàn)對菜譜信息的添加、 修改、刪除、查詢的功能。 2.實現(xiàn)過程 (1)添加新窗體,設置窗體名為 cpxxsz,設置窗體 caption 為“菜譜信息設置” , 保存為 u79cpset.pas。 (2)向窗體中添加 query、panel、groupbox、dbgrid、dbedit、edit、dbtext、bitbtn、dblookupcom bobox、time、datasetfrist、actionlist、label 等控件,主要控件屬性如表 4-3- 1 所示。 表 4-3-1 主要控件屬性 對象屬性值功能 Query1Databasename sql 060412079 Slect MAX(編號) from 菜譜 信息費用表 設置數(shù) 據(jù)范圍 DatasetFrist1Datasource Caption Hint Database1.cpxxfys 首記錄 移動到第一條記錄 移動到 首記錄 DatasetLast1Datasource Caption Hint Database1.cpxxfys 尾記錄 移動到最后一條記錄 移動到 尾記錄 DatasetNext1Datasource Caption Database1.cpxxfys 下一條記錄 移動到 下一條 24 Hint移動到下一條記錄記錄 DatasetPrior1Datasource Caption Hint Database1.cpxxfys 上一條記錄 移動到上一條記錄 移動到 上一條 記錄 DBLookupComBox1Listsource Keyfield Listfield Datasource Dtafirld Database1.cpfyxxs 菜系名稱 菜系名稱 Database1.cxlbxxs 菜系類別 選擇菜 系類別 4.3.24.3.2 菜譜查詢設計菜譜查詢設計 1.菜譜信息設置查詢界面如圖 4.3.1 所示。 圖 4.3.1 菜譜信息查詢設置界面 2.代碼如下: procedure TCPXXSZ.BitBtn1Click(Sender: TObject); var a,b,c:integer; d:String; begin If Length(Edit1.Text) = 0 Then /如果輸入查詢信息為空 begin ShowMessage(請輸入查詢的編號或菜名信息); 25 Edit1.SetFocus; End Else begin a:=Length(Edit1.Text); c:=0; for b:=1 to a do /for 語句用于判斷查詢是按菜譜編號還是按菜名查詢 begin D:=COPY(edit1.text,b,1); if (D=0) or (D0 then a:=Query1.Fields0.AsInteger else a:=1; if Bitbtn2.Caption=添加 then /添加菜譜信息 begin DataModule1.CPFYXX.Refresh; If DataModule1.CPFYXX.RecordCount = 0 Then A:=79000 /添加菜譜信息 Else begin DataModule1.CPFYXX.Last; a:=DataModule1.CPFYXX.FieldByName(編號).AsInteger; end; BitBtn2.Caption:=保存; BitBtn3.CaPtion:=取消; Aenabled(1); DataModule1.CPFYXX.Insert; DataModule1.CPFYXX.FieldByName(編號).AsInteger:=a+1; DataModule1.CPFYXX.FieldByName(菜系類別). AsString:=DataModule1.CXLBXX.FieldByName(菜系名稱).AsString; DBEdit2.SetFocus; End Else /保存菜譜信息 begin if (Length(DataModule1.CPFYXX.FieldByname(菜名).AsString)=0) or (Length(DataModule1.CPFYXX.FieldByname(單位).AsString)=0) or (Length(DataModule1.CPFYXX.FieldByname(價格).AsString)=0) then begin ShowMessage(請將菜名、單位、價格的數(shù)據(jù)添全。); DBEdit1.SetFocus; End Else begin 28 AEnabled(2); BitBtn2.Caption:=添加; BitBtn3.Caption:=修改; DataModule1.CPFYXX.Post; /保存菜譜信息 end; end; end; 4.3.44.3.4 菜譜修改設計菜譜修改設計 1.菜譜信息設置修改界面如圖 4.3.3 所示。 圖 4.3.3 菜譜信息設置修改界面 2.代碼如下: procedure TCPXXSZ.BitBtn3Click(Sender: TObject); begin if BitBtn3.Caption=修改 then begin DataModule1.CPFYXX.Refresh; If DataModule1.CPFYXX.RecordCount = 0 Then /如果數(shù)據(jù)為空 begin ShowMessage(對不起,沒有數(shù)據(jù)可以修改。); End Else /如果數(shù)據(jù)不為空 begin 29 AEnabled(1); BitBtn2.Caption:=保存; BitBtn3.Caption:=取消; DataModule1.CPFYXX.Edit; /編輯 DBEdit1.SetFocus; end; End Else begin AENabled(2); Bitbtn2.Caption:=添加; BitBtn3.Caption:=修改; DataModule1.CPFYXX.Cancel; /取消保存信息 end; end; 4.3.54.3.5 菜譜刪除設計菜譜刪除設計 1.菜譜信息設置刪除界面如圖 4.3.3 所示。 圖 4.3.3 菜譜信息設置刪除界面 2.代碼如下: procedure TCPXXSZ.BitBtn4Click(Sender: TObject); 30 begin DataModule1.CPFYXX.Refresh; If DataModule1.CPFYXX.RecordCount = 1 Then begin ShowMessage(對不起,這是最后一個菜,不能刪除。); End Else if MessageDLG(確認刪除指定的菜譜信息嗎?,mtCustom,mbYes,mbNO,0) =mrYes then begin DataModule1.CPFYXX.Delete; /刪除數(shù)據(jù) end; end; 5. 狀態(tài)編輯與瀏覽狀態(tài)函數(shù) function AEnabled(key:integer):Boolean ; /定義狀態(tài)編輯與瀏覽狀態(tài)函 數(shù) begin If key = 1 Then /編輯狀態(tài) begin CPXXSZ.BitBtn4.Enabled:=False; /“刪除“按鈕不可用 CPXXSZ.BitBtn5.Enabled:=False; /“退出“按鈕不可用 CPXXSZ.BitBtn1.Enabled:=False; /“查詢“按鈕不可用 CPXXSZ.Edit1.Enabled:=False; /查詢輸入框不可用 CPXXSZ.DBGrid1.Enabled:=False; CPXXSZ.GroupBox1.Visible:=True; End Else /瀏覽狀態(tài) begin CPXXSZ.BitBtn4.Enabled:=True; /“刪除“按鈕可用 CPXXSZ.BitBtn5.Enabled:=True; /“退出“按鈕可用 CPXXSZ.BitBtn1.Enabled:=True; /“查詢“按鈕可用 31 CPXXSZ.Edit1.Enabled:=True; CPXXSZ.DBGrid1.Enabled:=True; CPXXSZ.GroupBox1.Visible:=False; end; end; 4.44.4 系統(tǒng)開臺管理設計系統(tǒng)開臺管理設計 1.實現(xiàn)目標 程序啟動后,調用菜單“前臺管理”下的“開臺管理”項,將打開“開臺管理” 界面。系統(tǒng)開臺管理界面主要功能: 以圖標模式顯示空臺、營業(yè)臺,點擊臺號圖標則自動顯示相應臺號信息。 通過輸入臺號檢索符合條件的臺號。 點擊空房自動彈出與昂查詢窗口從而自動開臺。 2.實現(xiàn)過程 (1)添加新窗體,設置窗體名為 ktgl,設置窗體 caption 為“開臺管理” ,保存 為 u79ktgl.pas。 (2)向窗體中添加 datasource、query、groupbox、panel、pagecontrol、dbgrid、dbedit、edit、db text、bitbtn、dblookupcombobox、image、label 等控件,主要控件屬性如表 4-3- 1 所示。 表 4-3-1 主要控件屬性 控件名屬性值功能 打他搜如廁DatasetQuery設置數(shù)據(jù)源 DBLookupComBox1Listsource Keyfield Listfield Database1.cybmbs 部門名稱 部門名稱 選擇餐飲部門 Dbgrid1datasourceDatabase1.thxxs顯示臺號信息 4.4.14.4.1 搜索臺號設計搜索臺號設計 1.開臺管理搜索臺號界面如圖 4.4-1 所示。 32 圖 4.4-1 開臺管理搜索臺號界面 2.代碼如下: procedure TKTGL.BitBtn1Click(Sender: TObject); /搜索房臺 var List:TListItem; Lists:integer; ListText:String; a,b,c:integer; d:String; begin If Length(Edit1.Text) = 0 Then begin ShowMessage(請輸入查詢的房臺編號或房臺名稱信息); Edit1.SetFocus; End Else begin a:=Length(Edit1.Text); c:=0; for b:=1 to a do begin D:=COPY(edit1.text,b,1); if (D=0) or (D空閑 then begin PageControl1.ActivePageIndex:=1; /顯示第二頁 BitBtn6.SetFocus;/將焦點移到點菜服務按扭上 End Else begin PageControl1.ActivePageIndex:=0; /顯示第一頁 BitBtn3.SetFocus;/將焦點移到開臺設置按扭上 end; End Else begin ShowMessage(對不起,沒有找到。); end; End Else begin if DataModule1.THXX.Locate(房臺名稱,Edit1.Text,loPartialKey) then begin if DataModule1.THXX.FieldByName(狀態(tài)).AsString nil Then begin ListString:=List.Caption; If Length(ListString) 0 Then begin Query1.last; Label13.Caption:=Query1.FieldByName(服務員姓名).AsString; Label15.Caption:=FloatToStr(Query2.Fields0.AsFloat+DataModule1.THXX.Fie ldByName (服務費).AsFloat); End Else begin Label13.Caption:=; Label15.Caption:=; end; end; end; end; 38 4.4.44.4.4 房臺列表顯示函數(shù)的設計房臺列表顯示函數(shù)的設計 function ADDListView:Boolean; /定義房臺列表顯示函數(shù) begin DataModule1.thxx.RefResh; KTGL.Listview1.Items.Clear; DataModule1.thxx.Filter:=Format(狀態(tài)+=+%S,空閑); DataModule1.THXX.Filtered:=True; While not DataModule1.THXX.Eof do begin KTGL.ListView1.Items.Add.Caption:=DataModule1.thxx.fieldbyname(房臺名 稱).asstring; DataModule1.THXX.Next; end; KTGL.Label1.Caption:=空閑總數(shù):+IntToStr(DataModule1.THXX.RecordCount); KTGL.Listview2.Items.Clear; DataModule1.THXX.Filter:=Format(狀態(tài)+空閑; DataModule1.THXX.Filtered:=True; While not DataModule1.THXX.Eof do begin KTGL.ListView2.Items.Add.Caption:=DataModule1.THXX.FieldByName(房臺名稱 ).AsString; DataModule1.THXX.Next; end; KTGL.Label11.Caption:=營業(yè)總數(shù):+IntToStr(DataModule1.THXX.RecordCount); DataModule1.THXX.Filtered:=False; end; 4.54.5 點菜管理模塊點菜管理模塊 1.實現(xiàn)目標 系統(tǒng)點菜界面主要功能:系統(tǒng)點菜界面主要功能: 39 實現(xiàn)菜譜,酒水查詢的鏈接。 點擊“開始點菜”按鈕臺號狀態(tài)自動變?yōu)殚_臺,并聚焦到編號欄。 在編號欄輸入菜編號按回車自動錄入菜的信息, 。 自動生成結賬編號,輸入菜數(shù)量自動計算合計消費金額。 可實現(xiàn)掛單、讀單、放棄開臺和點菜完畢返回的功能。 4.5.14.5.1 客戶點菜設計客戶點菜設計 1.客戶點菜界面如圖 4.5.1 所示。 圖 4.5.1 客戶點菜界面 2.代碼如下: procedure TDCFY_LR.BitBtn1Click(Sender: TObject); begin sum:=0; Query1.Open; /打開庫存水酒記錄 DataModule1.THXX.Edit; DataModule1.THXX.FieldByName(狀態(tài)).AsString:=開臺; DataModule1.THXX.Post; DCGrid.Enabled:=True; BitBtn4.Enabled:=True; BitBtn5.Enabled:=True; DCGrid.SetFocus; end; 40 4.5.24.5.2 客戶放棄開臺設計客戶放棄開臺設計 1.客戶放棄開臺后返回界面如圖 4.5.2 所示。 圖 4.5.2 客戶放棄開臺后返回界面 2.代碼如下: procedure TDCFY_LR.BitBtn3Click(Sender: TObject); begin DataModule1.THXX.Edit; /編輯房臺 DataModule1.THXX.FieldByName(狀態(tài)).AsString:=空閑; /將房臺改為空 閑 DataModule1.THXX.Post; /保存編輯 DataModule1.JZBH.Edit; /編輯結賬編號 DataModule1.JZBH.FieldByName(編號). AsInteger:=DataModule1.JZBH.FieldByName(編號).AsInteger-1; DataModule1.JZBH.Post; /保存編輯 ktkey:=3; /放棄開臺 Close; end; 41 4.5.34.5.3 客戶點菜完畢返回設計客戶點菜完畢返回設計 1.客戶點菜完畢返回后界面如圖 4.5.3 所示。 圖 4.5.3 客戶點菜完畢返回后界面 2. 代碼如下: procedure TDCFY_LR.BitBtn2Click(Sender: TObject); begin DataModule1.JZBH.Edit; /編輯結賬編號 DataModule1.JZBH.FieldByName(編號). AsInteger:=DataModule1.JZBH.FieldByName(編號).AsInteger+1; DataModule1.JZBH.Post; /保存編輯 ktKey:=2; /確定返回 close; end; 4.5.44.5.4 DCFY_LRDCFY_LR 的的 FormShowFormShow 事件事件 procedure TDCFY_LR.FormShow(Sender: TObject); var a,b,c:integer; begin DCGrid.Cells1,0:=編號; DCGrid.Cells2,0:=名稱; DCGrid.Cells3,0:=類型; DCGrid.Cells4,0:=單位; DCGrid.Cells5,0:=數(shù)量; 42 DCGrid.Cells6,0:=價格; DCGrid.Cells7,0:=狀態(tài); DCGrid.Cells8,0:=合計; for a:=1 to DCGrid.RowCount-1 do begin DCGrid.Cells0,a:=intToStr(a); end; end; 4.5.54.5.5 DCFY_LRDCFY_LR 的的 FormCloseQueryFormCloseQuery 事件事件 procedure TDCFY_LR.FormCloseQuery(Sender: TObject; var CanClose: Boolean); var a:integer; b:integer; begin If ktKey = 3 Then /放棄開臺 begin End Else If ktKey = 2 Then /確定返回 begin if Length(DCGrid.Cells1,1)=0 then /如果首單元格為空 begin ShowMessage(對不起,沒有點菜是無法開臺營業(yè)的.); Abort; End Else begin for a:=1 to 51 do begin if Length(DCGrid.Cells1,a)=0 then /如果該行首單元格為空 begin b:=a; 43 Break; /結束循環(huán) End Else begin if Length(DCGrid.Cells2,a)=0 then /如果該行第二單元格為空 begin ShowMessage(數(shù)據(jù)有誤,請修改.); DCGrid.Col:=2; DCGrid.Row:=a; DCGrid.SetFocus; /光標移到該單元格 Abort; end; if Length(DCGrid.Cells3,a)=0 then /如果該行第三單元格為空 begin ShowMessage(數(shù)據(jù)有誤,請修改.); DCGrid.Col:=3; DCGrid.Row:=a; DCGrid.SetFocus; /光標移到該單元格 Abort; end; if Length(DCGrid.Cells4,a)=0 then /如果該行第四單元格為空 begin ShowMessage(數(shù)據(jù)有誤,請修改.); DCGrid.Col:=4; DCGrid.Row:=a; DCGrid.SetFocus; /光標移到該單元格 Abort; end; if Length(DCGrid.Cells5,a)=0 then /如果該行第五單元格為空 begin ShowMessage(數(shù)據(jù)有誤,請修改.); 44 DCGrid.Col:=5; DCGrid.Row:=a; DCGrid.SetFocus; /光標移到該單元格 Abort; end; if Length(DCGrid.Cells6,a)=0 then /如果該行第六單元格為空 begin ShowMessage(數(shù)據(jù)有誤,請修改.); DCGrid.Col:=6; DCGrid.Row:=a; DCGrid.SetFocus; /光標移到該單元格 Abort; end; if Length(DCGrid.Cells7,a)=0 then /如果該行第七單元格為空 begin ShowMessage(數(shù)據(jù)有誤,請修改.); DCGrid.Col:=7; DCGrid.Row:=a; DCGrid.SetFocus; /光標移到該單元格 Abort; end; if Length(DCGrid.Cells8,a)=0 then /如果該行第八單元格為空 begin ShowMessage(數(shù)據(jù)有誤,請修改.); DCGrid.Col:=8; DCGrid.Row:=a; DCGrid.SetFocus; /光標移到該單元格 Abort; end; end; end; 45 Query2.Close; Query2.SQL.Clear; Query2.SQL.Add(Insert 點菜臨時表 (房間臺號,編號,名稱,類型,單位,數(shù)量, 價格,合計,服務員編號,服務員姓名,狀態(tài),點單日期,結帳編號,是否結單); Query2.SQl.Add(Values(:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學校洗臉池管理制度
- 學校美發(fā)室管理制度
- 學校隔離點管理制度
- 學生早到校管理制度
- 孵化園設備管理制度
- 安全用蒸汽管理制度
- 安明措施費管理制度
- 安置點安全管理制度
- 實訓室發(fā)放管理制度
- 實驗試劑庫管理制度
- 醫(yī)學影像分析-洞察及研究
- 2025年上海徐匯區(qū)高一(下)信息技術合格考試題及答案
- 2025春季學期國開電大本科《人文英語4》一平臺機考真題及答案(第二套)
- 國家開放大學《理工英語1》期末機考題庫
- 2025年四川省涼山州中考數(shù)學試卷真題及解析答案
- 2025年上半年山東鐵投集團校園招聘社會公開招聘165人筆試參考題庫附帶答案詳解
- 培訓中心全套管理制度
- 江蘇省-蘇州市昆山市城北中學2024-2025學年七年級下學期期末質量調研歷史卷(含答案)
- 2025年江蘇省金陵中學英語八下期末學業(yè)質量監(jiān)測試題含答案
- DB31-T 1545-2025 衛(wèi)生健康數(shù)據(jù)分類分級要求
- 【薪智】2025地產(chǎn)建筑業(yè)行業(yè)白皮書人力核心指標行業(yè)報告系列
評論
0/150
提交評論