中小型餐飲管理系統的設計與實現_第1頁
已閱讀5頁,還剩35頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

PAGE中小型餐飲管理系統的設計與實現摘要:該餐飲管理系統是一種運營成本相對較低,操作性與可實現行較高的餐廳點餐及運營管理系統,根據餐廳的實際需要,實現了顧客點餐,后臺即時接單,后臺對于員工、會員、菜品的基本管理等系統需求。系統的目的是去提高顧客用餐體驗,以服務質量帶動企業營銷。提高整個餐廳的檔次,提高顧客的用餐體驗,并在用餐過程中進行營銷以帶動再消費。提高效率,節省人力資源。電子端可以即時的將客戶的點單情況傳送到后廚,節省了時間和人力。科學分析,合理配置。管理系統可以科學的對營業情況,具體的銷售情況進行分析,針對庫存、損耗等數據來安排之后的計劃。系統實現做到了簡潔化,讓顧客簡潔明了的接收到管理者所要傳達的信息,讓點餐更為流暢,用戶體驗度更高。系統也實現了即時性,顧客在提交訂單之后,后臺能在第一時間接收到訂單并處理。關鍵詞:餐飲管理;信息管理;即時點餐;數據庫

Abstract:Thiscateringmanagementsystemisakindofrelativelylowoperatingcosts,operationalandlinecanachievehigherorderingamealinarestaurantandoperationmanagementsystem,accordingtotheactualneedsoftherestaurant,toachievethecustomerorder,thebackgroundinstantorder,thebackgroundfortheemployees,members,thebasicmanagementsystemrequirements.Systemimplementationofthepurposeistoimprovethequalityofthecustomerdining,drivenbythequalityofmarketing.Improvethelevelofthewholerestaurant,improvecustomer'sdiningexperience,andmarketingtodrivethetableduringamealconsumptionagain.Toimproveefficiency,savehumanresource.Electronicendcanbeinstantcustomerorderitissenttothekitchen,savetimeandmanpower.Increasetherateofturntable,improveefficiency,increaseprofits,therebyrealizetheprofitmaximization.Scientificanalysisandreasonableconfiguration.Managementsystemcanscienceinoperatingcase,thespecificsalesanalysis,inviewofthedatasuchasinventory,losstoarrangeaftertheplan.Systemimplementationdoneconcise,letthecustomerclearandconcisereceivesthemanagerstoconveyinformation,toordermoresmoothly,moreuserexperience.Systemalsoimplementstheimmediacy,aftercustomerssubmitorders,thebackgroundcanbeinthefirstindirectreceivedordersandprocessingatthemoment.Keywords:Cateringmanagementsystem;Informationmanagement;Instantorder;MySQLPAGE36目錄15705第1章緒論 1121.1系統前景分析及已有成果分析 1241131.1.1系統前景分析 1107501.1.2該類系統已有成果分析 2104321.2有關中小型餐飲行業調查 2102631.2.1實際需要決定功能需求 239841.2.2系統特點反饋現實情況 350181.3本系統的特點及創新 3243881.3.1系統的特點 3181591.3.2系統的創新 3263771.4本文研究內容及主要貢獻 44265第2章需求分析與方案比較 5155792.1可行性研究 528642.1.1技術可行性 5216702.1.2經濟可行性 549532.2系統綜合要求 573412.2.1功能需求 5113522.2.2模塊劃分 5180692.2.3性能需求 549532.3開發環境 5113522.3.1Apachetomcat 5113522.3.2java 6113522.3.2mysql 6113522.3.3B/S結構 6113522.3.4DIV+CSS 6113522.4系統流程圖 649322.5本章小結 727438第3章系統關鍵技術以及方案 8321223.1核心技術 8263493.1.1Java 8159393.1.2Mvc設計模式 8243543.2系統設計分析 887213.2.1客戶操作部分 870343.2.2管理員操作部分 8104633.2.3數據庫部分 8182233.3本章小結 93233第4章具體算法以及各功能實現原理 9253684.1購物車實現原理 10118664.1.1購物車前臺實現原理 1085174.1.2購物車后臺實現原理 14277124.2后臺數據的排序 1693094.2.1訂單的處理 16318754.2.2查看所有訂單 199334.3員工和會員管理 19265384.3.1員工管理 20253124.3.2會員管理 2569464.4本章小結 2521921第6章總結與展望 2565316.1總結 26286436.2展望 26第1章緒論1.1系統前景分析及已有成果分析在社會經濟與人民生活水平的提高的同時,餐飲業也是處于不斷的發展之中,餐飲企業發展帶動了餐飲投資的多元化,餐飲資本的迅速投入在一定程度上推動了餐飲業的快速發展。在餐飲企業中廣大的中小型餐廳及消費場所是非常重要的一部分。因為從調查來看,中小型餐飲企業已經成為了這個行業不可或缺的一部分。本論文的研究對象就是中小型的餐廳飯店,根據所調查的幾家餐廳實際需要制定出切實可行的系統需求。1.1.1系統前景分析在實踐這個角度來說,如何把多種技術應用在餐飲管理系統軟件的開發與設計之中,如何讓設計出的系統更加的穩定,更加的快捷,從而能夠適應餐飲企業的發展,在服務、管理和業務等諸多方面有所進展,這些都是值得研究和探討的,是一個具實際意義和探討價值的研究項目。中小型餐飲企業現狀隨著改革開放的繼續深入,我國的中小型餐飲企業呈現出了一種發展迅速的態勢,但與發展節奏不符的是,這些小的餐飲企業在日常的運營中還是普遍采用手工操作方式,效率低且成本高,科技含量低。一、現狀暴露的問題在餐飲企業規模與數量的不斷增長的同時,單純的手工操作與服務無論是在工作效率、人力資源成本還是提供決策方面,都是已經不能達到現代化經營管理的企業標準的了,因此,這種落后的模式制約了整個中小型餐飲行業的規模化發展,也限制著整體服務水平的提升。信息管理系統在中國的餐飲運用上還是一個比較陌生的新鮮事物,所以想要將其普及還是還需要一段時間的,雖然它目前在中國多數企業應用中只占了很小的一部分,但是伴隨著信息技術和產業的高速發展,信息管理系統將會成為一個好企業不可缺少的重要組成,信息管理系統能給那些企業帶來高效率、高質量、更為科學的管理,使的企業可以提高自己的競爭力。二、解決問題的途徑本論文主要是解決中小型餐飲管理運營中的一些問題,把計算機技術用于餐飲企業管理之中,是可以在很大程度上提高管理者決策的科學性,可以提升的企業的軟實力,提高企業效益。將管理和運營與計算機信息管理系統結合運用起來,促進中小型餐飲企業管理電子化和系統化,將中小型餐飲企業管理中的工作方式變得更為科學,使得管理更加準確化,讓企業的管理人員能擺脫了一些瑣碎事務,在數據基礎上并且為經營和決策提供了準確數據支持。餐飲管理系統不是只用于收銀的一種工具,它是通過對目前餐飲企業的實際情況科學的調查分析后設計出來的管理系統,它可以針對中餐因其菜品的多樣化和復雜化的服務很難以實現標準化的信息管理。再則,餐飲管理系統能夠實現具體的、相應的科學的標準化管理流程,在一定程度上,這樣暫時緩解了餐飲管理專業人才的迫切需求,使用好的系統就能夠去完成專業人員所需做的工作。最后,決策者可以通過餐飲管理系統做出科學的決策與分析,讓企業自身對市場的應變能力和競爭力得到完善,從而通過使用餐飲管理系統來實現降低成本和提高效率等企業效益最大化目的。造成現狀的原因在社會的各方面,信息技術都引起了革命性的變化,但是在餐飲行業,特別是中小型餐飲企業,因為信息系統本身的限制、成本過高、普及不夠全面等原因使得餐飲管理系統沒有全面的應用到中小型的餐飲企業之中去。然后面對餐飲行業多元化且復雜的經營現狀,以及經營的規模、特色、出品這些因素的差異,使得餐飲企業有著不同的標準和工作流程,這種復雜的情況,也使得對人才的專業化的要求也相應地提高了許多,然而在國內市場上,餐飲行業人才供應不足,所以在這樣的兩難情況下,提高餐飲企業核心競爭力的計算機管理工具成為了企業發展的重要目標。1.1.2該類系統已有成果分析目前而言,國內的餐飲管理系統呈現的幾種情況是:中國流行的軟件系統大多來自管理信息系統(MIS),設計的角度是自身的業務需求。設計管理信息系統是為了是服務大多數的業務操作人員的,將他們的重復性勞動減少,即抽象出理想化的業務流程管理模式,能夠在基于該業務模式的基礎上實現業務流程電子化。1.2有關中小型餐飲行業調查為了能夠更加的了解中小型餐飲行業信息管理系統的普及程度和實際的需求,我在我所在的城市江蘇溧陽選取了三家中小型的餐飲企業進行了調查研究,分別是溧陽市華信飯店,九江酒樓和光華飯店,其中華信飯店是比較大一點的飯店,九江酒樓和光華飯店是屬于中小型的餐飲企業,通過對他們的調查研究,確定了本系統的功能需求,以及系統在實際的應用推廣中存在的問題與困難。1.2.1實際需要決定功能需求通過對三家餐飲企業的調查研究,發現中小型餐飲企業的實際需求是比較基礎的,中小型雖然規模比較小,但是也是非常的注重品質和顧客的體驗,所以信息管理系統的推廣也是非常有前景的,總結了一下,主要包括以下的功能需求,顧客點餐,服務評價,后臺接單,人員管理,菜品管理。圖1.1功能模塊示意圖1.2.2系統特點反饋現實情況編寫本系統的最終目的還是能夠推廣這個系統,更好的投入到實際的使用中去,所以在做這個系統的時候就考慮到了這個系統的運行成本,因為他將在很大的程度上影響到系統的推廣使用,顧客的界面在很大程度上做到簡潔化,也是為了能夠得到更好的用戶體驗,滿足餐飲公司提高其品質的利益需求。1.3本系統的特點及創新本論文是結合了餐飲管理系統的調查與開發過程,詳細的介紹如何針對中小型餐飲企業的實際需求,再將先進的軟件系統技術融入到餐飲管理系統之中,以此開發出功能和體驗更加完善的餐飲管理系統。本系統采用的的是MySQL數據庫系統,是用JSP程序語言開發實現的,包括了顧客訂餐、后臺接單、人員管理、系統設置、銷售與庫存狀況分析、退出等一系列系統模塊,實現了點/加菜、評價服務等功能,具有界面友好,操作簡單穩定性高、靈活性好等特點。1.3.1系統的特點本系統的特點就是簡潔的系統應用,成本低,可以更好的在中小型餐飲企業之中推廣,系統的功能也是非常的齊全,具有顧客訂餐、后臺接單、服務評價、人員管理、系統設置、銷售與庫存狀況分析等功能,圖1.2系統功能展示1.3.2系統的創新本系統的創新之處在于將傳統的人工點餐方式轉化為智能點餐,在節省人工的同時也提高了資源利用效率,同時也提高了餐廳的科技感,從而促進餐廳的生意,雖然現在已經有很多類似的系統已經投入了使用,但是相比之下,我所設計的系統成本更低,是更適合在中小型餐飲企業之中推廣的,而且,我在系統的界面設計上也是采用了更為簡潔的風格,滿足顧客最直接的點餐需求,以最快的速度傳輸到后臺,提高點餐的效率。圖1.3系統界面圖1.4本文研究內容及主要貢獻本論文簡要的介紹了“基于JSP的中小型餐飲管理系統”的項目背景和項目意義,著重的闡述了該系統需求分析與開發實現的過程,詳盡的對系統的需求分析、模塊設計和數據庫的設計等各個環節展開了分析和描述。文章重點介紹了餐飲管理系統所采用一部分的關鍵技術與思想,在其中也包括mysql數據庫技術和JSP的編程技術。本文最大特點在于將理論與實踐結合在一起,它的創新之處就在于比較客觀地準確地分析、識別了餐飲管理系統的需求,在調查研究的基礎之上,然后通過對餐飲企業的服務流程提出了一套數據處理系統。第2章需求分析與方案比較介紹了設計的需求分析、總體思路以及基本原理、列出的方案及其優缺點對比,最后采用的方案及其功能描述,贅述本研究或設計采用的開發環境。2.1可行性研究2.1.1技術可行性本系統的前臺語言主要是BootStrap框架html5+CSS3+javascript腳本語言,后臺語言java,這兩項技術已經非常的成熟,設計這樣的點餐系統是不存在技術難題的。2.1.2經濟可行性為了能夠在中小型的餐飲企業中推廣,系統在成本和維護方面的費用都比較低,服務器的搭建的話也是比較簡單。2.2系統綜合要求2.2.1功能需求本系統主要分為六個模塊。模塊劃分登陸模塊:普通用戶(顧客端)、管理員用戶(管理端);點單模塊:包括自助結賬子模塊,菜品評價子模塊;三、菜單處理模塊:管理員端即時顯示客戶點單情況;四、收銀模塊:包括結賬子模塊,會員子模塊;五、會員信息管理模塊:管理會員個人信息,計算會員積分,個人信用;六、數據分析模塊:年月日營業額分析、菜品分類銷量分析(這兩項關聯結賬模塊)、庫存分析、損耗分析(這兩項由管理端輸入)。性能需求計算機系統需要配置一般即可,需要xp以上系統,同時裝有MySQL數據庫。2.3開發環境本設計采用的是Apache+Mysql+java作為開發平臺,采用java技術進行這個系統的開發,以B/S結構作為系統結構,以java作為后臺開發語言,能夠實現面向對象開發,數據庫采用的是Mysql數據庫管理系統,兼容性更強,數據處理更加的高效,前臺語言采用BootStrap框架html5+CSS3+javascript腳本語言,能夠使開發的界面更為美觀,呈現動態效果更好。硬件方面,在計算機上運行即可。2.3.1ApachetomcatApache是可以說他是一種web服務器,但是Tomcat卻是一種應用服務器(java),所以Tomcat僅僅是一個servlet容器,類似于Apache的一種擴展。Apache和Tomcat這兩種都是可以按照一個獨立的web服務器來啟動的,但是Apache是不可以解釋java內程序(jsp&servlet)的。Apache它是來源于NCSAhttpd服務器的,它經過了多次修改,逐漸就成為了最流行的一種Web服務器軟件。由于它是個自由軟件的緣故,所以就不斷有人來為它開發新的功能,不斷地去完善它。Apache有簡單、速度快的優點,并且它的性能也是具有穩定性的,常常作為代理服務器來使用的。而且Apache對Linux的支持相當完美。2.3.2JavaJava它是一種面向對象的程序設計語言,Java技術非常的成熟,它是可以編寫跨平臺語言。它具有優秀的安全性,通用性和平臺移植性。已經被廣泛應用于PC、數據中心等,與此同時,java擁有全球最大的開發者研究隊伍。Sun自己對Java語言的解釋是:Java語言是一種簡單、面向對象的語言,它與系統無關且可移植,還是一種性能高、分布式、安全多線程的語言。Java技術是一種比較單純的程序開發語言,它繼承了C++語言里面向對象這個技術的核心。而且Java技術也是在不斷更新的。Java從面世后就是一直非常的流行,java發展也非常的迅速,對之前的王者C++編程語言形成了強大沖擊。在移動互聯時代的產業大環境之下,Java的特性使其在未來的軟件編程方面將會有更好的發展。2.3.3MySQLMySQL數據庫是一個數據庫管理系統,他是關系型的,是Oracle公司的產品。MySQL是目前最流行的一種關系型數據庫管理系統,所以在WEB應用這一方面來說,MySQL是最好的一種RDBMS的應用軟件。從另一方面,MySQL又是一種關聯數據庫管理系統,關聯數據庫的特點是,他會將庫中數據存放在不同的表當中的,而不是放在同一個庫內,這樣的特性就會增加運行速度,并提高系統的靈活性。由于mysql體積小和速度快的優點,而且總體擁有的成本較低,并且因為他是開放自身源碼的,所以許多中小型的系統都會選用mysql來作為自己的數據庫系統。2.3.4B/S結構B/S結構(Browser/Server)(服務器模式/瀏覽器),他是在web興起后逐漸被使用的一種網絡結構模式,因為客戶端中最多的應用軟件是WEB瀏覽器。瀏覽器是可以通過WebServer與mysql數據庫進行數據的交互的。2架構特點:(1)維護和升級方式比較簡單。(2)成本降低,選擇也會更多。(3)應用服務器運行時負荷重。2.3.5DIV+CSSDIV+CSS它是WEB的一種設計標準模式,同時它也是一種網頁的布局方法。但它與傳統中通過表格(table)布局的方式是有所不同的,它是可以達到網頁頁面的內容與表現相分離的那種效果的。css是層疊樣式表(CascadingStyleSheets)的縮寫名稱,是用來定義HTML元素的表現形式的,css是網頁設計與開發人員必須掌握的關鍵技術之一。它進行網頁的統一設計與管理,而且只需要通過一個樣式表,就能改變整個布局,只要是修改了樣式表,就可以做到統一全站的同一風格的效果顯示。2.4系統流程圖圖2.1下訂單流程圖圖2.2訂單管理流程圖2.5本章小結這個章節主要是通過兩種角度,從經濟和技術的角度分析了這個系統的可行性。畫了系統流程圖描繪本系統的各個物理層,對其進行了分析解釋,直觀清晰。最后闡述了設計的開發環境與開發平臺,介紹了開發語言與架構方法等。第3章系統關鍵技術以及方案建議本章介紹關鍵技術、關鍵算法分析設計以及對原有方法的主要改進等。3.1核心技術JavaMVC設計模式Html5+css3+JavaScriptSpringMvc+hibernate框架的使用3.1.1JavaJava是可以應用于各種移動平臺的,他是一種面向對象程序設計語言。3.1.2Mvc設計模式Modelviewcontrol設計模式將以前程序員需要將前后臺工作一起完成的繁重中解脫出來,前臺和后臺可以實現分離,使后臺程序員只要處理Control部分。3.1.3html5+css3+JavaScript基本的超文本語言(html),采用的是樣式表(CSS)和腳本語言(JavaScript)。3.2系統設計分析系統結構圖3.1整體功能結構3.2.1客戶操作部分客戶操作系統部分:實現了客戶對餐品的最清楚感受與信息的接收;價格以及品相,售價的全面了解,并且通過購物車可以實現對菜品的選擇,挑選,取消,以及最后進行點餐功能。系統通過定時查詢,將顧客點餐信息實時傳遞到管理員后臺操作部分。3.2.2管理員操作部分管理員操作系統部分:實現了管理對整個系統數據的一個管理與處理,對賬單的直觀感受,以及可以對實時訂單進行處理操作(增刪查改),對會員顧客信息的管理(增刪查改),對工作人員信息的管理(增刪查改)。3.2.3數據庫部分本系統采用的是Mysql5.5數據庫,下面是數據庫中四個表:表3.1food表字段名說明類型長度是否主鍵允許空Id食物idint20是否foodname食物名稱varchar21否否foodprice食物價格varchar22否否foodtype食物類型varchar23否否commend好評int24否是表3.2foodlist表字段名說明類型長度是否主鍵允許空id菜單idint90是否/自增長tablid餐桌idint20否否food食物列表vachar999否否price價格int50否否state狀態int10否否表3.3用戶表字段名說明類型長度是否主鍵允許空userid用戶idint20是否username用戶姓名vachar21否否password密碼vachar22否否tel電話vachar23否否表3.4工作人員表字段名說明類型長度是否主鍵允許空id工作人員idint20是否name姓名varchar21是否zan獲得的贊int22是否age年齡int23是否3.3本章小結通過具體到功能點,對象點的項目分析,更充分的體會到餐飲系統的實用性。第4章軟件設計4.1購物車實現原理和超市的購物車不一樣,虛擬世界的購物車更加方便,甚至可以說輕便,因為不需要您記住您購買了什么或者放錯了什么,當結賬的時候可以一目了然的看到你所購買的,只需鼠標輕輕一點即可實現各種功能,本系統所使用的購物車所采用的原理即將所勾選的菜品信息。通過標簽自定義類進行數據傳遞到固定div標簽中,當用戶提交購物車購買時,通過js提取此div中的信息,并且通過ajax將此數據傳遞到后臺進行解析。4.1.1購物車前臺實現原理首先是購物車樣式:圖4.1購物車樣式<divid="plug_24_mytable_page"><divclass="table_box"><divclass="title_name"><pstyle="margin-left:100px">我的餐桌</p></div><divclass="table_title"><tableid="tab"border="0px"cellpadding="0px"cellspacing="1px"bordercolor="#fff"style="border-bottom:#e1e1e11pxsolid"><trheight="27px"valign="middle"align="center"bgcolor="#f8f8f8"><tdwidth="94px"align="left"style="text-indent:5px">商品</td><tdwidth="59px">份數</td><tdwidth="52px">價格</td><tdwidth="60px">操作</td></tr></table></div><divclass="foodlist"><tableborder="0px"cellpadding="0px"cellspacing="1px"bordercolor="#fff"><tbody></tbody></table></div><divclass="pay_stat"><spanclass="bigfont"><b>合計金額:</b><iid="allprice">0</i><b>元</b></span><span><buttonstyle="margin-left:80px"onclick="sendfunction()"class="btnbtn-theme04">立即結算</button></span></div></div><!--table-box結尾--></div>然后是購物車前臺JS原理:(參考文件\demo\web\js\plug_24_mytable_page.js)//Jquery的function寫法$(function(){//更新購物車的算法varupdateCart=function(){vartotalPrice=0;$(".table_box.foodlisttbody>tr").each(function(idx,el){varcountString=$(el).find(".count").val(),count=parseInt(countString),priceString=$(el).find(".price").text(),price=parseInt(priceString);console.log(count);console.log(price);totalPrice+=price*count;});$(".pay_stati").html(totalPrice);}//利用增加div節點的方法增加菜品。并且將標簽里的值賦進去functionaddmenu(order){smallcount=order.count*order.price;varlitmenu="<trdataid=\""+order.dishId+"\"height=\"35px\"valign=\"middle\"align=\"center\"bgcolor=\"#fff\">";litmenu+="<tdwidth=\"94px\"name=\"foodname\""+"align=\"left\"style=\"color:#6c6c6c;text-indent:5px\">"+order.dishName+"</td>";litmenu+="<tdwidth=\"59px\">";litmenu+="<spanclass=\"minus_btnadd_btn\">-</span><u><inputreadonlytype=\"text\"class=\"count\"name=\"foodcount\"value=\""+order.count+"\"/></u><spanclass=\"plus_btnadd_btn\">+</span>";litmenu+="</td>";litmenu+="<tdwidth=\"52px\"style=\"color:#6c6c6c\"class=\"price\">"+smallcount+"</td>";litmenu+="<tdwidth=\"44px\"><buttonclass=\"btnbtn-dangerbtn-xs\"><iclass=\"fafa-trash-o\"></i></button></td>";litmenu+="</tr>";vardishTableRows=$(".table_box.foodlisttr");for(varj=0;j<dishTableRows.length;j++){//循環小元素; if(dishTableRows.eq(j).attr("dataid")==order.dishId){//如果要插入的小元素已有; vartxtval=parseInt(dishTableRows.eq(j).children("td").children("u").children(".count").val()); txtval+=1; dishTableRows.eq(j).children("td").children("u").children(".count").val(txtval);updateCart(); returnfalse; } }$(".table_box.foodlisttbody").append(litmenu);updateCart();//點擊小叉去刪除一個選好的菜;$(".table_box.btn-xs").click(function(){$(this).closest("tr").remove();updateCart();});}$("#shop_menui").click(function(){varorder={price:$(this).attr("ary5"),count:$(this).attr("ary4"),dishName:$(this).attr("ary3"),dishId:$(this).attr("ary2"),shopName:$(this).attr("ary1"),shopId:$(this).attr("ary0")};//varary0=$(this).attr("ary0");//varary1=$(this).parents(".menu_list").siblings("h2").text();//varary2=$(this).attr("ary2");//varary3=$(this).text();//varary4=$(this).attr("ary4");//varary5=$(this).attr("ary5");//addmenu([ary0,ary1,ary2,ary3,ary4,ary5]); addmenu(order);});$(".table_box").on('click','.add_btn',function(){vartxtobj=$(this).siblings("u").children(".count"), txtval=parseInt(txtobj.val()); if($(this).hasClass("minus_btn")){if(txtval<=1){txtval=1;}else{txtval-=1;}}; if($(this).hasClass("plus_btn")){txtval+=1}; txtobj.val(txtval);updateCart();});});4.1.2購物車后臺實現原理本小節主要描述如何將數據傳入后臺并且記錄傳遞給管理員第一步首先用JS想數據取出并且通過ajax傳入后臺:文件:(\demo\web\js\zhou.js):functionsendfunction(){//取出在購物車div里的所有數據varfoodname=document.getElementsByName("foodname").length;varfoodcount=document.getElementsByName("foodcount").length;varfood=document.getElementsByName("foodname");varfoodcountvalue=document.getElementsByName("foodcount");varallprice=document.getElementById("allprice").innerHTML;varlist=",";varcount=",";//循環取出數據for(vari=0;i<foodname;i++){list=list+food[i].innerHTML+",";count=count+foodcountvalue[i].value+",";}if(allprice=="0"){alert("請點餐!")}else{//將所有數據通過ajax傳遞到后臺$.ajax({type:"post",url:"/sendfood.do",dataType:"text",data:{"foodlist1":list,"foodcount1":count,"total":allprice}});alert("請耐心等待美味!");window.location.reload();}}第二步:將數據解析好并且存入數據庫,標記為未處理的訂單文件:\src\com\zhu\control\homepageaction.java@RequestMapping(value="sendfood")//注解綁定一個actionpublicStringsendfood(@RequestParam(value="foodlist1")Stringfoodlist1,@RequestParam(value="foodcount1")Stringfoodcount1,@RequestParam(value="total")inttotal,Modelmodel){//進行數據解析Stringallsql="";String[]sourceStrArray=foodlist1.split(",");String[]sourceStrArray2=foodcount1.split(",");for(inti=0;i<sourceStrArray.length;i++){allsql+=sourceStrArray[i]+"*"+sourceStrArray2[i]+"";}System.out.print(allsql);foodlistactiondao.insertfoodlist(allsql,total);return"home";數據庫操作方法://申請訂單publicvoidinsertfoodlist(Stringfood,intprice){Sessionss=sessionFactory.getCurrentSession();Transactiontx=ss.beginTransaction();Queryaddfoodlist=ss.createSQLQuery("insertintofoodlist(tableid,food,price,state)values("+1+","+"'"+food+"',"+price+","+1+")");addfoodlist.executeUpdate();mit();}4.2后臺數據的排序訂單需要按照先后順序排序以此來達到查看訂單的先后。以此進行更好的處理4.2.1訂單的處理數據庫的設計:createtablefoodlist(idint(90)notnullauto_increment,tableidint(20),foodvarchar(999),priceint(50),stateint(10),primarykey(id));通過hibernate處理id為主鍵,并且是自增長,并且進行hibernate分頁,通過id來排序//publicList<Foodlist>foodlistfenye(intstartpage){Sessionss=sessionFactory.getCurrentSession();Transactiontx=ss.beginTransaction();Queryfindclassroom=ss.createQuery("fromFoodlistfoodlistwherefoodlist.state=1orderbyfoodlist.iddesc");Queryls=findclassroom.setFirstResult(startpage).setMaxResults(8);java.util.List<Foodlist>lt=ls.list();mit();returnlt;}管理員可以對訂單進行刪除接單的操作具體關鍵代碼如下://刪除foodlistpublicvoiddeletefoodlistbyid(intid){Sessionss=sessionFactory.getCurrentSession();Transactiontx=ss.beginTransaction();Queryfinduser=ss.createQuery("deleteFoodlistfoodlistwherefoodlist.id="+id);finduser.executeUpdate();mit();前臺代碼:<tr><td><c:outvalue="${status.current.id}"></c:out></td><tdclass="hidden-phone"><c:outvalue="${status.current.food}"></c:out></td><td><c:outvalue="${status.current.price}"></c:out></td><!--endprint${status.current.id}--><td><spanclass="labellabel-infolabel-mini">待定</span></td><td><buttonclass="btnbtn-successbtn-xs"onclick="printlist(${status.current.id})"><iclass="fafa-check">接單</i></button><buttonclass="btnbtn-dangerbtn-xs"data-toggle="modal"data-target="#${status.current.id}"><iclass="fafa-trash-o"></i>刪除訂單</button></td></tr>通過JS控制接單的數據并且打印<scriptlanguage="JavaScript">functionprintlist(id){bdhtml=window.document.body.innerHTML;sprnstr="<!--startprint"+id+"-->";eprnstr="<!--endprint"+id+"-->";prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));sprnstr1="<!--startprint-->";eprnstr1="<!--endprint-->";prnhtml1=bdhtml.substr(bdhtml.indexOf(sprnstr1)+17);prnhtml1=prnhtml1.substring(0,prnhtml1.indexOf(eprnstr1));window.document.body.innerHTML=prnhtml1+"</br>"+prnhtml+"<br>"+"<ahref='/findfoodlist.do'>點此返回</a>";window.print();$.ajax({type:"post",url:"/accept.do",data:{"id":id}});window.location.reload();}圖4.2菜單打印圖通過JS刪除訂單:</script><scriptlanguage="JavaScript">functiondeletelist(id){$.ajax({type:"post",url:"/deletefoodlist.do",data:{"id":id}});$('#'+id).modal('hide');alert("操作成功");window.location.reload();}</script>4.2.2查看所有訂單管理員可以查看所有訂單:圖4.3最新訂單列表具體實現方法://所有訂單分頁publicList<Foodlist>allfoodlistfenye(intstartpage){Sessionss=sessionFactory.getCurrentSession();Transactiontx=ss.beginTransaction();Queryfindclassroom=ss.createQuery("fromFoodlistfoodlistwherefoodlist.state=2");Queryls=findclassroom.setFirstResult(startpage).setMaxResults(8);java.util.List<Foodlist>lt=ls.list();mit();returnlt;}4.3員工和會員管理4.3.1員工管理我們可以對員工進行增刪查改的操作:如下圖所示圖4.4增加員工增加div是用蒙版效果制作的div可以隨時招出和隱藏定義用戶的id不可重復并且并需填寫關鍵代碼如下:<scriptlanguage="JavaScript">functionaddworker(){varnewid=document.getElementById("newid").value;varnewname=document.getElementById("newname").value;varnewage=document.getElementById("newage").value;vardiv1=document.getElementById("message1");vardiv2=document.getElementById("message2");vardiv3=document.getElementById("message3");vardivx=document.getElementById("messagex");if(newid==""){div1.style.display="block";setInterval("deletediv()",10000);}if(newname==""){div2.style.display="block";setInterval("deletediv()",10000);}if(newage==""){div3.style.display="block";setInterval("deletediv()",10000);}if(newage!=""&&newid!=""&&newname!=""){$.ajax({type:"post",url:"/findworker.do",data:{"id":newid},success:function(data){if(data.workercount==1){$.ajax({type:"post",url:"/addworker.do",data:{"workerid":newid,"workername":newname,"workerage":newage}});alert("添加成功");$('#adddialog').modal('hide');document.getElementById("newworker").reset();window.location.reload();}else{divx.style.display="block";}}});}}刪除修改如下:functiondeletediv(){vardiv1=document.getElementById("message1");vardiv2=document.getElementById("message2");vardivx=document.getElementById("messagex");vardiv3=document.getElementById("message3");div1.style.display="none";div2.style.display="none"div3.style.display="none"divx.style.display="none"}</script><scriptlanguage="JavaScript">functiongetworkerinfo(id){$.ajax({type:"post",url:"findworkerinfo.do",data:{"id":id},success:function(data){document.getElementById("editid").value=data.workerid;document.getElementById("editname").value=data.workername;document.getElementById("editage").value=data.workerage;}})}</script><scriptlanguage="JavaScript">functioneditworker(){vardiv1=document.getElementById("message10");vardiv2=document.getElementById("message20");vardivx=document.getElementById("messagex0");vardiv3=document.getElementById("message30");vareditid=document.getElementById("editid").value;vareditname=document.getElementById("editname").value;vareditage=document.getElementById("editage").value;if(editage==""){div3.style.display="block";}if(editname==""){div2.style.display="block";}if(editid==""){div1.style.display="block";}if(editid!=""&&editage!=""&&editname!=""){$.ajax({type:"post",url:"/modifyworker.do",data:{"id":editid,"name":editname,"age":editage}});alert("編輯成功");$('#editinfo').modal('hide');window.location.reload();}}</script>我們可以通過點贊對員工的表現進行簡單評估:圖4.5員工點評點贊特效關鍵代碼如下:<script>;(function($){$.extend({tipsBox:function(options){options=$.extend({obj:null,//jq對象,要在那個html標簽上顯示str:"+1",//字符串,要顯示的內容;也可以傳一段html,如:"<bstyle='font-family:MicrosoftYaHei;'>+1</b>"startSize:"12px",//動畫開始的文字大小endSize:"30px",//動畫結束的文字大小interval:600,//動畫時間間隔color:"red",//文字顏色callback:function(){}//回調函數},options);$("body").append("<spanclass='num'>"+options.str+"</span>");varbox=$(".num");varleft=options.obj.offset().left+options.obj.width()/2;vartop=options.obj.offset().top-options.obj.height();box.css({"position":"absolute","left":left+"px","top":top+"px","z-index":9999,"font-size":options.startSize,"line-height":options.endSize,"color":options.color});box.animate({"font-size":options.endSize,"opacity":"0","top":top-parseInt(options.endSize)+"px"},erval,function(){box.remove();options.callback();});}});})(jQuery);</script><c:forEachvar="worker"items="${requestScope.worker}"varStatus="status"><script>$(function(){$("#"+${status.current.id}).click(function(){$.tipsBox({obj:$(this),str:"贊+1",callback:function(){}});});});</script>4.3.2會員管理由于會員人數多于工作人員,本系統采用了列表布局圖4.6會員管理列表同樣的增刪查改四個功能,其中具體算法不做贅述。只要參照工作人員的算法修改參數即可。4.4本章小結本章主要是結合代碼解釋一系統的一些功能模塊,闡述了一些關鍵算法的意義與思想,講解了設計的整體結構與設計方法。第6章總結與展望6.1總結本論文簡要介紹了中小型餐飲管理系統的主要體系結構和與它的功能模塊的實現,其中重點討論了系統設計的開發平臺和開發語言,介紹了系統的數據庫建設與完善,數據庫中表的情況,進行功能模塊的代碼分析。雖然現在本系統還有許多需要完善的地方,但是已經可以作為一個完整的系統運行了,基礎的點餐功能都可以實現了,有些地方還需要進一步改善,主要包括系統的界面不夠商業化,系統的安全也存在一定的問題,如果有機會的話,可以投入更大的精力去開發一下,完善一下系統的功能,提高系統的安全性,以滿足顧客更多的需求和消費需求。電子訂餐系在開發過程中,還是日常維護過程中,是都需要進行嚴格的調試的,這樣才能保證訂餐系統不問題。建議電子訂餐系統運行時應注意以下三點:

