葉夢(mèng)君 焦冰
關(guān)鍵詞:點(diǎn)餐系統(tǒng);Linux;Qt;C/S架構(gòu);MySQL
中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2023)03-0044-03
1 引言
隨著互聯(lián)網(wǎng)技術(shù)和社會(huì)迅猛發(fā)展,上班族在餐館吃飯成為一種趨勢(shì),傳統(tǒng)的紙質(zhì)菜單存在效率低、浪費(fèi)人力、管理不便等諸多因素;設(shè)計(jì)一種管理方便、高效、快捷的點(diǎn)餐系統(tǒng)顯得極為重要。
本文是基于Linux的點(diǎn)餐系統(tǒng),采用Qt制作交互界面[1],實(shí)現(xiàn)客戶(hù)在餐廳電子點(diǎn)餐。本文采用C/S架構(gòu)[2],TCP協(xié)議進(jìn)行通信,采用了多線(xiàn)程的方法解決服務(wù)端與客服端的通信;采用MySQL數(shù)據(jù)庫(kù)[3]來(lái)儲(chǔ)存用戶(hù)信息、菜單信息、賬單信息及廚房待做餐品清單;采用vector容器來(lái)存放顧客的訂單信息,顧客提交訂單時(shí),將容器發(fā)送給管理端和廚房;同時(shí)收銀員可查詢(xún)相應(yīng)桌號(hào)的消費(fèi)詳情和消費(fèi)總額并進(jìn)行結(jié)賬[4]。
2 系統(tǒng)功能原理
基于Linux 的點(diǎn)餐系統(tǒng)由客戶(hù)端和服務(wù)端組成[5-7],客戶(hù)端包含顧客端、廚房端和收銀端,服務(wù)端即管理端。顧客端界面呈現(xiàn)所有餐品,供顧客選擇,還具備加餐和退餐功能;廚房端根據(jù)顧客端所點(diǎn)的餐品,實(shí)時(shí)顯示待做餐品;收銀端需要賬號(hào)密碼登錄,登錄后可顯示餐桌使用情況,結(jié)算各個(gè)餐桌的消費(fèi)金額;管理端需要賬號(hào)密碼登錄,登錄后可設(shè)置添加用戶(hù),刪除用戶(hù),修改用戶(hù)密碼和權(quán)限的功能。
2.1 管理端Admini 模塊功能原理管理
端包含管理端登錄和管理端操作兩大部分,管理端登錄部分實(shí)現(xiàn)的功能是對(duì)用戶(hù)信息的驗(yàn)證,登錄時(shí)根據(jù)所填寫(xiě)的賬號(hào)和密碼在數(shù)據(jù)庫(kù)中查找該賬號(hào)是否存在、密碼是否正確。賬號(hào)密碼和數(shù)據(jù)庫(kù)中保存的內(nèi)容相符合,用戶(hù)方可進(jìn)入管理端操作界面。管理端操作部分主要有用戶(hù)管理、賬單查閱、菜單管理和飲品配置四大選項(xiàng)。其中用戶(hù)管理包含添加用戶(hù)、刪除用戶(hù)、修改密碼、修改權(quán)限和刷新顯示的功能。賬單查閱可查看對(duì)應(yīng)交易號(hào)的交易時(shí)間、桌號(hào)和消費(fèi)額等具體信息。菜單管理能夠?qū)崿F(xiàn)添加菜單、刪除菜單、修改價(jià)格、修改有無(wú)狀態(tài)和刷新顯示的功能。飲品配置也可以實(shí)現(xiàn)添加飲品、刪除飲品、修改價(jià)格、修改狀態(tài)和刷新顯示的操作。管理端功能流程圖如圖1所示。
2.2 顧客端Order 模塊功能原理
顧客端包含菜單和等待兩大功能,菜單顯示所有餐品/飲品,顯示對(duì)應(yīng)序號(hào)、餐品/飲品、價(jià)格和有無(wú)狀態(tài)。顧客可參照菜單選擇餐品/飲品及其數(shù)量,同時(shí)也可根據(jù)個(gè)人口味進(jìn)行備注,最后選擇桌號(hào)后提交訂單。同時(shí)顯示已點(diǎn)菜單,包含序號(hào)、餐名、價(jià)格、數(shù)量和備注信息。點(diǎn)餐完畢,提交訂單后,顧客進(jìn)入等待環(huán)節(jié),可以查詢(xún)到未上桌餐品和已上桌餐品;顧客還可以輸入對(duì)應(yīng)的桌號(hào)進(jìn)行退餐、加餐和催菜操作。顧客端功能流程圖如圖2所示。
2.3 廚房端Chef 模塊功能原理
廚房端根據(jù)顧客端所點(diǎn)的餐品,實(shí)時(shí)顯示待做餐品,顯示當(dāng)前所有待做餐品的桌號(hào)、序號(hào)、餐名、價(jià)格、數(shù)量、備注信息,所有餐品會(huì)根據(jù)顧客點(diǎn)菜時(shí)間遞增排列。廚師需要按照點(diǎn)菜時(shí)間依次出餐。由于顧客點(diǎn)菜較多,也會(huì)出現(xiàn)退菜等現(xiàn)象,所以也需要廚師刷新菜單,以便顯示實(shí)時(shí)的工作內(nèi)容。廚房端功能流程圖如圖3所示。
2.4 收銀端Cashier 模塊功能原理
收銀端的功能原理與管理端的功能原理相似,收銀端包含收銀端登錄和收銀端操作兩大部分。收銀端登錄部分實(shí)現(xiàn)的功能是對(duì)用戶(hù)信息的驗(yàn)證,登錄時(shí)根據(jù)所填寫(xiě)的賬號(hào)和密碼在數(shù)據(jù)庫(kù)中查找該賬號(hào)是否存在、密碼是否正確。若賬號(hào)密碼和數(shù)據(jù)庫(kù)中保存的內(nèi)容相符合,用戶(hù)方可進(jìn)入收銀端操作界面。收銀端操作有查詢(xún)和結(jié)算功能,查詢(xún)功能包含對(duì)餐桌使用情況的查詢(xún),和對(duì)具體餐桌號(hào)所點(diǎn)餐品的一個(gè)總覽。當(dāng)顧客用餐完畢,收銀端即可進(jìn)行結(jié)算功能。收銀端功能流程圖如圖4所示。
3 系統(tǒng)功能模塊設(shè)計(jì)與實(shí)現(xiàn)
3.1 管理端Admini 模塊設(shè)計(jì)與實(shí)現(xiàn)
據(jù)管理端功能原理分析,管理端包含管理員登錄界面和管理員操作界面;其中管理員登錄界面使用Label、LineEdit、PushButton、horizontalLayout等控件實(shí)現(xiàn),通過(guò)合理布局,運(yùn)行程序,管理員登錄界面如圖5所示。
登錄成功后,進(jìn)入管理員操作頁(yè)面,管理員操作界面包含用戶(hù)管理、賬單查閱、菜單管理和飲品配置;通過(guò)TabWidget控件實(shí)現(xiàn)用戶(hù)管理、賬單、菜單管理和飲品配置的選項(xiàng)切換,通過(guò)控件、函數(shù)、數(shù)據(jù)庫(kù)實(shí)現(xiàn)的用戶(hù)管理界面如圖6所示,賬單查詢(xún)界面如圖7所示,菜單管理界面如圖8所示,飲品配置界面如圖9。
3.2 顧客端Order 模塊設(shè)計(jì)與實(shí)現(xiàn)
顧客端涉及菜單點(diǎn)餐界面和顧客等待界面設(shè)計(jì),通過(guò)headtext提取數(shù)據(jù)庫(kù)中的存儲(chǔ)信息,getvec獲取數(shù)據(jù)庫(kù)中的存儲(chǔ)信息,結(jié)合LineEdit、PushButton、lcd?Number、tablewidget等控件實(shí)現(xiàn)顧客端模塊功能。點(diǎn)餐界面如圖10所示。點(diǎn)完菜品,若等待了較長(zhǎng)的時(shí)間,顧客可以進(jìn)行催餐的操作,使用函數(shù)、控件實(shí)現(xiàn)催菜功能如圖11所示。
3.3 廚房端Chef 模塊設(shè)計(jì)與實(shí)現(xiàn)
廚房端界面實(shí)現(xiàn),首先是與服務(wù)端建立socket連接,通過(guò)QTcpSocket 創(chuàng)建套接字,建立連接后通過(guò)FoodVec方法獲取菜單容器,顯示所有待做餐品,用TableWidget來(lái)接收顯示,包含備注等各類(lèi)餐品信息,通過(guò)QString方法獲取對(duì)應(yīng)餐品的桌號(hào)、序號(hào)、價(jià)格、數(shù)量、備注信息,核對(duì)無(wú)誤,通過(guò)tcpsocket→write方法將餐品寫(xiě)入foodVec容器。廚房端界面如圖12所示。
3.4 收銀端Cashier 模塊設(shè)計(jì)與實(shí)現(xiàn)
據(jù)收銀員功能原理分析,所設(shè)計(jì)收銀員登錄界面使用Label、LineEdit、PushButton、horizontalLayout等控件實(shí)現(xiàn),收銀登錄界面設(shè)計(jì)如圖13所示。輸入賬號(hào)密碼后,通過(guò)query.value函數(shù)與數(shù)據(jù)庫(kù)所存儲(chǔ)的信息進(jìn)行核對(duì),如果正確無(wú)誤,則進(jìn)入收銀員操作頁(yè)面。操作界面實(shí)現(xiàn)查詢(xún)和結(jié)算兩大功能。收銀員操作界面設(shè)計(jì)如圖14所示。
4 結(jié)束語(yǔ)
作為服務(wù)型經(jīng)濟(jì)的餐飲行業(yè)具有很大的市場(chǎng)潛力,同時(shí),餐飲行業(yè)的服務(wù)質(zhì)量和管理水平面臨很大的挑戰(zhàn),餐飲行業(yè)的信息化建設(shè)顯得十分重要,提高服務(wù)行業(yè)工作效率,降低成本,滿(mǎn)足顧客的個(gè)性化需求具有重要的意義。經(jīng)過(guò)測(cè)試表明,系統(tǒng)實(shí)現(xiàn)顧客點(diǎn)餐、加餐、退餐;后廚接收到菜單;數(shù)據(jù)庫(kù)管理菜單列表;系統(tǒng)性能穩(wěn)定,運(yùn)行良好。