版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、存檔日期:存檔日期: 存檔編號:存檔編號: 題題 目:目: 中小型餐飲管理系統(tǒng)的設計與實現(xiàn)學學 號:號: 姓姓 名:名: 聯(lián)聯(lián) 系系 電電 話:話: 電電 子子 郵郵 箱:箱: QQ : 學學 院:院: 專專 業(yè):業(yè): 年年 級級 、 班班 級級: 指指 導導 教教 師:師: 中小型餐飲管理系統(tǒng)的設計與實現(xiàn)摘 要: 該餐飲管理系統(tǒng)是一種運營成本相對較低,操作性與可實現(xiàn)行較高的餐廳點餐及運營管理系統(tǒng),根據餐廳的實際需要,實現(xiàn)了顧客點餐,后臺即時接單,后臺對于員工、會員、菜品的基本管理等系統(tǒng)需求。系統(tǒng)的目的是去提高顧客用餐體驗,以服務質量帶動企業(yè)營銷。提高整個餐廳的檔次,提高顧客的用餐體驗,并在用
2、餐過程中進行營銷以帶動再消費。提高效率,節(jié)省人力資源。電子端可以即時的將客戶的點單情況傳送到后廚,節(jié)省了時間和人力??茖W分析,合理配置。管理系統(tǒng)可以科學的對營業(yè)情況,具體的銷售情況進行分析,針對庫存、損耗等數據來安排之后的計劃。系統(tǒng)實現(xiàn)做到了簡潔化,讓顧客簡潔明了的接收到管理者所要傳達的信息,讓點餐更為流暢,用戶體驗度更高。系統(tǒng)也實現(xiàn)了即時性,顧客在提交訂單之后,后臺能在第一時間接收到訂單并處理。關鍵詞: 餐飲管理;信息管理;即時點餐;數據庫The design and implementation of small and medium sized catering management s
3、ystemAbstract: This catering management system is a kind of relatively low operating costs, operational and line can achieve higher ordering a meal in a restaurant and operation management system, according to the actual needs of the restaurant, to achieve the customer order, the background instant
4、order, the background for the employees, members, the basic management system requirements. System implementation of the purpose is to improve the quality of the customer dining, driven by the quality of marketing. Improve the level of the whole restaurant, improve customers dining experience, and m
5、arketing to drive the table during a meal consumption again. To improve efficiency, save human resource. Electronic end can be instant customer order it is sent to the kitchen, save time and manpower. Increase the rate of turn table, improve efficiency, increase profits, thereby realize the profit m
6、aximization. Scientific analysis and reasonable configuration. Management system can science in operating case, the specific sales analysis, in view of the data such as inventory, loss to arrange after the plan. System implementation done concise, let the customer clear and concise receives the mana
7、gers to convey information, to order more smoothly, more user experience. System also implements the immediacy, after customers submit orders, the background can be in the first indirect received orders and processing at the moment.Keywords: Catering management system;Information management; Instant
8、 order; MySQLI目目 錄錄第第 1 章章 緒論緒論.11.1 系統(tǒng)前景分析及已有成果分析.11.1.1 系統(tǒng)前景分析.11.1.2 該類系統(tǒng)已有成果分析.21.2 有關中小型餐飲行業(yè)調查.2 1.2.1 實際需要決定功能需求.21.2.2 系統(tǒng)特點反饋現(xiàn)實情況.31.3 本系統(tǒng)的特點及創(chuàng)新.31.3.1 系統(tǒng)的特點.31.3.2 系統(tǒng)的創(chuàng)新.31.4 本文研究內容及主要貢獻.4第第 2 章章 需求分析與方案比較需求分析與方案比較.52.1 可行性研究.52.1.1 技術可行性.52.1.2 經濟可行性.52.2 系統(tǒng)綜合要求.52.2.1 功能需求.52.2.2模塊劃分.52.2.
9、3 性能需求.52.3 開發(fā)環(huán)境.5 2.3.1 Apache tomcat.52.3.2 java .62.3.2 mysql.62.3.3 B/S結構.62.3.4 DIV+CSS.62.4 系統(tǒng)流程圖.6 2.5 本章小結.7第第 3 章章 系統(tǒng)關鍵技術以及方案系統(tǒng)關鍵技術以及方案.83.1 核心技術.83.1.1 Java.83.1.2 Mvc設計模式.83.2 系統(tǒng)設計分析.83.2.1 客戶操作部分.83.2.2 管理員操作部分.83.2.3數據庫部分.83.3 本章小結.9第第 4 章章 具體算法以及各功能實現(xiàn)原理具體算法以及各功能實現(xiàn)原理.94.1 購物車實現(xiàn)原理.10II4.
10、1.1 購物車前臺實現(xiàn)原理.104.1.2 購物車后臺實現(xiàn)原理.144.2 后臺數據的排序.164.2.1 訂單的處理.164.2.2 查看所有訂單.194.3 員工和會員管理.194.3.1 員工管理.204.3.2 會員管理.254.4 本章小結.25第第 6 章章 總結與展望總結與展望.256.1 總結.266.2 展望.26第第 1 章章 緒論緒論1.1 系統(tǒng)前景分析及已有成果分析系統(tǒng)前景分析及已有成果分析 在社會經濟與人民生活水平的提高的同時,餐飲業(yè)也是處于不斷的發(fā)展之中,餐飲企業(yè)發(fā)展帶動了餐飲投資的多元化,餐飲資本的迅速投入在一定程度上推動了餐飲業(yè)的快速發(fā)展。在餐飲企業(yè)中廣大的中小
11、型餐廳及消費場所是非常重要的一部分。因為從調查來看,中小型餐飲企業(yè)已經成為了這個行業(yè)不可或缺的一部分。本論文的研究對象就是中小型的餐廳飯店,根據所調查的幾家餐廳實際需要制定出切實可行的系統(tǒng)需求。1.1.1 系統(tǒng)前景分析系統(tǒng)前景分析在實踐這個角度來說,如何把多種技術應用在餐飲管理系統(tǒng)軟件的開發(fā)與設計之中,如何讓設計出的系統(tǒng)更加的穩(wěn)定,更加的快捷,從而能夠適應餐飲企業(yè)的發(fā)展,在服務、管理和業(yè)務等諸多方面有所進展,這些都是值得研究和探討的,是一個具實際意義和探討價值的研究項目。 中小型餐飲企業(yè)現(xiàn)狀中小型餐飲企業(yè)現(xiàn)狀隨著改革開放的繼續(xù)深入,我國的中小型餐飲企業(yè)呈現(xiàn)出了一種發(fā)展迅速的態(tài)勢
12、,但與發(fā)展節(jié)奏不符的是,這些小的餐飲企業(yè)在日常的運營中還是普遍采用手工操作方式,效率低且成本高,科技含量低。一、現(xiàn)狀暴露的問題在餐飲企業(yè)規(guī)模與數量的不斷增長的同時,單純的手工操作與服務無論是在工作效率、人力資源成本還是提供決策方面,都是已經不能達到現(xiàn)代化經營管理的企業(yè)標準的了,因此,這種落后的模式制約了整個中小型餐飲行業(yè)的規(guī)?;l(fā)展,也限制著整體服務水平的提升。信息管理系統(tǒng)在中國的餐飲運用上還是一個比較陌生的新鮮事物,所以想要將其普及還是還需要一段時間的,雖然它目前在中國多數企業(yè)應用中只占了很小的一部分,但是伴隨著信息技術和產業(yè)的高速發(fā)展,信息管理系統(tǒng)將會成為一個好企業(yè)不可缺少的重要組成,信息
13、管理系統(tǒng)能給那些企業(yè)帶來高效率、高質量、更為科學的管理,使的企業(yè)可以提高自己的競爭力。二、解決問題的途徑本論文主要是解決中小型餐飲管理運營中的一些問題,把計算機技術用于餐飲企業(yè)管理之中,是可以在很大程度上提高管理者決策的科學性,可以提升的企業(yè)的軟實力,提高企業(yè)效益。將管理和運營與計算機信息管理系統(tǒng)結合運用起來,促進中小型餐飲企業(yè)管理電子化和系統(tǒng)化,將中小型餐飲企業(yè)管理中的工作方式變得更為科學,使得管理更加準確化,讓企業(yè)的管理人員能擺脫了一些瑣碎事務,在數據基礎上并且為經營和決策提供了準確數據支持。餐飲管理系統(tǒng)不是只用于收銀的一種工具,它是通過對目前餐飲企業(yè)的實際情況科學的調查分析后設計出來的管
14、理系統(tǒng),它可以針對中餐因其菜品的多樣化和復雜化的服務很難以實現(xiàn)標準化的信息管理。再則,餐飲管理系統(tǒng)能夠實現(xiàn)具體的、相應的科學的標準化管理流程,在一定程度上,這樣暫時緩解了餐飲管理專業(yè)人才的迫切需求,使用好的系統(tǒng)就能夠去完成專業(yè)人員所需做的工作。最后,決策者可以通過餐飲管理系統(tǒng)做出科學的決策與分析,讓企業(yè)自身對市場的應變能力和競爭力得到完善,從而通過使用2餐飲管理系統(tǒng)來實現(xiàn)降低成本和提高效率等企業(yè)效益最大化目的。 造成現(xiàn)狀的原因造成現(xiàn)狀的原因在社會的各方面,信息技術都引起了革命性的變化,但是在餐飲行業(yè),特別是中小型餐飲企業(yè),因為信息系統(tǒng)本身的限制、成本過高、普及不夠全面等原因使得餐
15、飲管理系統(tǒng)沒有全面的應用到中小型的餐飲企業(yè)之中去。然后面對餐飲行業(yè)多元化且復雜的經營現(xiàn)狀,以及經營的規(guī)模、特色、出品這些因素的差異,使得餐飲企業(yè)有著不同的標準和工作流程,這種復雜的情況,也使得對人才的專業(yè)化的要求也相應地提高了許多,然而在國內市場上,餐飲行業(yè)人才供應不足,所以在這樣的兩難情況下,提高餐飲企業(yè)核心競爭力的計算機管理工具成為了企業(yè)發(fā)展的重要目標。 1.1.2 該類系統(tǒng)已有成果分析該類系統(tǒng)已有成果分析目前而言,國內的餐飲管理系統(tǒng)呈現(xiàn)的幾種情況是:中國流行的軟件系統(tǒng)大多來自管理信息系統(tǒng)(MIS),設計的角度是自身的業(yè)務需求。設計管理信息系統(tǒng)是為了是服務大多數的業(yè)務操作人員的,將他們的重
16、復性勞動減少,即抽象出理想化的業(yè)務流程管理模式,能夠在基于該業(yè)務模式的基礎上實現(xiàn)業(yè)務流程電子化。1.2 有關中小型餐飲行業(yè)調查有關中小型餐飲行業(yè)調查為了能夠更加的了解中小型餐飲行業(yè)信息管理系統(tǒng)的普及程度和實際的需求,我在我所在的城市江蘇溧陽選取了三家中小型的餐飲企業(yè)進行了調查研究,分別是溧陽市華信飯店,九江酒樓和光華飯店,其中華信飯店是比較大一點的飯店,九江酒樓和光華飯店是屬于中小型的餐飲企業(yè),通過對他們的調查研究,確定了本系統(tǒng)的功能需求,以及系統(tǒng)在實際的應用推廣中存在的問題與困難。 1.2.1 實際需要決定功能需求實際需要決定功能需求通過對三家餐飲企業(yè)的調查研究,發(fā)現(xiàn)中小型餐飲企業(yè)的實際需求
17、是比較基礎的,中小型雖然規(guī)模比較小,但是也是非常的注重品質和顧客的體驗,所以信息管理系統(tǒng)的推廣也是非常有前景的,總結了一下,主要包括以下的功能需求,顧客點餐,服務評價,后臺接單,人員管理,菜品管理。圖 1.1 功能模塊示意圖1.2.2 系統(tǒng)特點反饋現(xiàn)實情況系統(tǒng)特點反饋現(xiàn)實情況編寫本系統(tǒng)的最終目的還是能夠推廣這個系統(tǒng),更好的投入到實際的使用中去,所以在做這個系統(tǒng)的時候就考慮到了這個系統(tǒng)的運行成本,因為他將在很大的程度上影響3到系統(tǒng)的推廣使用,顧客的界面在很大程度上做到簡潔化,也是為了能夠得到更好的用戶體驗,滿足餐飲公司提高其品質的利益需求。1.3 本系統(tǒng)的特點及創(chuàng)新本系統(tǒng)的特點及創(chuàng)新 本論文是結
18、合了餐飲管理系統(tǒng)的調查與開發(fā)過程,詳細的介紹如何針對中小型餐飲企業(yè)的實際需求,再將先進的軟件系統(tǒng)技術融入到餐飲管理系統(tǒng)之中,以此開發(fā)出功能和體驗更加完善的餐飲管理系統(tǒng)。本系統(tǒng)采用的的是 MySQL 數據庫系統(tǒng),是用 JSP 程序語言開發(fā)實現(xiàn)的,包括了顧客訂餐、后臺接單、人員管理、系統(tǒng)設置、銷售與庫存狀況分析、退出等一系列系統(tǒng)模塊,實現(xiàn)了點/加菜、評價服務等功能,具有界面友好,操作簡單穩(wěn)定性高、靈活性好等特點。1.3.1 系統(tǒng)的特點系統(tǒng)的特點本系統(tǒng)的特點就是簡潔的系統(tǒng)應用,成本低,可以更好的在中小型餐飲企業(yè)之中推廣,系統(tǒng)的功能也是非常的齊全,具有顧客訂餐、后臺接單、服務評價、人員管理、系統(tǒng)設置、
19、銷售與庫存狀況分析等功能,圖 1.2 系統(tǒng)功能展示1.3.2 系統(tǒng)的創(chuàng)新系統(tǒng)的創(chuàng)新本系統(tǒng)的創(chuàng)新之處在于將傳統(tǒng)的人工點餐方式轉化為智能點餐,在節(jié)省人工的同時也提高了資源利用效率,同時也提高了餐廳的科技感,從而促進餐廳的生意,雖然現(xiàn)在已經有很多類似的系統(tǒng)已經投入了使用,但是相比之下,我所設計的系統(tǒng)成本更低,是更適合在中小型餐飲企業(yè)之中推廣的,而且,我在系統(tǒng)的界面設計上也是采用了更為簡潔的風格,滿足顧客最直接的點餐需求,以最快的速度傳輸到后臺,提高點餐的效率。4圖 1.3 系統(tǒng)界面圖1.4 本文研究內容及主要貢獻本文研究內容及主要貢獻 本論文簡要的介紹了“基于 JSP 的中小型餐飲管理系統(tǒng)”的項目背
20、景和項目意義,著重的闡述了該系統(tǒng)需求分析與開發(fā)實現(xiàn)的過程,詳盡的對系統(tǒng)的需求分析、模塊設計和數據庫的設計等各個環(huán)節(jié)展開了分析和描述。文章重點介紹了餐飲管理系統(tǒng)所采用一部分的關鍵技術與思想,在其中也包括 mysql 數據庫技術和 JSP 的編程技術。本文最大特點在于將理論與實踐結合在一起,它的創(chuàng)新之處就在于比較客觀地準確地分析、識別了餐飲管理系統(tǒng)的需求,在調查研究的基礎之上,然后通過對餐飲企業(yè)的服務流程提出了一套數據處理系統(tǒng)。5第第 2 章章 需求分析與方案比較需求分析與方案比較介紹了設計的需求分析、總體思路以及基本原理、列出的方案及其優(yōu)缺點對比,最后采用的方案及其功能描述,贅述本研究或設計采用
21、的開發(fā)環(huán)境。2.1 可行性研究可行性研究2.1.1 技術可行性技術可行性本系統(tǒng)的前臺語言主要是 BootStrap 框架 html5+CSS3 +javascript 腳本語言,后臺語言 java,這兩項技術已經非常的成熟,設計這樣的點餐系統(tǒng)是不存在技術難題的。2.1.2 經濟可行性經濟可行性為了能夠在中小型的餐飲企業(yè)中推廣,系統(tǒng)在成本和維護方面的費用都比較低,服務器的搭建的話也是比較簡單。2.2 系統(tǒng)綜合要求系統(tǒng)綜合要求2.2.1 功能需求功能需求本系統(tǒng)主要分為六個模塊。 模塊劃分模塊劃分1、登陸模塊:普通用戶(顧客端)、管理員用戶(管理端);2、點單模塊:包括自助結賬子模塊,
22、菜品評價子模塊;三、菜單處理模塊:管理員端即時顯示客戶點單情況;四、收銀模塊:包括結賬子模塊,會員子模塊;五、會員信息管理模塊:管理會員個人信息,計算會員積分,個人信用;六、數據分析模塊:年月日營業(yè)額分析、菜品分類銷量分析(這兩項關聯(lián)結賬模塊)、庫存分析、損耗分析(這兩項由管理端輸入)。 性能需求性能需求計算機系統(tǒng)需要配置一般即可,需要 xp 以上系統(tǒng),同時裝有 MySQL 數據庫。2.3 開發(fā)環(huán)境開發(fā)環(huán)境 本設計采用的是 Apache+Mysql+java 作為開發(fā)平臺,采用 java 技術進行這個系統(tǒng)的開發(fā),以 B/S 結構作為系統(tǒng)結構,以 java 作為后臺開發(fā)語言,能夠實
23、現(xiàn)面向對象開發(fā),數據庫采用的是 Mysql 數據庫管理系統(tǒng),兼容性更強,數據處理更加的高效,前臺語言采用 BootStrap 框架 html5+CSS3 +javascript 腳本語言,能夠使開發(fā)的界面更為美觀,呈現(xiàn)動態(tài)效果更好。硬件方面,在計算機上運行即可。2.3.1 Apache tomcatApache 是可以說他是一種 web 服務器,但是 Tomcat 卻是一種應用服務器(java),所以 Tomcat 僅僅是一個 servlet 容器,類似于 Apache 的一種擴展。Apache 和 Tomcat這兩種都是可以按照一個獨立的 web 服務器來啟動的,但是 Apache 是不可以
24、解釋 java內程序(jsp&servlet)的。 Apache 它是來源于 NCSAhttpd 服務器的,它經過了多次修改,逐漸就成為了最流行的一種 Web 服務器軟件。由于它是個自由軟件的緣故,所以就不斷有人來為它開發(fā)新的6功能,不斷地去完善它。Apache 有簡單、速度快的優(yōu)點,并且它的性能也是具有穩(wěn)定性的,常常作為代理服務器來使用的。而且 Apache 對 Linux 的支持相當完美。2.3.2 Java Java 它是一種面向對象的程序設計語言,Java 技術非常的成熟,它是可以編寫跨平臺語言。它具有優(yōu)秀的安全性,通用性和平臺移植性。已經被廣泛應用于 PC、數據中心等,與此同
25、時,java 擁有全球最大的開發(fā)者研究隊伍。Sun 自己對 Java 語言的解釋是:Java 語言是一種簡單、面向對象的語言,它與系統(tǒng)無關且可移植,還是一種性能高、分布式、安全多線程的語言。Java 技術是一種比較單純的程序開發(fā)語言,它繼承了 C+語言里面向對象這個技術的核心。而且 Java 技術也是在不斷更新的。Java 從面世后就是一直非常的流行,java發(fā)展也非常的迅速,對之前的王者 C+編程語言形成了強大沖擊。在移動互聯(lián)時代的產業(yè)大環(huán)境之下,Java 的特性使其在未來的軟件編程方面將會有更好的發(fā)展。2.3.3 MySQL MySQL 數據庫是一個數據庫管理系統(tǒng),他是關系型的,是 Ora
26、cle 公司的產品。MySQL 是目前最流行的一種關系型數據庫管理系統(tǒng),所以在 WEB 應用這一方面來說,MySQL 是最好的一種 RDBMS 的應用軟件。從另一方面,MySQL 又是一種關聯(lián)數據庫管理系統(tǒng),關聯(lián)數據庫的特點是,他會將庫中數據存放在不同的表當中的,而不是放在同一個庫內,這樣的特性就會增加運行速度,并提高系統(tǒng)的靈活性。由于 mysql 體積小和速度快的優(yōu)點,而且總體擁有的成本較低,并且因為他是開放自身源碼的,所以許多中小型的系統(tǒng)都會選用 mysql 來作為自己的數據庫系統(tǒng)。2.3.4 B/S 結構結構 B/S 結構(Browser/Server)(服務器模式/瀏覽器),他是在 w
27、eb 興起后逐漸被使用的一種網絡結構模式,因為客戶端中最多的應用軟件是 WEB 瀏覽器。瀏覽器是可以通過 Web Server 與 mysql 數據庫進行數據的交互的。2 架構特點:(1)維護和升級方式比較簡單。(2)成本降低,選擇也會更多。(3)應用服務器運行時負荷重。2.3.5 DIV+CSSDIV+CSS 它是 WEB 的一種設計標準模式,同時它也是一種網頁的布局方法。但它與傳統(tǒng)中通過表格(table)布局的方式是有所不同的,它是可以達到網頁頁面的內容與表現(xiàn)相分離的那種效果的。css 是層疊樣式表(Cascading Style Sheets)的縮寫名稱,是用來定義 HTML 元素的表現(xiàn)
28、形式的,css 是網頁設計與開發(fā)人員必須掌握的關鍵技術之一。它進行網頁的統(tǒng)一設計與管理,而且只需要通過一個樣式表,就能改變整個布局,只要是修改了樣式表,就可以做到統(tǒng)一全站的同一風格的效果顯示。2.4 系統(tǒng)流程圖系統(tǒng)流程圖7 圖 2.1 下訂單流程圖 圖 2.2 訂單管理流程圖2.5 本章小結本章小結這個章節(jié)主要是通過兩種角度,從經濟和技術的角度分析了這個系統(tǒng)的可行性。畫了系統(tǒng)流程圖描繪本系統(tǒng)的各個物理層,對其進行了分析解釋,直觀清晰。最后闡述了設計的開發(fā)環(huán)境與開發(fā)平臺,介紹了開發(fā)語言與架構方法等。8第第 3 章章 系統(tǒng)關鍵技術以及方案系統(tǒng)關鍵技術以及方案建議本章介紹關鍵技術、關鍵算法分析設計以
29、及對原有方法的主要改進等。3.1 核心技術核心技術1. Java 2. MVC 設計模式3. Html5+css3+JavaScript4. SpringMvc+hibernate 框架的使用3.1.1 JavaJava 是可以應用于各種移動平臺的,他是一種面向對象程序設計語言。3.1.2 Mvc 設計模式設計模式Model view control 設計模式將以前程序員需要將前后臺工作一起完成的繁重中解脫出來,前臺和后臺可以實現(xiàn)分離,使后臺程序員只要處理 Control 部分。3.1.3 html5+css3+JavaScript基本的超文本語言(html),采用的是樣式表(CSS) 和腳本
30、語言(JavaScript)。3.2 系統(tǒng)設計分析系統(tǒng)設計分析系統(tǒng)結構圖 3.1 整體功能結構3.2.1 客戶操作部分客戶操作部分 客戶操作系統(tǒng)部分:實現(xiàn)了客戶對餐品的最清楚感受與信息的接收;價格以及品相,售價的全面了解,并且通過購物車可以實現(xiàn)對菜品的選擇,挑選,取消 ,以及最后進行點餐功能。系統(tǒng)通過定時查詢,將顧客點餐信息實時傳遞到管理員后臺操作部分。3.2.2 管理員操作部分管理員操作部分 管理員操作系統(tǒng)部分:實現(xiàn)了管理對整個系統(tǒng)數據的一個管理與處理,對賬單的直觀感受,以及可以對實時訂單進行處理操作(增刪查改),對會員顧客信息的管理(增刪查改),對工作人員信息的管理(增刪查改)。3.2.3
31、 數據庫部分數據庫部分 本系統(tǒng)采用的是 Mysql5.5 數據庫,下面是數據庫中四個表:表 3.1 food 表9字段名 說明類型長度 是否主鍵 允許空 Id 食物 idint20是否foodname 食物名稱 varchar21否否foodprice 食物價格 varchar22否否 foodtype 食物類型 varchar23否否 commend 好評 int24否是表 3.2 foodlist 表字段名說明類型長度是否主鍵允許空id菜單 idint90是否/自增長tablid餐桌 idint20否否food食物列表vachar999否否price價格int50否否state狀態(tài)int1
32、0否否表 3.3 用戶表字段名說明類型長度是否主鍵允許空userid用戶 idint20是否username用戶姓名vachar21否否password密碼vachar22否否tel電話vachar23否否表 3.4 工作人員表字段名說明類型長度是否主鍵允許空id工作人員 idint20是否name姓名varchar21是否zan獲得的贊int22是否age年齡int23是否3.3 本章小結本章小結通過具體到功能點,對象點的項目分析,更充分的體會到餐飲系統(tǒng)的實用性。10第第 4 章章 軟件設計軟件設計4.1 購物車實現(xiàn)原理購物車實現(xiàn)原理 和超市的購物車不一樣,虛擬世界的購物車更加方便,甚至可以
33、說輕便,因為不需要您記住您購買了什么 或者放錯了什么,當結賬的時候可以一目了然的看到你所購買的,只需鼠標輕輕一點即可實現(xiàn)各種功能,本系統(tǒng)所使用的購物車所采用的原理即將所勾選的菜品信息。通過標簽自定義類進行數據傳遞到固定 div 標簽中,當用戶提交購物車購買時,通過 js 提取此 div 中的信息,并且通過 ajax 將此數據傳遞到后臺進行解析。4.1.1 購物車前臺實現(xiàn)原理購物車前臺實現(xiàn)原理首先是購物車樣式:圖 4.1 購物車樣式11 我的餐桌 商品 份數 價格 操作 合計金額:0元 立即結算 然后是購物車前臺 JS 原理:(參考文件demowebjsplug_24_mytable_page.
34、js)/Jquery 的 function 寫法$(function()/更新購物車的算法 var updateCart = function() 12 var totalPrice = 0; $(.table_box .foodlist tbody tr).each(function(idx, el) var countString = $(el) .find(.count) .val(), count = parseInt(countString), priceString = $(el).find(.price).text(), price = parseInt(priceString)
35、; console.log(count); console.log(price); totalPrice += price * count; ); $(.pay_stat i).html(totalPrice); /利用增加 div 節(jié)點的方法增加菜品。并且將標簽里的值賦進去 function addmenu(order) smallcount=order.count*order.price; var litmenu = ; litmenu += + order.dishName +; litmenu += ; litmenu += -+; litmenu += ; litmenu += +s
36、mallcount +; litmenu += ; litmenu += ; var dishTableRows = $(.table_box .foodlist tr); for (var j=0; jdishTableRows.length; j+) /循環(huán)小元素; if (dishTableRows.eq(j).attr(dataid) = order.dishId) /如果要插入的小元素已有;var txtval = parseInt( dishTableRows .eq(j) .children(td) .children(u) .children(.count) .val() );
37、txtval += 1;13dishTableRows .eq(j) .children(td) .children(u) .children(.count) .val(txtval); updateCart();return false; $(.table_box .foodlist tbody).append(litmenu); updateCart(); /點擊小叉去刪除一個選好的菜; $(.table_box .btn-xs).click(function() $(this).closest(tr).remove(); updateCart(); ); $(#shop_menu i).
38、click(function() var order = price: $(this).attr(ary5), count: $(this).attr(ary4), dishName: $(this).attr(ary3), dishId: $(this).attr(ary2), shopName: $(this).attr(ary1), shopId: $(this).attr(ary0) ; / var ary0 = $(this).attr(ary0); / var ary1 = $(this).parents(.menu_list).siblings(h2).text(); / var
39、 ary2 = $(this).attr(ary2); / var ary3 = $(this).text(); / var ary4 = $(this).attr(ary4); / var ary5 = $(this).attr(ary5); / addmenu(ary0,ary1,ary2,ary3,ary4,ary5);addmenu(order); );14 $(.table_box).on(click, .add_btn, function() var txtobj = $(this).siblings(u).children(.count), txtval = parseInt(t
40、xtobj.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 購物車后臺實現(xiàn)原理購物車后臺實現(xiàn)原理本小節(jié)主要描述如何將數據傳入后臺并且記錄 傳遞給管理員第一步第一步首先用 JS 想數據取出并且通過 ajax 傳入后臺:文件:(demowebjszhou.js):function sendfunction()
41、 /取出在購物車 div 里的所有數據 var foodname = document.getElementsByName(foodname).length; var foodcount = document.getElementsByName(foodcount).length; var food = document.getElementsByName(foodname); var foodcountvalue = document.getElementsByName(foodcount);var allprice =document.getElementById(allprice).in
42、nerHTML; var list=,;var count=,;/循環(huán)取出數據 for (var i=0;ifoodname;i+) list=list+foodi.innerHTML+,; count=count+foodcountvaluei.value+,; if(allprice=0) alert(請點餐!) else/將所有數據通過 ajax 傳遞到后臺 $.ajax(15 type:post, url:/sendfood.do, dataType:text, data:foodlist1:list ,foodcount1:count,total:allprice ); alert(
43、請耐心等待美味!);window.location.reload(); 第二步:第二步:將數據解析好 并且存入數據庫,標記為未處理的訂單 文件:srccomzhucontrolhomepageaction.javaRequestMapping(value=sendfood )/注解綁定一個 actionpublic String sendfood(RequestParam(value=foodlist1) String foodlist1,RequestParam(value=foodcount1) String foodcount1,RequestParam(value=total)int
44、total ,Model model)/進行數據解析 String allsql=; String sourceStrArray = foodlist1.split(,); String sourceStrArray2=foodcount1.split(,); for (int i = 0; i sourceStrArray.length; i+) allsql+=sourceStrArrayi+*+sourceStrArray2i+ ; System.out.print(allsql);foodlistactiondao.insertfoodlist(allsql,total);return
45、 home;數據庫操作方法:/申請訂單 public void insertfoodlist(String food,int price) Session ss= sessionFactory.getCurrentSession(); Transaction tx=ss.beginTransaction(); Query addfoodlist=ss.createSQLQuery(insert into foodlist (tableid,food,price,state) values(+1+,+food+,+price+,+1+); addfoodlist.executeUpdate();
46、 mit(); 164.2 后臺數據的排序后臺數據的排序訂單需要按照先后順序排序以此來達到查看訂單的先后。以此進行更好的處理4.2.1 訂單的處理訂單的處理 數據庫的設計:create table foodlist(id int(90) not null auto_increment,tableid int(20),food varchar(999),price int(50),state int(10),primary key (id);通過 hibernate 處理 id 為主鍵,并且是自增長,并且進行 hibernate 分頁,通過 id 來排序/ public List foodlis
47、tfenye( int startpage) Session ss= sessionFactory.getCurrentSession(); Transaction tx=ss.beginTransaction(); Query findclassroom=ss.createQuery(from Foodlist foodlist where foodlist.state=1 order by foodlist.id desc); Query ls=findclassroom.setFirstResult(startpage).setMaxResults(8); java.util.List
48、lt= ls.list(); mit(); return lt;管理員可以對訂單進行 刪除 接單的操作具體關鍵代碼如下: /刪除 foodlist public void deletefoodlistbyid(int id) Session ss= sessionFactory.getCurrentSession(); Transaction tx=ss.beginTransaction(); Query finduser=ss.createQuery(delete Foodlist foodlist where foodlist.id=+id); finduser.executeUpdate
49、();17 mit();前臺代碼: 待定 接單 刪除訂單 通過 JS 控制接單的數據 并且打印 function printlist(id) bdhtml=window.document.body.innerHTML; sprnstr=; eprnstr=; prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17); prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr); sprnstr1=; eprnstr1=; prnhtml1=bdhtml.substr(bdhtml.indexOf(sprns
50、tr1)+17); prnhtml1=prnhtml1.substring(0,prnhtml1.indexOf(eprnstr1); window.document.body.innerHTML=prnhtml1+prnhtml+點此返回; window.print(); $.ajax( type:post, url:/accept.do,data:id:id );18window.location.reload(); 圖 4.2 菜單打印圖通過 JS 刪除訂單: function deletelist(id) $.ajax( type:post, url:/deletefoodlist.d
51、o,data:id:id ); $(#+id).modal(hide);alert(操作成功); window.location.reload(); 194.2.2 查看所有訂單查看所有訂單管理員可以查看所有訂單:圖 4.3 最新訂單列表具體實現(xiàn)方法:/所有訂單分頁 public List allfoodlistfenye( int startpage) Session ss= sessionFactory.getCurrentSession(); Transaction tx=ss.beginTransaction(); Query findclassroom=ss.createQuery(
52、from Foodlist foodlist where foodlist.state=2); Query ls=findclassroom.setFirstResult(startpage).setMaxResults(8); java.util.List lt= ls.list(); mit(); return lt; 4.3 員工和會員管理員工和會員管理4.3.1 員工管理員工管理我們可以對員工進行增刪查改的操作:如下圖所示20圖 4.4 增加員工增加 div 是用蒙版效果制作的 div可以隨時招出和隱藏定義用戶的 id 不可重復 并且并需填寫 關鍵代碼如下: function addw
53、orker() var newid=document.getElementById(newid).value; var newname=document.getElementById(newname).value; var newage=document.getElementById(newage).value; var div1=document.getElementById(message1);var div2=document.getElementById(message2); var div3=document.getElementById(message3); var divx=do
54、cument.getElementById(messagex); if(newid=) div1.style.display=block; setInterval(deletediv(),10000); if(newname=) div2.style.display=block; setInterval(deletediv(),10000);21 if(newage=) div3.style.display=block; setInterval(deletediv(),10000); if(newage!=&newid!=&newname!=) $.ajax( type:pos
55、t, 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.
56、style.display=block; ); 刪除 修改 如下:function deletediv() var div1 = document.getElementById(message1); var div2 = document.getElementById(message2); var divx = document.getElementById(messagex); var div3 = document.getElementById(message3); div1.style.display = none;22 div2.style.display = none div3.st
57、yle.display = none divx.style.display = none function getworkerinfo(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=dat
58、a.workerage; ) function editworker() var div1 = document.getElementById(message10); var div2 = document.getElementById(message20); var divx = document.getElementById(messagex0); var div3 = document.getElementById(message30); var editid =document.getElementById(editid).value; var editname= document.g
59、etElementById(editname).value; var editage= document.getElementById(editage).value; if(editage=) div3.style.display=block; if(editname=) div2.style.display=block; if(editid=)23 div1.style.display=block; if(editid!=&editage!=&editname!=) $.ajax( type:post, url:/modifyworker.do, data:id:editid
60、,name:editname,age:editage );alert(編輯成功); $(#editinfo).modal(hide); window.location.reload(); 我們可以通過點贊對員工的表現(xiàn)進行簡單評估:圖 4.5 員工點評點贊特效關鍵代碼如下: ;(function($) $.extend( tipsBox: function(options) options = $.extend( obj: null, /jq 對象,要在那個 html 標簽上顯示 str: +1, /字符串,要顯示的內容;也可以傳一段 html,如: +124 startSize: 12px, /動畫開始的文字大小 endSize
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年人教A版九年級地理下冊月考試卷
- 2025年蘇教新版七年級物理下冊階段測試試卷含答案
- 2025年人教版選修3歷史上冊階段測試試卷含答案
- 2025年浙科版七年級物理下冊階段測試試卷含答案
- 2025年湘師大新版八年級生物下冊階段測試試卷含答案
- 2025年北師大版八年級生物上冊階段測試試卷含答案
- 2025年浙教版八年級地理下冊階段測試試卷
- 2025年湘教版選修4歷史下冊月考試卷含答案
- 2025年統(tǒng)編版2024八年級歷史上冊月考試卷
- 2025年新科版八年級地理下冊月考試卷
- 完整版秸稈炭化成型綜合利用項目可行性研究報告
- 油氣行業(yè)人才需求預測-洞察分析
- 《數據采集技術》課件-Scrapy 框架的基本操作
- 2025年河北省單招語文模擬測試二(原卷版)
- 高一化學《活潑的金屬單質-鈉》分層練習含答案解析
- DB34∕T 4010-2021 水利工程外觀質量評定規(guī)程
- 2024年內蒙古中考英語試卷五套合卷附答案
- 2024年電工(高級)證考試題庫及答案
- 三年級上冊脫式計算100題及答案
- 儲能電站火災應急預案演練
- 人教版(新插圖)二年級下冊數學 第4課時用“進一法”和“去尾法”解決簡單的實際問題 教學課件
評論
0/150
提交評論