利用系統進行植入宣傳。電子宣傳往往比傳統宣傳來的更為便利和節省成本,所以企業應該利用好這個機會做好宣傳環節。檢測食物質量。餐飲行業最重要的就是食物的質量問題,這一點需要重點關注,通過系統記錄原材料的保質期和供應商信息,實時檢測。(3)服務功能的檢測:

①每天應該做好調試,審核系統中的圖文信息是否正確,有出入的應及時修改,以免給顧客和餐廳造成不必要的麻煩。②進行系統軟件硬件的調試。每天應該對運行系統的硬件進行調試,及時發現問題,解決問題,度系統中的功能模塊進行調試,以免出現問題。

6.2展望本次的設計還是一個比較基礎的訂餐系統,距離投入商業化運營還是有差距的,需要在系統界面上,運行環境上,系統功能和安全上做的更好,如果以后有機會一定要去完善這個系統。電子訂餐系在開發過程中,還是日常維護過程中,是都需要進行嚴格的調試的,這樣才能保證訂餐系統不問題。電子訂餐系統運行時應有三點注意:

(1)把握好食物質量和宣傳內容環節。電子宣傳往往比傳統宣傳來的更為便利和節省成本,所以企業應該利用好這個機會做好宣傳環節。食物的質量也要把握好。(2)服務功能的檢測。畢業設計體會我在沒有做這個畢業設計和論文之前,我一直覺得它只是對這四年來所學知識文化的一個總結而已,但是通過這次自己花這么長時間時間做畢業設計來看,發現自己以前的觀點有點太片面了。通過這次做畢業設計的過程,讓我明白了自己原來知識儲備還是比較離標準很遠的的。明白自己需要學習的東西還有太多。通過這次設計與論文的完成,我明白了學習是一個長期積累不斷汲取的過程,只有不斷的積累知識,總結知識,才能不斷的進步,才能獲得更高的境界。這一段時間我非常耐心的,不斷的進行畢業設計的修改與完善。經過老師的指導,思路也清晰了很多,經過多次修改之后畢業設計就基本成形了,心里滿滿的只有喜悅毫無疲憊。在這次設計過程中,我可謂是獲益匪淺,其中最大的收獲就是讓我培養

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論