




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
一次訂單的代碼設(shè)計(jì):為了方便對(duì)訂單進(jìn)行管理,把訂單按時(shí)間日期編碼,擔(dān)心訂單數(shù)量過(guò)多,按時(shí)間編碼可能會(huì)出現(xiàn)編碼重復(fù),所以在日期精確到分之后添加三位隨機(jī)數(shù)防止重復(fù)。2201904160920具體日期123隨機(jī)數(shù)(三)數(shù)據(jù)庫(kù)設(shè)計(jì)設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)時(shí)應(yīng)該首先充分了解用戶各個(gè)方面的需求,實(shí)現(xiàn)餐飲行業(yè)日常業(yè)務(wù)的處理,并考慮將來(lái)可能進(jìn)行的功能性的擴(kuò)展,留有接口,便于下次的優(yōu)化和升級(jí)。根據(jù)系統(tǒng)的功能要求,數(shù)據(jù)的存儲(chǔ)不會(huì)涉及到很多層次,也不會(huì)存儲(chǔ)大量數(shù)據(jù),其數(shù)據(jù)庫(kù)hotel創(chuàng)建了餐桌信息表dinnertable、菜信息表food、菜種類表foodtype、訂單表orders、訂單詳細(xì)表orderdetail、員工表employee。餐桌信息表:用于保存餐桌預(yù)定信息。菜信息表:用于保存菜的價(jià)格、圖片信息等。菜種類表:用于保存菜的種類信息。訂單表:用于保存顧客下單情況信息。訂單詳細(xì)表:用于保存顧客下單的詳細(xì)情況,包括總價(jià),點(diǎn)的菜等等。員工表:用于保存員工入職時(shí)的信息,包括員工號(hào),職位,姓名、電話等等。詳細(xì)表見(jiàn)下表。字段名數(shù)據(jù)類型可否為空字段大小字段含義Id數(shù)字NOTNULL8主鍵TableName文本NOTNULL10餐桌名Tablestatus數(shù)字NOTNULL2餐桌狀態(tài)OrderDate日期NULL無(wú)預(yù)定日期Price數(shù)字NOTNULL4 餐桌價(jià)格表1.1dinnertable表字段名數(shù)據(jù)類型可否為空字段大小字段含義Id數(shù)字NOTNULL15主鍵Name文本NOTNULL10員工姓名Birth日期NOTNULL無(wú)員工出生日期Tel數(shù)字NULL13員工電話Address文本NOTNULL50員工地址Age數(shù)字NOTNULL3員工年齡Sex數(shù)字NOTNULL1員工性別Employeetime日期NOTNULL無(wú)雇傭時(shí)間Right數(shù)字NOTNULL2權(quán)限表1.2employee表字段名數(shù)據(jù)類型可否為空字段大小字段含義Id數(shù)字NOTNULL11主鍵foodName文本NOTNULL10菜名FoodType_id日期NOTNULL無(wú)菜類型主鍵Price數(shù)字NULL13價(jià)格Mprice文本NOTNULL50會(huì)員價(jià)格Remark數(shù)字NOTNULL3評(píng)價(jià)Img數(shù)字NOTNULL1詳細(xì)圖片表1.3food表字段名數(shù)據(jù)類型可否為空字段大小字段含義Id數(shù)字NOTNULL11主鍵typeName文本NOTNULL10菜類型表1.4foodtype表字段名數(shù)據(jù)類型可否為空字段大小字段含義Id數(shù)字NOTNULL11主鍵OrderId數(shù)字NOTNULL10訂單主鍵food_id數(shù)字NOTNULL10菜主鍵Foodcount數(shù)字NOTNULL3菜數(shù)量表1.5orderdetail表字段名數(shù)據(jù)類型可否為空字段大小字段含義Id數(shù)字NOTNULL14主鍵Table_id數(shù)字NOTNULL10餐桌主鍵orderDate日期NOTNULL無(wú)下單日期totalPrice數(shù)字NOTNULL4總價(jià)orderStatus數(shù)字NOTNULL1訂單狀態(tài)表1.6orders表(四)輸入輸出設(shè)計(jì)系統(tǒng)使用的方便性和安全可靠性的檢驗(yàn)的一個(gè)很重要的屬性就是系統(tǒng)的輸入輸出設(shè)計(jì),系統(tǒng)和用戶需要一個(gè)良好的互聯(lián)網(wǎng)交互環(huán)境,這個(gè)環(huán)境的好壞取決于系統(tǒng)開發(fā)者對(duì)輸入輸出的設(shè)計(jì),輸入設(shè)計(jì)指的是用戶鍵入信息數(shù)據(jù)界面效果以及實(shí)現(xiàn)方式的設(shè)計(jì),而輸出設(shè)計(jì)指的是用戶鍵入信息之后數(shù)據(jù)顯示的統(tǒng)計(jì)方式的設(shè)計(jì)。1、輸出設(shè)計(jì)百餐匯餐廳管理信息系統(tǒng)的輸出設(shè)計(jì)主要是從信息查詢、信息輸出的角度出發(fā),為了能夠高效、快速,不讓用戶緩慢等待的情況下查詢到自己的訂單和結(jié)賬信息,本系統(tǒng)采用谷歌瀏覽器進(jìn)行電腦屏幕輸出,保證整體的可操控,也有利于二次開發(fā)(利用谷歌開發(fā)者工具)2、輸入設(shè)計(jì)輸入設(shè)計(jì)是一個(gè)管理信息系統(tǒng)的開端,是整個(gè)系統(tǒng)數(shù)據(jù)流向的起始階段,如果界面過(guò)于簡(jiǎn)陋,將會(huì)對(duì)用戶體驗(yàn)造成極大影響導(dǎo)致系統(tǒng)無(wú)法獲取到數(shù)據(jù),系統(tǒng)也就沒(méi)有存在的價(jià)值了,因此,輸入設(shè)計(jì)的界面要盡量顯得高大上一些來(lái)吸引用戶,從而獲得更多的訪問(wèn)量。(1)輸入格式盡量以填寫為主。(2)保證滿足處理要求的前提下使輸入量最小,輸入過(guò)程盡量簡(jiǎn)約。(3)對(duì)于輸入的數(shù)據(jù),具有一定的完整性規(guī)則,如果不能符合要求,系統(tǒng)可以拒絕該數(shù)據(jù)。3、輸入輸出界面設(shè)計(jì)谷歌瀏覽器的圖形界面是本系統(tǒng)進(jìn)行輸入輸出的主要界面,界面開發(fā)美觀、簡(jiǎn)潔,擁有對(duì)用戶密碼、登錄名的自動(dòng)填充和其他各種強(qiáng)大的功能,還可以選擇很多種界面背景顏色,保持頁(yè)面的觀賞性詳細(xì)輸入輸出設(shè)計(jì)界面見(jiàn)下圖:圖2.2員工后臺(tái)登錄界面圖2.3登錄后顯示界面圖2.4餐桌管理界面圖2.5菜系管理界面圖2.6菜品管理界面圖2.7員工管理界面圖2.8顧客選餐桌界面圖2.9菜單界面圖2.10查看菜的詳細(xì)信息圖2.11餐車界面圖2.12結(jié)賬界面五、系統(tǒng)實(shí)施系統(tǒng)實(shí)施是開發(fā)信息系統(tǒng)的最后一個(gè)階段,是系統(tǒng)調(diào)查、系統(tǒng)分析、系統(tǒng)設(shè)計(jì)的結(jié)果。根據(jù)系統(tǒng)設(shè)計(jì)階段設(shè)計(jì)的系統(tǒng)結(jié)構(gòu),各個(gè)模塊的功能、輸入和輸出,數(shù)據(jù)庫(kù)的物理模型,按實(shí)施方案完成一個(gè)可以運(yùn)行的信息系統(tǒng)。在系統(tǒng)實(shí)施階段既要成功的實(shí)現(xiàn)新系統(tǒng),又要取得用戶對(duì)系統(tǒng)的信任。(一)系統(tǒng)運(yùn)行環(huán)境本系統(tǒng)在Windows7操作系統(tǒng)上開發(fā),為了系統(tǒng)的良好運(yùn)行,對(duì)于硬件的配置要求如下:CPU:I5-4300U或更高;硬盤:20GB或更高;內(nèi)存:256MB或更高;考慮到可視化編程、面向?qū)ο蟮某绦蛟O(shè)計(jì)、結(jié)構(gòu)化程序設(shè)計(jì)、語(yǔ)言事件驅(qū)動(dòng)和可訪問(wèn)數(shù)據(jù)庫(kù)等方面的因素,最終選用Eclipse4.5.1作為軟件開發(fā)工具。而由于數(shù)據(jù)庫(kù)所需要的表不是很多,所有選擇了小而輕量級(jí)的Mysql進(jìn)行后臺(tái)數(shù)據(jù)庫(kù)的設(shè)計(jì)。結(jié)合程序所占硬盤和內(nèi)存的情況及所選用的開發(fā)語(yǔ)言,主要保證以下幾個(gè)方面:(1)、高度的可靠性:保證主機(jī)、操作系統(tǒng)、網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)、應(yīng)用軟件等系統(tǒng)平穩(wěn)運(yùn)行,最大限度減少停機(jī)時(shí)間。(2)、易維護(hù)和易管理:減少日常管理和維護(hù)的工作量,便于性能的調(diào)節(jié)和故障排除。(3)、高度的安全性:嚴(yán)格控制并規(guī)范對(duì)系統(tǒng)敏感資源的訪問(wèn)。(二)程序設(shè)計(jì)選擇良好的程序設(shè)計(jì)方法和工具是提高程序設(shè)計(jì)質(zhì)量的基礎(chǔ)。本系統(tǒng)采用Eclipse、Hbuilder開發(fā)軟件進(jìn)行系統(tǒng)前臺(tái)界面設(shè)計(jì),在其可視化網(wǎng)頁(yè)上設(shè)計(jì)出各個(gè)表格、按鈕等不同類型的標(biāo)簽并為每個(gè)標(biāo)簽設(shè)置屬性,為了實(shí)現(xiàn)各個(gè)標(biāo)簽的功能,需要編寫相關(guān)對(duì)象要完成的功能程序,之后才能完整的實(shí)現(xiàn)其功能。在具體編程中,采用結(jié)構(gòu)化程序設(shè)計(jì)方法,其包括三種基本的邏輯結(jié)構(gòu):順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)和選擇結(jié)構(gòu)。具體程序流程圖見(jiàn)下圖。圖3.1員工登錄程序流程圖3.2顧客點(diǎn)菜下單程序流程(三)系統(tǒng)調(diào)試系統(tǒng)調(diào)試的目的是發(fā)現(xiàn)程序和系統(tǒng)中可能存在的錯(cuò)誤并及時(shí)予以糾正。完成對(duì)百餐匯餐廳點(diǎn)餐下單管理信息系統(tǒng)的每一個(gè)模塊及對(duì)整個(gè)系統(tǒng)的所有功能進(jìn)行調(diào)試,首先編寫測(cè)試數(shù)據(jù)對(duì)代碼進(jìn)行調(diào)試,驗(yàn)證程序在邏輯上的正確性,之后對(duì)系統(tǒng)的程序功能進(jìn)行測(cè)試,先對(duì)單個(gè)程序進(jìn)行調(diào)試,再將一個(gè)功能內(nèi)的所有程序按次序串聯(lián)起來(lái)進(jìn)行調(diào)試,以保證模塊內(nèi)各個(gè)程序間具有正確的控制關(guān)系,最后進(jìn)行總調(diào),對(duì)系統(tǒng)各種可能的使用形態(tài)及其組合在軟件中的流通情況進(jìn)行測(cè)試。通過(guò)測(cè)試來(lái)盡可能的發(fā)現(xiàn)在系統(tǒng)分析、系統(tǒng)設(shè)計(jì)中的存在的錯(cuò)誤。在程序的測(cè)試過(guò)程中,反復(fù)的調(diào)試,問(wèn)題也反復(fù)的出現(xiàn),經(jīng)過(guò)不斷地對(duì)數(shù)據(jù)庫(kù)和程序的修改,程序所實(shí)現(xiàn)的功能日趨完善,直到問(wèn)題不再出現(xiàn)為止,到此系統(tǒng)已經(jīng)可以交付使用了。用例名稱操作步驟預(yù)期結(jié)果實(shí)際結(jié)果員工登錄依據(jù)員工號(hào)進(jìn)行員工登錄,根據(jù)員工的不同權(quán)限左側(cè)菜單顯示不同無(wú)員工號(hào)登錄失敗,總經(jīng)理登錄顯示全部菜單,其他員工登錄顯示部分菜單完全實(shí)現(xiàn)信息修改修改相應(yīng)的餐桌狀態(tài)、菜名、所屬菜系、員工信息等等修改后信息準(zhǔn)確無(wú)誤地顯示完全實(shí)現(xiàn)用戶下單用戶選好菜之后在餐車進(jìn)行下單餐車?yán)镉邢鄳?yīng)的菜列表,菜的價(jià)格和總價(jià),下單之后餐桌鎖定完全實(shí)現(xiàn)信息刪除對(duì)于無(wú)用的信息進(jìn)行刪除刪除離職的員工,下架的菜和菜類型完全實(shí)現(xiàn)結(jié)束語(yǔ)此次構(gòu)建百餐匯點(diǎn)餐下單管理系統(tǒng)大概花費(fèi)了我一個(gè)月的時(shí)間,首先我從項(xiàng)目功能結(jié)構(gòu)開始分析,俗話說(shuō):“萬(wàn)事開頭難”,因?yàn)樽龀鰜?lái)的系統(tǒng)要貼合顯示餐廳業(yè)務(wù)功能,所以我先去了學(xué)校附近的幾家餐館實(shí)地考察了一段時(shí)間,發(fā)現(xiàn)餐廳的主要業(yè)務(wù)有:顧客點(diǎn)餐、顧客下單、顧客結(jié)賬等,除了要在前臺(tái)提供界面讓顧客進(jìn)行菜的選擇,還要在后臺(tái)提供員工、菜、餐桌的各種信息管理,保證前臺(tái)和后臺(tái)的數(shù)據(jù)顯示吻合,一個(gè)小型的餐廳點(diǎn)餐下單管理系統(tǒng)建模便完成了。雖然構(gòu)建完成,但這只是空想,具體實(shí)現(xiàn)便是代碼編寫問(wèn)題了。在Eclipse建立好項(xiàng)目之后,開始代碼的整體架構(gòu)。此次代碼實(shí)現(xiàn)我不打算使用框架,因?yàn)轫?xiàng)目過(guò)小,使用框架倒顯得有些“大材小用”了。我打算只用servlet進(jìn)行頁(yè)面跳轉(zhuǎn),這樣更加簡(jiǎn)單快捷,因?yàn)榭梢詫懰赖臇|西有很多,配置文件也不用寫很多。至于項(xiàng)目分層,我打算使用傳統(tǒng)的MVC模式,Model層進(jìn)行數(shù)據(jù)庫(kù)的增刪改查,即dao包,Control層進(jìn)行功能模塊模擬,即service包,View層進(jìn)行最終的頁(yè)面跳轉(zhuǎn),分層結(jié)構(gòu)清晰,代碼也不能寫的過(guò)于隨意,是哪個(gè)實(shí)體類在實(shí)體類中寫方法調(diào)用,切忌隨便找一個(gè)實(shí)體類編寫,這樣不利于后期維護(hù)。最后是數(shù)據(jù)表的創(chuàng)建,分析完業(yè)務(wù)流程之后,我建立了六個(gè)表,代表實(shí)體類,每個(gè)表的字段都對(duì)應(yīng)了相應(yīng)實(shí)體類的屬性。萬(wàn)事俱備,開始編寫代碼。編寫過(guò)程中遇到了很多困難,例如員工登錄過(guò)程中的記住密碼,如何在瀏覽器中存放cookie信息,在服務(wù)器中存儲(chǔ)session信息,session和cookie的區(qū)別與聯(lián)系,期間我上網(wǎng)查了很多資料,編程能力得到了極大提升,這對(duì)我以后的工作會(huì)有很大益處。在寫代碼的過(guò)程中我也認(rèn)識(shí)到了很多陷阱,比如String實(shí)體類使用“==”比較的是內(nèi)存地址的大小,相同的是true,不同的是false。而在實(shí)際開發(fā)過(guò)程中比較的是內(nèi)容是否匹配,所以不能使用“==”,而要用string類的equals方法。吃一塹長(zhǎng)一智,以后這些陷阱要想辦法盡量避免,或者不能再犯。代碼編寫完畢后我又重新回顧了一下,發(fā)現(xiàn)還有一些可以增加的功能,比如顧客留言板提意見(jiàn)、投訴服務(wù)等,以及菜品評(píng)選,熱門菜系推薦等等。我還暢想了一下,使用大數(shù)據(jù)檢索顧客的喜好和口味,推薦顧客喜愛(ài)的菜,造成更多的盈利,然而這些功能的實(shí)現(xiàn)太為復(fù)雜,單憑我自己一個(gè)人的能力可能是無(wú)法實(shí)現(xiàn)了,只能等以后水平到達(dá)了才可以回頭重新更新功能。現(xiàn)在更重要的事自己的外文文獻(xiàn)翻譯,我在知網(wǎng)上查了很多關(guān)于餐廳計(jì)算機(jī)信息管理化的文章,最后選了一篇翻譯難度較小的進(jìn)行翻譯,一開始我的頭都大了,因?yàn)槲业挠⑽姆g水平不太高,但是慢慢地,我掌握了一些訣竅,熟能生巧,又參考了一部分百度的翻譯,終于翻譯完成,對(duì)于我來(lái)說(shuō),這次畢業(yè)設(shè)計(jì)也是對(duì)我英語(yǔ)能力的一個(gè)再加強(qiáng),大有益處,學(xué)習(xí)編程的人英文怎么能不好呢?還要看很多全英的編程文檔,所以此次畢業(yè)設(shè)計(jì)對(duì)我以后幫助真的很大。這次設(shè)計(jì)使我感觸很大,代碼改變世界的確不是一句虛言,如果沒(méi)有互聯(lián)網(wǎng),沒(méi)有代碼,我們的生活質(zhì)量將會(huì)變得很低,通信也會(huì)不方便,我立志要寫可以讓千萬(wàn)人使用的代碼,那是怎樣的一種體驗(yàn)啊,肯定會(huì)很有自豪感的,所以這次畢設(shè)不是我編程的終點(diǎn),而是一次完美的開始。希望老師可以對(duì)我的畢業(yè)設(shè)計(jì)提提意見(jiàn),我會(huì)好好改進(jìn)的,加強(qiáng)自己的業(yè)務(wù)能力,使得這個(gè)系統(tǒng)更加完善。我以后也想對(duì)這個(gè)系統(tǒng)進(jìn)行改進(jìn),使用SSM框架,加入maven插件,采用nginx反向代理,服務(wù)器集群,越想反而越有點(diǎn)興奮了,我要好好學(xué)習(xí)這些知識(shí),使用更多的開發(fā)技術(shù),解決高并發(fā)多線程的問(wèn)題,加油,我自己一定可以的!參考文獻(xiàn)[1]王珊、薩師煊.數(shù)據(jù)庫(kù)系統(tǒng)概論.高等教育出版社.2014[2]李忠尉、陳丹丹.Java程序設(shè)計(jì)標(biāo)準(zhǔn)教程.人民郵電出版社.2015[3]鐘德源、林國(guó)、程志艷.JSP實(shí)用簡(jiǎn)明教程.清華大學(xué)出版社.2016[4]李忠尉、陳丹丹、馬文強(qiáng).Java開發(fā)典型模塊大全.人民郵電出版社.20015[5]趙生慧.Java面向?qū)ο蟪绦蛟O(shè)計(jì).高等教育出版社.2017[6]耿祥義、張躍平.Java2實(shí)用教程.清華大學(xué)出版社.2016[7]蔡恒強(qiáng).MVC模式下餐飲管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù).2014,(06):244-262.[8]羅桂蘭.淺談?dòng)蒘SM實(shí)現(xiàn)開發(fā)企業(yè)門戶網(wǎng)站系統(tǒng)的優(yōu)缺點(diǎn)[J].湖北函授大學(xué)學(xué)報(bào).2014,(18):139-140[9]劉朝輝.實(shí)體店餐飲管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[10]付在霞.中國(guó)餐飲業(yè)的電子商務(wù)發(fā)展?fàn)顩r[J].計(jì)算機(jī)光盤軟件與應(yīng)用.2015,(7):75-75[11]穆星宇.B2C電子商務(wù)網(wǎng)站分析與設(shè)計(jì)[D].云南大學(xué),2015.[12]姜峰.基于電子商務(wù)的網(wǎng)站規(guī)劃設(shè)計(jì)研究[J].電腦知識(shí)與技術(shù),2015,11(16):240-242.[13]甄靚.商務(wù)網(wǎng)站的設(shè)計(jì)與構(gòu)建[J].電子世界,2015(10):36-37.[14]朱筱筱.電子商務(wù)網(wǎng)站建設(shè)項(xiàng)目需求分析探析[J].黑龍江對(duì)外經(jīng)貿(mào),2015(06):80-82.[15]LanzuekaNE,SenerAR,PoloGC,etal.UncertaintyanalysisintheenvironmentalassessmentofanintegratedmanagementsystemforrestaurantandcateringwasteinSpain[J].InternationalJournalofLifeCycleAssessment.2015,(2):244-262.附錄餐桌部分相應(yīng)代碼:packagecn.itcast.servlet;importjava.io.IOException;importjava.io.PrintWriter;importjava.util.List;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importcn.itcast.entity.DinnerTable;importcn.itcast.service.IDinnerTableService;importcn.itcast.service.impl.DinnerTableService;publicclassDinnerTableNoUseextendsHttpServlet{Stringuri; IDinnerTableServicedinneretableservice=newDinnerTableService(); publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{List<DinnerTable>noUse=dinneretableservice.findByNoUse();request.setAttribute("noUse",noUse); uri="/app/index.jsp"; request.getRequestDispatcher(uri).forward(request,response); } publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ request.setCharacterEncoding("UTF-8");response.setContentType("text/html;charset=UTF-8"); doGet(request,response); }}packagecn.itcast.servlet;importjava.io.IOException;importjava.io.PrintWriter;importjava.util.Date;importjava.util.Iterator;importjava.util.List;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importcn.itcast.dao.IDinnerTableDao;importcn.itcast.entity.DinnerTable;importcn.itcast.entity.Orders;importcn.itcast.service.IDinnerTableService;importcn.itcast.service.impl.DinnerTableService;publicclassDinnerTableServletextendsHttpServlet{IDinnerTableServicedinnertableservice=newDinnerTableService(); Stringuri; publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ Stringmethod=request.getParameter("method"); request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); if("addDinnerTable".equals(method)){ addDinnerTable(request,response); }elseif("list".equals(method)){ list(request,response); }elseif("viewUpdate".equals(method)){ viewUpdate(request,response); }elseif("delete".equals(method)){ delete(request,response); }elseif("update".equals(method)){ update(request,response); }elseif("search".equals(method)){ search(request,response); }elseif("tablechange".equals(method)){ tablechange(request,response); }elseif("tablechanges".equals(method)){ tablechanges(request,response); } } privatevoidtablechanges(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ //tableId StringtableId=(String)request.getSession().getAttribute("tableId"); Ordersorders=newOrders(); orders.setTable_id(Integer.parseInt(tableId)); orders.setOrderDate(newDate()); Stringparameter=request.getParameter("pricecount"); orders.setTotalPrice(Integer.parseInt(parameter)); orders.setOrderStatus(0); dinnertableservice.addorders(orders); uri="/OrderServlet?method=listuniquefood"; request.getRequestDispatcher(uri).forward(request,response); } privatevoidtablechange(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ StringtableId=(String)request.getSession().getAttribute("tableId"); if(tableId!=""){ int tableid=Integer.parseInt(tableId); DinnerTabledinnerTable=dinnertableservice.findById(tableid); if(dinnerTable.getTableStatus()==0){ dinnerTable.setTableStatus(1); dinnerTable.setOrderDate(newDate()); } dinnertableservice.update(dinnerTable); } uri="/OrderServlet?method=listuniquefood"; request.getRequestDispatcher(uri).forward(request,response); } privatevoidsearch(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ Stringname=request.getParameter("keyword"); List<DinnerTable>list=dinnertableservice.getAll(name); Iterator<DinnerTable>iterator=list.iterator(); while(iterator.hasNext()){ DinnerTabledinnertable=iterator.next(); if(dinnertable.getTableStatus()==0){ dinnertable.setRealStatus("空閑"); dinnertable.setOption("預(yù)定"); }else{ dinnertable.setRealStatus("預(yù)定"); dinnertable.setOption("退桌"); } } request.setAttribute("list",list); uri="/sys/boardList.jsp"; request.getRequestDispatcher(uri).forward(request,response); } privatevoidupdate(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ Stringid=request.getParameter("id"); DinnerTabledinnerTable=dinnertableservice.findById(Integer.parseInt(id)); if(dinnerTable.getTableStatus()==0){ dinnerTable.setTableStatus(1); dinnerTable.setOrderDate(newDate()); }else{ dinnerTable.setOrderDate(null); dinnerTable.setTableStatus(0); } dinnertableservice.update(dinnerTable); uri="/dinnerTable?method=list"; request.getRequestDispatcher(uri).forward(request,response); } privatevoiddelete(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ Stringid=request.getParameter("id"); dinnertableservice.delete(Integer.parseInt(id)); uri="/dinnerTable?method=list"; request.getRequestDispatcher(uri).forward(request,response); } privatevoidviewUpdate(HttpServletRequestrequest,HttpServletResponseresponse){ //TODOAuto-generatedmethodstub } privatevoidlist(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ //TODOAuto-generatedmethodstub List<DinnerTable>list=dinnertableservice.getAll(); Iterator<DinnerTable>iterator=list.iterator(); while(iterator.hasNext()){ DinnerTabledinnertable=iterator.next(); if(dinnertable.getTableStatus()==0){ dinnertable.setRealStatus("空閑"); dinnertable.setOption("預(yù)定"); }else{ dinnertable.setRealStatus("預(yù)定"); dinnertable.setOption("退桌"); } } request.setAttribute("list",list); uri="/sys/boardList.jsp"; request.getRequestDispatcher(uri).forward(request,response); } privatevoidaddDinnerTable(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ //TODOAuto-generatedmethodstub Stringname=request.getParameter("bName"); DinnerTabledinnertable=newDinnerTable(); dinnertable.setTableStatus(0); dinnertable.setTableName(name); dinnertable.setOrderDate(newDate()); dinnertableservice.save(dinnertable); uri="/dinnerTable?method=list"; request.getRequestDispatcher(uri).forward(request,response); } publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ request.setCharacterEncoding("UTF-8");response.setContentType("text/html;charset=UTF-8"); doGet(request,response); }}菜品部分相應(yīng)代碼:packagecn.itcast.servlet;importjava.io.IOException;importjava.io.PrintWriter;importjava.util.ArrayList;importjava.util.Iterator;importjava.util.List;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importcn.itcast.entity.DinnerTable;importcn.itcast.entity.Employee;importcn.itcast.entity.Food;importcn.itcast.entity.FoodType;importcn.itcast.entity.OrderDetail;importcn.itcast.entity.Orders;importcn.itcast.service.IDinnerTableService;importcn.itcast.service.IFoodService;importcn.itcast.service.IFoodTypeService;importcn.itcast.service.IOrderDetailService;importcn.itcast.service.impl.DinnerTableService;importcn.itcast.service.impl.FoodService;importcn.itcast.service.impl.FoodTypeService;importcn.itcast.service.impl.OrderDetailService;importcn.itcast.utils.Condition;importcn.itcast.utils.PageBean;publicclassFoodServletextendsHttpServlet{IFoodTypeServicefoodtypeservice=newFoodTypeService(); IFoodServicefoodservice=newFoodService(); IOrderDetailServiceorderdetailservice=newOrderDetailService(); IDinnerTableServicedinnertableservice=newDinnerTableService(); privateStringuri; publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ Stringmethod=request.getParameter("method"); request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); if("addFood".equals(method)){ addFood(request,response); }elseif("list".equals(method)){ list(request,response); }elseif("viewUpdate".equals(method)){ viewUpdate(request,response); }elseif("delete".equals(method)){ delete(request,response); }elseif("update".equals(method)){ update(request,response); }elseif("search".equals(method)){ search(request,response); }elseif("foodDetail".equals(method)){ foodDetail(request,response); }elseif("fooddetail".equals(method)){ fooddetail(request,response); }elseif("clientCart".equals(method)){ clientCart(request,response); }elseif("deleteuniquefood".equals(method)){ deleteuniquefood(request,response); }elseif("listuniquefood".equals(method)){ listuniquefood(request,response); }elseif("login".equals(method)){ login(request,response); }elseif("clear".equals(method)){ clear(request,response); }elseif("getEmp".equals(method)){ getEmp(request,response); }elseif("searchemp".equals(method)){ searchemp(request,response); }elseif("delemp".equals(method)){ delemp(request,response); }elseif("orderlist".equals(method)){ orderlist(request,response); }elseif("updatestatus".equals(method)){ updatestatus(request,response); } } privatevoidupdatestatus(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ Stringid=request.getParameter("orderid"); Ordersorder=foodservice.getOrderById(Integer.parseInt(id)); foodservice.changorderstatus(order); // request.setAttribute("orderlist",orderlist); uri="/food?method=orderlist"; request.getRequestDispatcher(uri).forward(request,response); } privatevoidorderlist(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ List<Orders>orderlist=foodservice.getOrderList(); for(Ordersorder:orderlist){ DinnerTablefindById=dinnertableservice.findById(order.getTable_id()); order.setTablename(findById.getTableName()); } request.setAttribute("orderlist",orderlist); uri="/sys/orderList.jsp"; request.getRequestDispatcher(uri).forward(request,response); }privatevoidgetEmp(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ List<Employee>emplist=foodservice.getEmp(); request.setAttribute("emplist",emplist); uri="/sys/employee.jsp"; request.getRequestDispatcher(uri).forward(request,response); } privatevoidclear(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ //uri="/dinnerTable?method=list"; //request.getRequestDispatcher(uri).forward(request,response); request.getSession().invalidate(); response.sendRedirect("http://localhost:8080/hotel/sys/index.jsp"); } privatevoidlogin(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ Strings=request.getParameter("employeeid"); Employeee=foodservice.getById(Integer.parseInt(s)); if(e!=null){ request.getSession().setAttribute("employee",e); response.sendRedirect("http://localhost:8080/hotel/sys/index1.jsp"); }else{ response.sendRedirect("http://localhost:8080/hotel/sys/index2.jsp"); } //uri="/dinnerTable?method=list"; //request.getRequestDispatcher(uri).forward(request,response); } privatevoidlistuniquefood(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ List<FoodType>list=foodtypeservice.getAll(); request.setAttribute("listFoodType",list); Strings=(String)request.getSession().getAttribute("tableId"); intid=0; if(s!=""){ id=Integer.parseInt(s); } List<OrderDetail>all=orderdetailservice.getAll(); List<Food>foodlist=newArrayList<Food>(); intpricecount=0; Iterator<OrderDetail>iterator=all.iterator(); while(iterator.hasNext()){ OrderDetailorderDetail2=iterator.next(); intorderId=orderDetail2.getOrderId(); intfood_id=orderDetail2.getFood_id(); if(orderId==id){ Foodfood=foodservice.findById(food_id); foodlist.add(food); pricecount=pricecount+(int)food.getPrice(); } } System.out.println(pricecount); request.setAttribute("pricecount",pricecount); request.setAttribute("uniquefoodlist",foodlist); uri="/app/clientCart.jsp"; request.getRequestDispatcher(uri).forward(request,response); } privatevoiddeleteuniquefood(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ Stringstring=request.getParameter("id"); System.out.println(string); orderdetailservice.delete(Integer.parseInt(string)); uri="/food?method=listuniquefood"; request.getRequestDispatcher(uri).forward(request,response); } privatevoidclientCart(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ Stringuniquefoodid=request.getParameter("id"); Fooduniquefood=foodservice.findById(Integer.parseInt(uniquefoodid)); OrderDetailorderdetail=newOrderDetail(); orderdetail.setFood_id(uniquefood.getId()); orderdetail.setFoodcount(1); Strings=(String)request.getSession().getAttribute("tableId"); if(s!=""){ intid=Integer.parseInt(s); orderdetail.setOrderId(id); } orderdetailservice.save(orderdetail); uri="/food?method=listuniquefood"; request.getRequestDispatcher(uri).forward(request,response); } privatevoidfooddetail(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ Stringid=request.getParameter("id"); Foodfood=foodservice.findById(Integer.parseInt(id)); request.setAttribute("uniquefood",food); List<FoodType>list=foodtypeservice.getAll(); request.setAttribute("listFoodType",list); uri="/app/caixiangxi.jsp"; request.getRequestDispatcher(uri).forward(request,response); } privatevoidfoodDetail(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ HttpSessionsession=request.getSession(); Objectobject=session.getAttribute("tableId"); if(object!=null){ Stringstring=request.getParameter("tableId"); if(string!=null){ session.setAttribute("tableId",""); session.setAttribute("tableId",string); } } if(object==null){ StringtableId=request.getParameter("tableId"); session.setAttribute("tableId",tableId);} PageBeanpb=newPageBean(); StringcurrentPage=request.getParameter("currentPage"); if(currentPage==null||"".equals(currentPage.trim())){ pb.setCurrentPage(1); }else{ pb.setCurrentPage(Integer.parseInt(currentPage)); } Conditioncondition=newCondition(); StringfoodTypeId=request.getParameter("foodTypeId"); if(foodTypeId!=null&&!foodTypeId.isEmpty()){ condition.setTypeId(Integer.parseInt(foodTypeId)); } StringfoodName=request.getParameter("foodName"); if(foodName!=null){ condition.setFoodName(foodName); } pb.setCondition(condition); foodservice.getAll(pb); inttotalCount=foodservice.getTotalCount(pb); pb.setTotalCount(totalCount); pb.getTotalPage(); request.setAttribute("pb",pb); List<FoodType>list=foodtypeservice.getAll(); request.setAttribute("listFoodType",list); uri="/app/caidan.jsp"; request.getRequestDispatcher(uri).forward(request,response); } privatevoidsearch(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ StringfoodName=request.getParameter("keyword"); List<Food>list=foodservice.getAll(foodName); request.setAttribute("list1",list); uri="/sys/foodList.jsp"; request.getRequestDispatcher(uri).forward(request,response); } privatevoidsearchemp(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ request.setCharacterEncoding("utf-8"); StringempName=request.getParameter("keyword"); //StringempName= List<Employee>list=foodservice.getAllEmp(empName); request.setAttribute("emplist",list); uri="/sys/employee.jsp"; request.getRequestDispatcher(uri).forward(request,response); } privatevoiddelemp(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ request.setCharacterEncoding("utf-8"); Stringid=request.getParameter("id"); foodservice.delemp(id); uri="/food?method=getEmp"; request.getRequestDispatcher(uri).forward(request,response); } privatevoidupdate(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ StringfoodType=request.getParameter("cid"); StringfoodName=request.getParameter("foodName"); Stringprice=request.getParameter("price"); Stringmprice=request.getParameter("mprice"); Stringintroduce=request.getParameter("introduce"); Stringid=request.getParameter("id"); Foodf=newFood(); f.setId(Integer.parseInt(id)); f.setFoodName(foodName); f.setPrice(Double.parseDouble(price)); f.setMprice(Double.parseDouble(mprice)); f.setRemark(introduce); inti=foodtypeservice.findByName(foodType); f.setFoodType_id(i); foodservice.update(f); uri="/food?method=list"; request.getRequestDispatcher(uri).forward(request,response); } privatevoiddelete(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ Stringid=request.getParameter("id"); foodservice.delete(Integer.parseInt(id)); uri="/food?method=list"; request.getRequestDispatcher(uri).forward(request,response); } privatevoidviewUpdate(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ Stringid=request.getParameter("id"); Foodfood2=foodservice.findById(Integer.parseInt(id)); FoodTypefoodType=foodtypeservice.findById(food2.getFoodType_id()); food2.setFoodType(foodType); request.setAttribute("food2",food2); uri="/sys/updateFood.jsp"; request.getRequestDispatcher(uri).forward(request,response); } privatevoidaddFood(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ StringfoodType=request.getParameter("selectName"); StringfoodName=request.getParameter("foodName"); Stringprice=request.getParameter("price"); Stringmprice=request.getParameter("mprice"); Stringintroduce=request.getParameter("introduce"); Foodf=newFood(); inti=foodtypeservice.findByName(foodType); f.setFoodType_id(i); f.setFoodName(foodName); f.setPrice(Double.parseDouble(price)); f.setMprice(Double.parseDouble(mprice)); f.setRemark(introduce); foodservice.save(f); uri="/food?method=list"; request.getRequestDispatcher(uri).forward(request,response); } privatevoidlist(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ List<Food>list1=foodservice.getAll(); request.setAttribute("list1",list1); uri="/sys/foodList.jsp"; request.getRequestDispatcher(uri).forward(request,response); } publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); this.doGet(request,response); }}菜種類部分相應(yīng)代碼:packagecn.itcast.servlet;importjava.io.IOException;importjava.io.PrintWriter;importjava.util.List;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importcn.itcast.entity.FoodType;importcn.itcast.factory.BeanFactory;importcn.itcast.service.IFoodTypeService;importcn.itcast.service.impl.FoodTypeService;publicclassFoodTypeServletextendsHttpServlet{privateIFoodTypeServicefoodTypeService=BeanFactory.getInstance("foodTypeService",IFoodTypeService.class);privateStringuri; publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{Stringmethod=request.getParameter("method");request.setCharacterEncoding("UTF-8");response.setContentType("text/html;charset=UTF-8");if("addFoodType".equals(method)){ addFoodType(request,response);}
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 證券從業(yè)資格證內(nèi)容分析試題及答案
- 餐廳保潔托管方案范本
- 2025年會(huì)計(jì)實(shí)務(wù)應(yīng)用試題及答案
- 醫(yī)院凈化工程施工方案
- 共享農(nóng)田托管方案范本
- 項(xiàng)目管理工具對(duì)效率提升的影響考題及答案
- 2024年項(xiàng)目管理專業(yè)人士資格考試全新試題及答案
- 校園車牌訂購(gòu)方案范本
- 銀行從業(yè)資格實(shí)踐案例分享試題及答案
- 2024年項(xiàng)目管理效果評(píng)估試題及答案
- 【電動(dòng)汽車兩檔AMT自動(dòng)變速器傳動(dòng)結(jié)構(gòu)計(jì)算設(shè)計(jì)9800字(論文)】
- 肩關(guān)節(jié)鏡麻醉管理
- 期中檢測(cè)題(含答案)-2024-2025學(xué)年八年級(jí)下學(xué)期道德與法治
- 《冠心病》課件(完整版)
- 09BJ13-4 鋼制防火門窗、防火卷簾
- 《心房顫動(dòng)診斷和治療中國(guó)指南2023》解讀
- 幼兒園紅色小故事PPT:抗日小英雄王二小的故事
- 三輪車駕駛安全操作規(guī)程(機(jī)動(dòng)三輪車和電動(dòng)三輪車)
- 導(dǎo)向系統(tǒng)設(shè)計(jì)(課堂PPT)
- 蘇少版美術(shù)二年級(jí)下冊(cè) 《蟲蟲蟲(一)》教案
- 七年級(jí)下冊(cè)英語(yǔ)閱讀和完型填空訓(xùn)練及答案
評(píng)論
0/150
提交評(píng)論