




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
緒論近年來,隨著改革開放步伐的加快和中西方文化的交流與發(fā)展,我國人民生活水平顯著提高,全社會對餐飲業(yè)的需求量也越來越大,伴隨著消費(fèi)的持續(xù)增長,酒店餐飲行業(yè)已經(jīng)成為現(xiàn)代社會中發(fā)展最快的行業(yè)之一。要想在激烈的市場競爭中生存,就必須在經(jīng)營管理、餐飲服務(wù)等方面提高管理意識。而對酒店的經(jīng)營狀況起決定作用的是對酒店日常營業(yè)的管理。如何用先進(jìn)的管理手段,提高酒店餐飲的管理水平,是每一家酒店的經(jīng)營者所面臨的重要課題。所以應(yīng)勢而出的酒店管理系統(tǒng)有著很好的可行應(yīng)用性。它具有有檢索迅速、查找方便、可靠性高、存儲量大、保密性好、成本低等優(yōu)點。這些優(yōu)點能夠極大地提高酒店餐飲管理的效率,也是酒店在同行業(yè)競爭中處于不敗地位的重要條件。系統(tǒng)以mysql作為后臺數(shù)據(jù)庫,MyEclipse為開發(fā)工具,tomcat為服務(wù)器,java為編程語言,技術(shù)支持采用spring+struts+hibernate(SSH)框架,運(yùn)用自頂向下逐層分解的模塊化結(jié)構(gòu)設(shè)計思想、面向?qū)ο蟮脑O(shè)計方法,實現(xiàn)了酒店餐飲管理系統(tǒng)的各個模塊。1.1研究背景及意義1.1.1背景隨著計算機(jī)網(wǎng)絡(luò)的飛速發(fā)展,在酒店行業(yè)中計算機(jī)的應(yīng)用越來越重要,采用適當(dāng)?shù)挠嬎銠C(jī)網(wǎng)絡(luò)和管理系統(tǒng),將成為提高酒店管理效率,升級服務(wù)級別的重要手段之一。目前國內(nèi)主流酒店餐飲管理系統(tǒng)為觸摸屏點菜系統(tǒng),一些小型酒店也配備了類似系統(tǒng),但大多沒有很好地整合網(wǎng)絡(luò)資源,缺少網(wǎng)上預(yù)定功能,因此,對該系統(tǒng)的研究也在不斷完善中。1.1.2意義本項目研究的酒店管理系統(tǒng)有幾個鮮明的特點:一是靈活性好,隨著經(jīng)濟(jì)發(fā)展全球化,國際旅游更加頻繁,客戶的要求更加多樣化,客戶可以在任何地方通過網(wǎng)絡(luò)查看酒店的信息,了解酒店的情況,提出自己的要求,酒店可以通過留言板知道其客戶對酒店的意見或建議,隨時能夠掌握來自客戶方面的需求或要求。二是服務(wù)質(zhì)量高,客戶可以通過系統(tǒng)對已用過的菜品進(jìn)行評價,酒店便可以提高那些評價較低菜品的質(zhì)量或口味,以適應(yīng)更多消費(fèi)者的需求。三是管理效率高,管理員可以通過此系統(tǒng)管理員工信息,知道酒店的運(yùn)營狀況,以及時做出調(diào)整。通過對本項目的研究希望開發(fā)出成本較低,功能完善,以幫助酒店的管理人員實現(xiàn)酒店餐飲的科學(xué)管理的酒店餐飲管理系統(tǒng),客戶可以在網(wǎng)上注冊成為該酒店會員以享受更優(yōu)質(zhì)、便捷的服務(wù),可以瀏覽酒店包桌及菜酒品的種類、價格等,同時這套系統(tǒng)還可以為客戶提供網(wǎng)上預(yù)訂及在線支付的功能。該管理系統(tǒng)還可以為管理員提供財務(wù)統(tǒng)計功能,以及對工作人員的管理等功能。希望此酒店餐飲管理系統(tǒng)的成功開發(fā)能夠方便管理人員對酒店餐飲的管理,提高服務(wù)質(zhì)量和工作效率,使管理者全面了解營業(yè)情況,完善酒店的管理體制。1.2國內(nèi)外發(fā)展情況
隨著信息化技術(shù)的日益普及,餐飲這樣的傳統(tǒng)行業(yè)也越來越多的采用信息技術(shù)來管理業(yè)務(wù),市場上餐飲管理軟件正處于百花齊放、百家爭鳴的階段。目前市場上大多數(shù)餐飲軟件是基于WINDOWS操作系統(tǒng)的,也有部分餐飲軟件考慮到版權(quán)的問題,采用LINUX操作系統(tǒng);又比如,系統(tǒng)數(shù)據(jù)庫,有ACCESS、SYBASE、MYSQL、SQLSERVER、ORACLE等,對于餐飲系統(tǒng)來說,采用什么數(shù)據(jù)庫與餐廳的規(guī)模比較相關(guān),較小的餐廳可以采用比較簡單的數(shù)據(jù)庫如ACCESS,這樣使用維護(hù)都可以做的比較簡單,而規(guī)模大的餐廳就應(yīng)該用SQLSERVER或ORACLE這樣的數(shù)據(jù)庫,可以保障數(shù)據(jù)比較安全、系統(tǒng)比較穩(wěn)定,但同時也要求有專門的系統(tǒng)管理員來維護(hù)。還有,數(shù)據(jù)的錄入通常有三種方式,一是基于普通電腦,二是基于觸摸屏,三是采用無線點菜系統(tǒng),而無線技術(shù)又有基于紅外技術(shù)和無線網(wǎng)絡(luò)的技術(shù)。從目前的發(fā)展趨勢看,餐飲系統(tǒng)越來越多的采用觸摸屏,而無線技術(shù)正在逐步成熟起來。
在國內(nèi),餐飲軟件的發(fā)展也正處于蓬勃發(fā)展的時期,如龍騰環(huán)宇科技,它是一家以軟件開發(fā)、銷售為主營方向的技術(shù)開發(fā)型企業(yè)。龍騰軟件立足于餐飲及酒店客房管理市場,致力于為客戶提供一流的產(chǎn)品及服務(wù),企業(yè)下設(shè)市場拓展部、產(chǎn)品研發(fā)部、公關(guān)策劃部、客戶服務(wù)部等主要職能部門。在國外對餐飲軟件的研究和發(fā)展也相當(dāng)全面,但就目前國內(nèi)餐飲行業(yè)的情況來看,國外軟件的優(yōu)勢并不明顯,相反,國內(nèi)這些餐飲軟件企業(yè)在餐飲行業(yè)蒸蒸日上的同時也是蓬勃發(fā)展。
2系統(tǒng)需求分析 2.1角色設(shè)置本系統(tǒng)角色分為游客,會員和管理員,游客和會員只在前臺網(wǎng)站部分有權(quán)限,管理員對系統(tǒng)后臺部分有權(quán)限。2.2前臺功能前臺主要針對兩類用戶:游客和會員。其中游客只能對酒店菜酒品等信息進(jìn)行瀏覽以及注冊成為酒店會員。而系統(tǒng)為成功注冊并激活的會員提供以下這些功能:會員登錄與退出、個人信息修改、菜酒品信息查看、餐飲預(yù)訂、訂單信息查詢與刪除、菜酒品評論及查看、留言板、積分、近期活動及精彩小游戲等。2.3后臺功能只有管理員才有權(quán)限登錄到后臺,后臺主要包含以下功能模塊:管理員密碼修改:登陸后管理員可以對密碼進(jìn)行修改。會員管理:對會員信息添加、刪除、修改和查詢,評論信息刪除、修改、查詢以及留言信息的刪除、修改和查詢。訂單管理:對訂單信息的分類刪除、修改和查詢,對等待就餐訂單的開臺處理,菜單報表的生成與打印,對正在就餐訂單的結(jié)賬處理以及訂單詳情的查詢。財務(wù)管理:收支記錄以及對酒店盈利情況按日、月或年進(jìn)行統(tǒng)計。餐飲管理:對菜酒品信息進(jìn)行分類添加、刪除、修改和查詢,對菜酒品分類信息的添加、刪除、修改以及對菜酒品圖片信息的添加和修改。系統(tǒng)管理:對系統(tǒng)信息的修改,對廣告信息的修改以及對前臺相應(yīng)位置圖片信息的修改。員工管理:對員工信息按類別進(jìn)行添加、刪除、修改和查詢以及對員工考勤記錄的添加、刪除、修改和查詢。友情鏈接:包含管理員可能經(jīng)常訪問的網(wǎng)址鏈接,其中之一就是酒店的前臺網(wǎng)址。2.4系統(tǒng)用例圖系統(tǒng)用例如圖2-1、圖2-2所示會員注冊會員注冊會員登錄基本信息管理餐飲預(yù)訂與支付訂單管理菜品評論留言會員圖2-1用例圖1管理員登錄管理員登錄會員管理訂單管理財務(wù)管理餐飲管理系統(tǒng)設(shè)置員工管理管理員圖2-2用例圖22.5技術(shù)可行性分析技術(shù)可行性分析是根據(jù)新系統(tǒng)的目標(biāo)來衡量是否具有所需要的技術(shù),包括系統(tǒng)開發(fā)人員水平和數(shù)量,軟件方面,硬件方面及其它應(yīng)用技術(shù)。從各個基于Java的網(wǎng)站系統(tǒng)及許多局域網(wǎng)的建設(shè)中可以看到,目前基于JavaWeb的系統(tǒng)開發(fā)技術(shù)已經(jīng)十分成熟,相信隨著Internet/Intranet技術(shù)的進(jìn)一步發(fā)展,基于JavaWeb的信息系統(tǒng)開發(fā)將有更為明朗的前景。2.6經(jīng)濟(jì)可行性分析經(jīng)濟(jì)可行性分析主要是對開發(fā)新系統(tǒng)所投入的資金與系統(tǒng)投入使用后所帶來的經(jīng)濟(jì)效益進(jìn)行比較,確認(rèn)新系統(tǒng)是否會給企業(yè)帶來一定的經(jīng)濟(jì)效益。開發(fā)此酒店餐飲管理系統(tǒng),不僅能提高酒店的管理水平給管理者提供一個酒店運(yùn)作的信息平臺還能提升酒店的形象及增強(qiáng)競爭力。使用酒店餐飲管理系統(tǒng)能將餐飲企業(yè)業(yè)務(wù)管理和人員管理信息化,使顧客消費(fèi)及員工信息都由計算機(jī)管理并記錄,并為那些時間比較珍貴的顧客提供網(wǎng)上預(yù)訂功能,管理員可隨時掌握酒店里包桌的使用狀況,客人點單,掛賬等情況,并能盡可能的降低使用者的勞動強(qiáng)度,同時提高工作質(zhì)量和效率。用最少的成本獲得最好的經(jīng)濟(jì)效益,增強(qiáng)了餐飲企業(yè)的市場競爭力,可見,回報明顯多于投入。2.7安全可行性在系統(tǒng)運(yùn)行后,就用戶方而言,由于用戶使用本系統(tǒng)時不會也不必關(guān)心系統(tǒng)內(nèi)部的結(jié)構(gòu)及實現(xiàn)方法,即對用戶來說是透明的,所以本系統(tǒng)對用戶而言是定位在界面友好、操作方便、功能齊全的原則上的,用戶只需簡單的用鼠標(biāo)點擊各頁面上的鏈接或按鈕就能執(zhí)行相應(yīng)的功能。訂單支付采用易寶支付的接口,方便安全,打消顧客對網(wǎng)上預(yù)訂資金安全的顧慮。就管理者而言,關(guān)心的是如何處理用戶信息,只要把用戶的信息放入服務(wù)器端的數(shù)據(jù)庫或?qū)iT的數(shù)據(jù)庫服務(wù)器,管理者就可運(yùn)行相應(yīng)的后臺程序進(jìn)行處理。2.8操作可行性目前資源的利用情況和可操作性,只需根據(jù)相關(guān)需要對數(shù)據(jù)庫中的相應(yīng)表數(shù)據(jù)直接操作就可以實現(xiàn)系統(tǒng)的完整、穩(wěn)定的運(yùn)行,不會造成系統(tǒng)的巨大壓力,可以保證系統(tǒng)的正常運(yùn)行。綜上所述,通過技術(shù)可行性,經(jīng)濟(jì)可行性,安全可行性,操作可行性分析,本系統(tǒng)的開發(fā)是可行的。
3系統(tǒng)分析與設(shè)計3.1系統(tǒng)業(yè)務(wù)流程分析本系統(tǒng)角色分為游客,會員和管理員,游客和會員只在前臺網(wǎng)站有權(quán)限,管理員對系統(tǒng)后臺有權(quán)限。是否加入食譜?是否加入食譜?N確認(rèn)并支付訂單退出前臺Y多件預(yù)訂單件預(yù)訂N進(jìn)入前臺Y是否登錄?N是否注冊?是否已注冊?Y激活登錄菜品選擇NYY注冊信息瀏覽是否已激活?N圖3-1系統(tǒng)前臺業(yè)務(wù)流程圖NN后臺登錄是否成功?Y員工信息管理系統(tǒng)信息管理餐飲信息管理會員信息管理財務(wù)信息管理訂單信息管理退出后臺密碼修改友情鏈接圖3-2系統(tǒng)后臺業(yè)務(wù)流程圖3.2數(shù)據(jù)字典數(shù)據(jù)字典是系統(tǒng)中各類數(shù)據(jù)描述的集合,是進(jìn)行詳細(xì)的數(shù)據(jù)的收集和數(shù)據(jù)分析所獲得的主要成果。數(shù)據(jù)字典在數(shù)據(jù)庫設(shè)計中占有很重要的地位。數(shù)據(jù)字典部分如下:表3.1菜酒品信息表caijiu字段名數(shù)據(jù)類型(精度范圍)字段含義其他idint(11)菜酒品編號PKnamevarchar(128)菜酒品名稱nullphotovarchar(128)菜酒品圖片名稱nullpricedouble菜酒品單價nullstatethinint(1)菜酒品狀態(tài)nulldescrivarchar(256)菜酒品描述nullnumint(11)菜酒品銷量nulltypethinint(1)菜酒品類型null表3.2食譜信息表myrecipe字段名數(shù)據(jù)類型(精度范圍)字段含義其他idint(11)食譜編號PKcookieinfovarchar(3996)食譜cookie信息null表3.3訂單詳情信息表orderitem字段名數(shù)據(jù)類型(精度范圍)字段含義其他idint(11)訂單詳情編號PKorder_idvarchar(20)訂單名稱FKcaijiu_idint(11)菜酒品編號FKcaijiunumint(11)菜酒品數(shù)量notnullcategory_idint(11)菜酒品分類編號FK表3.4員工考勤記錄信息表(部分)attence字段名數(shù)據(jù)類型(精度范圍)字段含義其他idint(11)考勤記錄編號PKempidint(11)員工編號notnullreasonvarchar(50)原因描述nulldeadlinevarchar(10)持續(xù)時間nulldatedatetime開始時間null表3.5員工信息表(部分)employee字段名數(shù)據(jù)類型(精度范圍)字段含義其他idint(11)員工編號PKnamevarchar(20)員工姓名nullageint(11)員工年齡nulljobvarchar(20)員工職位nulladdressvarchar(50)員工住址nulltelvarchar(20)聯(lián)系方式nullsalarydouble薪水nullidCardvarchar(18)身份證號null表3.6訂單信息表orders字段名數(shù)據(jù)類型(精度范圍)字段含義其他idvarchar(20)訂單編號PKsubdatedatetime訂單生成時間nulleatdatedatetime就餐時間nulltotaldouble菜酒品總額nullstatethinint(1)訂單狀態(tài)nulluser_idvarchar(256)會員編號FKtable_idint(11)桌位號FK表3.7會員信息表(部分)user字段名數(shù)據(jù)類型(精度范圍)字段含義其他idint(11)會員編號PKemailvarchar(128)登錄郵箱notnullusernamevarchar(128)用戶名nullpasswordvarchar(128)密碼notnullphotovarchar(128)頭像名稱nulltelvarchar(20)聯(lián)系方式nullintergralint(16)積分nullconsumeddouble消費(fèi)總額null表3.8評論信息表(部分)comment字段名數(shù)據(jù)類型(精度范圍)字段含義其他idint(11)評論編號PKcaijiuidint(11)菜酒品編號FKuseridint(11)會員編號FKtimedatetime評論時間nullcontentvarchar(256)評論內(nèi)容null3.3系統(tǒng)概要設(shè)計概要設(shè)計是一種面向?qū)ο蟮臄?shù)據(jù)模型,是按照用戶的觀點來對數(shù)據(jù)和信息建模。它描述了從用戶角度看到的數(shù)據(jù),它反映了用戶的實現(xiàn)環(huán)境,這種方法用ER圖描述現(xiàn)實世界中的實體,而不涉及這些實體在系統(tǒng)中的方法。概要設(shè)計中最著名的方法就是實體聯(lián)系方法(ER方法),建立ER模型,用ER圖表示概念結(jié)構(gòu),得到數(shù)據(jù)庫的概念模型。ER模型中包含“實體”,“聯(lián)系”和“屬性”。本系統(tǒng)的關(guān)鍵實體有菜酒品,會員,食譜,訂單,訂單詳情,評論,收支等。部分實體ER圖如圖3-3、圖3-4、圖3-5、圖3-6、圖3-7、圖3-8及圖3-9所示。(1)菜酒品實體菜酒品實體包括菜酒品編號、菜酒品名稱、圖片名稱、單價、狀態(tài)、描述、銷量、類型等屬性。其中菜酒品編號為菜酒品實體的主鍵。菜酒品菜酒品編號單價菜酒品菜酒品編號單價菜酒品名稱圖片名稱銷量狀態(tài)描述類型圖3-3菜酒品實體E-R圖(2)會員實體 會員實體包括會員編號、登錄郵箱、用戶名、密碼、頭像名稱、性別、聯(lián)系方式、級別、鎖定狀態(tài)、積分、積分更新時間、消費(fèi)總額、隨機(jī)碼等屬性。其中會員編號為會員實體的主鍵。會員會員編號密碼會員會員編號密碼登錄郵箱用戶名積分性別級別隨機(jī)碼頭像名稱聯(lián)系方式鎖定狀態(tài)消費(fèi)總額積分更新時間圖3-4會員實體E-R圖(3)食譜實體 食譜實體包含食譜編號、cookie信息等實體。其中食譜編號為食譜實體的主鍵,食譜實體與會員實體主鍵共享,為一對一關(guān)系,cookie信息屬性指的是會員食譜(相當(dāng)于購物車)字符串信息,該信息是由會員添加菜酒品編號、分類和數(shù)量拼接組成。會員編號Cookie信息食譜會員編號Cookie信息食譜圖3-5食譜實體E-R圖(4)訂單實體訂單實體包含訂單編號、提交時間、就餐時間、狀態(tài)、總額、用戶編號、桌位號等屬性,其中訂單編號為訂單實體的主鍵,是由訂單生成時間與用戶編號組合生成,用戶編號和桌位號分別為訂單實體的外鍵。訂單訂單訂單編號狀態(tài)總額桌位號就餐時間提交時間用戶編號圖3-6訂單實體E-R圖(5)訂單詳情實體訂單詳情實體包括訂單詳情編號、訂單編號、菜酒品編號、菜酒品數(shù)量、菜酒品分類編號等屬性,其中訂單詳情編號為訂單詳情實體的主鍵,訂單編號、用戶編號和桌位號分別為其外鍵,訂單實體與訂單詳情實體為一對多關(guān)系。訂單詳情編號菜酒品編號訂單編號用戶編號訂單詳情菜酒品分類菜酒品數(shù)量訂單詳情編號菜酒品編號訂單編號用戶編號訂單詳情菜酒品分類菜酒品數(shù)量圖3-7訂單詳情實體E-R圖(5)評論實體評論實體包括評論編號、會員編號、菜酒品編號、評論內(nèi)容、評論時間等屬性,其中評論編號為評論實體的主鍵,會員編號和菜酒品編號分別為評論實體的外鍵,會員實體與評論實體為多對多關(guān)系,菜酒品實體與評論實體為一對多關(guān)系。評論編號評論編號評論會員編號菜酒品編號圖3-8收支實體E-R圖(6)收支實體收支實體包括記錄編號、日期、類型、總額、描述等屬性,其中記錄編號為收支實體的主鍵,類型屬性用于標(biāo)識是收入還是支出。收支記錄編號日期類型描述總額收支記錄編號日期類型描述總額圖3-9評論實體E-R圖3.4系統(tǒng)物理設(shè)計圖3-10物理模型圖3.5詳細(xì)設(shè)計如圖3-11所示,以“.java”結(jié)尾的文件為系統(tǒng)開發(fā)涉及到用于業(yè)務(wù)邏輯處理的類文件,它們均在com.jdcy.web.action這個包下。其中RegisterAction.java主要用于用戶注冊與激活,LoginAction.java主要用于用戶登錄、退出與密碼修改,MloginAction.java用于管理員登錄、登出與密碼修改,PreparedAction.java用于前臺網(wǎng)站信息(酒店名字、電話、廣告等)的顯示,ProfileAction.java用于個人信息的顯示與修改,CanyinAction.java用于前臺菜酒品信息顯示、搜索與單件詳情查詢顯示,OrderAction.java提供預(yù)訂功能、支付功能、評論功能,后臺管理員管理主要通過ManageAction.java與Manage1Action.java來完成。圖3-11類文件
4系統(tǒng)功能與實現(xiàn)4.1系統(tǒng)開發(fā)環(huán)境開發(fā)工具:MyEclipse、服務(wù)器:Tomcat、數(shù)據(jù)庫:MySql4.2系統(tǒng)開發(fā)環(huán)境的配置首先應(yīng)把java運(yùn)行環(huán)境jdk裝到用于開發(fā)的電腦上,并為其配置好環(huán)境變量,其次再安裝服務(wù)器tomcat(注意:安裝tomcat時,不應(yīng)有中文路徑),再次是安裝開發(fā)工具M(jìn)yEclipse,并為其配置好相應(yīng)的屬性參數(shù)。同時還要確保此電腦上裝有盡可能多的不同內(nèi)核的瀏覽器(用于測試網(wǎng)頁兼容性)。4.3系統(tǒng)運(yùn)行環(huán)境4.3.1硬件環(huán)境服務(wù)端服務(wù)器端的最低配置是由建立站點所需的軟件來決定的,在最低配置的情況下,服務(wù)器的往往不盡如人意,現(xiàn)在的硬件性能已經(jīng)相當(dāng)出色,而且價格也很便宜,因此通常應(yīng)給服務(wù)器端配置高性能的硬件。處理器:InterCore22.10GHz或更高內(nèi)存:2GB硬盤空間:160GB顯卡:SVAG顯示適配器。用戶端因為客戶端主要用于瀏覽和操作數(shù)據(jù),所以對客房端的硬件要求不高,不過現(xiàn)在的電腦很高的性價比,因此需要的配置應(yīng)該高于下面的配置:處理器:InterPentium4.0GHz或更高內(nèi)存:512MB硬盤空間:80GB顯卡:SVAG顯示適配器。4.3.2軟件環(huán)境服務(wù)器端操作系統(tǒng):Windows2003Server或者更高版本網(wǎng)絡(luò)協(xié)議:TCP/IPWeb服務(wù)器:Tomcat5.X及以上版本數(shù)據(jù)庫:MySQL瀏覽器:InternetExplorer6.0以上用戶端操作系統(tǒng):Windows98/2000/XP/win7/win8網(wǎng)絡(luò)協(xié)議:TCP/IP瀏覽器:InternetExplorer6.0以上4.4會員注冊顧客若想擁有更多權(quán)限,享受更優(yōu)質(zhì)的服務(wù)需注冊成為會員,注冊會員需要用自己的真實郵箱,為了防止有人惡意注冊,本系統(tǒng)采用郵箱激活的方式來激活會員,沒有激活的會員不能登錄。會員注冊界面如圖4-1所示。圖4-1會員注冊界面4.5會員登錄沒有登錄的會員只能夠瀏覽前臺網(wǎng)站的信息,若要預(yù)訂或操作個人信息則需登錄系統(tǒng),登錄需要輸入正確的郵箱及密碼,成功登錄后,用戶信息便被放入session中,以便其他模塊獲得該用戶基本信息。會員登錄界面分為首頁直接登錄板塊,如圖4-2所示,和彈出層登錄板塊,如圖4-3所示。圖4-2會員登錄界面1圖4-3會員登錄界面24.6前臺菜酒品信息顯示系統(tǒng)采用圖文的方式分類顯示菜酒品信息,使顧客能更直觀、方便了解菜酒品,同時設(shè)有搜索欄,能實現(xiàn)模糊搜索,使顧客能夠快速查找到自己想預(yù)訂的菜酒品。當(dāng)單擊某件菜酒品的預(yù)訂按鈕,就會跳到該菜酒品詳情頁面,即單件預(yù)訂頁面。還可以全選或多選集體加入我的食譜(購物車),以便多件菜酒品集體預(yù)訂。菜酒品信息顯示界面如圖4-4所示。圖4-4菜酒品信息顯示界面4.4會員個人中心個人中心模塊主要為用戶提供餐豆(積分)免費(fèi)領(lǐng)取、訂單提醒以及小游戲等功能,當(dāng)本日首次點擊領(lǐng)取餐豆按鈕時,系統(tǒng)就會給此用戶添加相應(yīng)數(shù)量的餐豆,當(dāng)再次點擊或刷新頁面時,就不再為其添加,同時提示用戶“今日已領(lǐng)”等信息。個人中心界面如圖4-5所示。圖4-5個人中心界面4.5會員信息修改信息修改主要用于用戶密碼、頭像等信息的修改。信息修改界面如圖4-6所示。圖4-6會員信息修改界面4.6預(yù)訂預(yù)訂功能包括單件預(yù)訂、多件預(yù)訂與支付,單件預(yù)訂直接預(yù)訂即可,多件預(yù)訂需要先將菜酒品信息添加到我的食譜后再預(yù)訂,預(yù)訂成功后進(jìn)入支付頁面,選擇銀行進(jìn)行支付,此過程采用易寶支付接口。相應(yīng)界面如圖4-7、圖4-8所示。圖4-7單件預(yù)訂界面圖4-8訂單支付界面4.7后臺登錄管理員對系統(tǒng)進(jìn)行管理首先需要登錄系統(tǒng),為了增加系統(tǒng)的安全系數(shù),本系統(tǒng)的管理員密碼采用字母與數(shù)字組合,至少八位,并且采用MD5加密處理。后臺登錄界面如圖4-9所示。圖4-9后臺登錄界面4.8會員管理管理員可以對會員信息進(jìn)行添加、刪除、修改與查詢等處理,會員管理界面如圖4-10所示。圖4-10會員信息管理界面4.9訂單管理管理員可以對不同狀態(tài)的訂單進(jìn)行管理,包括開臺、報表打印、結(jié)賬及訂單詳情查詢等處理,訂單管理部分界面如圖4-11所示。 圖4-11訂單管理界面 4.10財務(wù)管理管理員可以對收支信息進(jìn)行記錄以及統(tǒng)計管理,可以分別按日、月、年進(jìn)行統(tǒng)計。財務(wù)管理界面如圖4-12所示。圖4-12財務(wù)管理界面4.11菜酒品管理管理員可以對菜酒品信息進(jìn)行添加、刪除、修改與查詢等操作,菜酒品管理界面如圖4-13所示。圖4-13菜酒品管理界面4.12系統(tǒng)設(shè)置管理員可以對系統(tǒng)信息(如酒店名稱、電話、服務(wù)協(xié)議內(nèi)容、地址、廣告信息等)進(jìn)行設(shè)置,界面一如圖4-14所示。圖4-14系統(tǒng)信息設(shè)置界面4.13員工管理管理員可以對員工基本信息進(jìn)行添加、刪除、修改與查詢等進(jìn)行操作,還可以對員工考勤進(jìn)行記錄。考勤記錄界面如圖4-15所示。圖4-15員工考勤界面
5系統(tǒng)測試 5.1測試的作用和意義系統(tǒng)測試是系統(tǒng)開發(fā)周期中的一個非常重要環(huán)節(jié)。盡管在系統(tǒng)開發(fā)周期的各個階段均采取了嚴(yán)格的技術(shù)審查,但依然難免會留下錯誤,如果系統(tǒng)的一些漏洞或錯誤在投入運(yùn)行之前的系統(tǒng)檢測階段沒有發(fā)現(xiàn)并糾正,這些問題在運(yùn)行階段是遲早會暴露出來的,到那時要糾正錯誤將會付出更大的代價。系統(tǒng)測試占用的時間、花費(fèi)的人力和成本占軟件開發(fā)的很大比例。統(tǒng)計表明,開發(fā)較大規(guī)模的系統(tǒng),系統(tǒng)測試的工作量大約占整個軟件開發(fā)工作量的40%-50%。而對于一些特別重要的大系統(tǒng),測試的工作量和成本更大,甚至超過系統(tǒng)開發(fā)其他各階段的總和的若干倍。5.2測試方法5.2.1單元測試對于小系統(tǒng),在編碼過程中,最常用的是單元測試。單元測試是在軟件開發(fā)過程中要進(jìn)行的最低級別的測試活動,在單元測試活動中,軟件的獨立單元將在與程序的其他部分相隔離的情況下進(jìn)行測試。單元測試不僅僅是作為無錯編碼一種輔助手段在一次性的開發(fā)過程中使用,單元測試必須是可重復(fù)的,無論是在軟件修改,或是移植到新的運(yùn)行環(huán)境的過程中。因此,所有的測試都必須在整個軟件系統(tǒng)的生命周期中進(jìn)行維護(hù)。5.2.2功能測試系統(tǒng)功能測試最常見的兩種方法是黑盒測試和白盒測試,黑盒測試也稱功能測試,將軟件看作黑盒子,在完全不考慮程序的內(nèi)部結(jié)構(gòu)和特性的情況下,研究軟件的外部特性。根據(jù)軟件的需求規(guī)格說明書測試用例,從程序的輸入和輸出特性上測試是否滿足設(shè)定的功能。白盒測試也稱結(jié)構(gòu)測試,將軟件看作一個透明的白盒子,按照程序的內(nèi)部結(jié)構(gòu)和處理邏輯來選定測試用例,對軟件的邏輯路徑及過程進(jìn)行測試,檢查與測試是否相符。5.3系統(tǒng)測試下面對本餐飲管理系統(tǒng)進(jìn)行黑盒測試,以檢查系統(tǒng)能否正確完成各種操作,是否能夠?qū)崿F(xiàn)預(yù)期具有的功能。5.3.1管理員登錄測試要進(jìn)入后臺管理必須先登錄,當(dāng)輸入用戶名、密碼或者驗證碼任意一項有誤或者為空時都會提示登錄失敗,如圖5-2所示。圖5-1管理員登錄界面圖5-2登錄失敗5.3.2刪除操作測試不論是管理員還是普通會員對一些數(shù)據(jù)進(jìn)行刪除操作時,系統(tǒng)會提示是否真的要刪除此項或多項,若點取消則不進(jìn)行刪除操作,這樣的設(shè)計有利于避免管理員或會員的誤操作。如圖7-3所示。圖5-3刪除操作5.3.3添加/更新操作測試當(dāng)會員或者管理員對相應(yīng)信息進(jìn)行添加/修改時,若添加/修改成功則提示添加/修改成功,若添加/修改失敗則也有相應(yīng)的提示,這樣便使會員或管理員了解當(dāng)前添加/修改操作是否成功,用戶體驗更加友好。如圖7-4所示。圖5-4更新操作5.3.4數(shù)據(jù)校驗測試不論前臺界面還是后臺界面,當(dāng)有信息輸入并且該輸入項不能為空或者數(shù)據(jù)格式有要求時,系統(tǒng)都對其進(jìn)行數(shù)據(jù)校驗并作相應(yīng)提示。如圖5-5、圖5-6所示。圖5-5會員登錄校驗圖5-6后臺數(shù)據(jù)校驗5.3.5測試結(jié)果測試目標(biāo)已完成,測試通過。
6總結(jié)經(jīng)過這段時間的精心設(shè)計,系統(tǒng)已基本完成,實現(xiàn)了餐飲管理系統(tǒng)的基本功能,包括餐飲信息的管理、餐飲預(yù)訂、訂單信息管理、會員信息管理、員工信息管理等主要功能,界面友好,操作簡單方便。但酒店餐飲管理系統(tǒng)是一個龐大的工程,要使網(wǎng)絡(luò)交互功能的實現(xiàn),腳本的設(shè)計,網(wǎng)頁的構(gòu)架,網(wǎng)頁的美工,文字的編輯,非一朝一夕可盡善盡美的,這需要一個長期的摸索與完善過程,同時還要對在實踐中發(fā)現(xiàn)與操作者使用要求不相符合的地方進(jìn)行修改。系統(tǒng)功能雖已基本實現(xiàn),但仍有諸多地方需要優(yōu)化完善。譬如,會員注冊模塊,發(fā)送電子郵件激活賬戶的功能還不完善,暫時不能完成激活,需要管理員從數(shù)據(jù)庫修改locked字段完成激活。還有就是后臺管理系統(tǒng)目前只實現(xiàn)了信息查詢與現(xiàn)實功能,由于時間倉促還為實現(xiàn)刪除刪、改功能。在一些模塊設(shè)計中,有的設(shè)計思路沒有考慮進(jìn)去,在以后的時間里還要加以補(bǔ)充,還有些細(xì)節(jié)的地方也需要進(jìn)一步修改和完善。
參考文獻(xiàn)[1]吳敏.saas餐飲管理系統(tǒng)的分析與開發(fā)[J].太原:太原理工大學(xué),2008[2]彭偉民.基于需求的酒店管理系統(tǒng)的建模與實現(xiàn)[J].微機(jī)發(fā)展,2005年10期[3]杜艷增.酒店信息管理系統(tǒng)的WebService化[J].濟(jì)寧學(xué)院學(xué)報,2008年06期[4]劉敬.Delphi住宿餐飲管理系統(tǒng)開發(fā)實例導(dǎo)航[M].北京:人民郵電出版社,2003[5]侯炳輝.信息管理系統(tǒng)[M].北京:中央廣播電視大學(xué)出版社,2001[6](美)BruceEckel.Java編程思想.陳昊鵬譯[M].北京:機(jī)械工業(yè)出版社,2007[7]薩師煊.數(shù)據(jù)庫系統(tǒng)概論(第三版)[M].北京:高等教育出版社,2004[8](美)BruceA.Tate.PersistenceinSpring[M].北京:清華大學(xué)出版社,2006[9]施伯樂,丁寶康,汪衛(wèi).?dāng)?shù)據(jù)庫系統(tǒng)教程[M].北京:高等教育出版社,2003[10]楊羨蓮.餐飲業(yè)營銷[J].廣州市財貿(mào)管理干部學(xué)院學(xué)報,1991(4)[11]張孝祥,張紅梅.JavaScript網(wǎng)頁開發(fā)[M].北京:清華大學(xué)出版社,2007
致謝河北農(nóng)業(yè)大學(xué)的兩年的生活即將畫上一個圓滿的句號,此刻的我思緒萬千。無論此刻是什么心情我首先要感謝我的各科老師對我這兩年的培養(yǎng)與關(guān)心,我不是您們最出色的學(xué)生,但您們卻是我最尊敬的老師。感謝您們在學(xué)術(shù)上給我的諄諄教誨,在我成長的道路上給予我的無私引導(dǎo)。其次,我要感謝我的導(dǎo)師張老師,感謝她對我論文撰寫的指導(dǎo)和幫助。附錄用戶注冊代碼:publicActionForwardregUser(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse){ //從該action對應(yīng)的表單中取出數(shù)據(jù) UserFormuserForm=(UserForm)form; //查詢數(shù)據(jù)庫,驗證有無當(dāng)前提交的email,若有則不能注冊 Listlist=userService.getResult("fromUserwhereemail=?", newObject[]{userForm.getEmail()}); //防止重復(fù)提交 HttpSessionsession=request.getSession(); Stringtoken=request .getParameter("org.apache.struts.taglib.html.TOKEN"); Stringtoken2=(String)session .getAttribute(org.apache.struts.Globals.TRANSACTION_TOKEN_KEY); session.removeAttribute(Globals.TRANSACTION_TOKEN_KEY); //判斷是否重復(fù)提交或者是所填郵箱是否已被注冊 if(!token.equals(token2)||list.size()!=0){ request.setAttribute("message","您已注冊成功或該郵箱已被注冊,請登錄!"); returnmapping.findForward("backUI"); } StringcheckCode=request.getParameter("checkcode"); StringranCode=(String)session.getAttribute("random"); if(checkCode.equalsIgnoreCase(ranCode)){ MD5md5=newMD5(); //取出的目的是把用戶保存到數(shù)據(jù)庫 Useruser=newUser(); user.setEmail(userForm.getEmail()); user.setUsername(userForm.getUsername()); user.setPassword((md5.getMD5ofStr(userForm.getPassword()))); //user.setPhoto(userForm.getPhoto()); user.setTel(userForm.getTel()); user.setSex(userForm.getSex()); //為用戶生成一個隨機(jī)碼,用戶激活驗證 user.setRandomCode(UUID.randomUUID().toString()); //保存用戶 Transactionts=null; Sessionhsession=null; try{ hsession=sessionFactory.openSession(); ts=hsession.beginTransaction(); hsession.save(user); //初始化我的食譜購物車 Myreciperecipe=newMyrecipe(); recipe.setId(user.getId()); hsession.save(recipe); //注冊成功后,發(fā)送賬戶激活鏈接 SendMailsendmail=newSendMail(); sendmail.setHost("SMTP."); sendmail.setUserName("1095856572@"); sendmail.setPassWord("fengbaocnr"); sendmail.setTo(user.getEmail()); sendmail.setFrom("1095856572@"); sendmail.setSubject("賬戶激活"); sendmail .setContent("http://localhost:8080/Jdcy/register.do?flag=activateUser&id=" +user.getId() +"&" +"checkCode=" +UserActivate.generateCheckcode(user)); sendmail.sendMail(); request.getSession().setAttribute("loginuser",user); Stringmsg="恭喜您!注冊成功!請查看您的郵箱已激活賬戶!"; request.setAttribute("msg",msg); }catch(Exceptione){ Stringmsg="對不起,激活郵件發(fā)送失敗,請檢查您的郵箱是否正確填寫!"; request.setAttribute("msg",msg); returnmapping.findForward("toActivateLink"); } mit(); hsession.close(); returnmapping.findForward("toActivateLink"); }else{ Stringcheckmsg="驗證碼輸入有誤!"; request.setAttribute("checkmsg",checkmsg); returnmapping.findForward("regUI"); }}用戶登錄代碼:publicActionForwardlogin(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse){ MD5md5=newMD5(); UserFormuserForm=(UserForm)form; Useruser=newUser(); Stringemail=userForm.getEmail(); Stringpassword=userForm.getPassword(); if(email!=null&&password!=null){ user.setEmail(email); user.setPassword(md5.getMD5ofStr(password)); user=userService.check(user);//將創(chuàng)建的對象傳給check方法,之后此對象已經(jīng)沒有用了,故可以重復(fù)利用這個對象接收check返回的Users對象,不用再去new一個?。。? if(user!=null){ //用戶合法,把用戶bean放到session域?qū)ο笾腥? request.getSession().setAttribute("loginuser",user); //防止重復(fù)提交,創(chuàng)建token this.saveToken(request); //若用戶已經(jīng)激活 if(user.getLocked()==1){ //為顯示菜酒品信息準(zhǔn)備數(shù)據(jù) Listcaipin=canyinService.getResult("fromCaijiuwheretype=?",newObject[]{Short.valueOf(1+"")}); intcurPage=1; inttotalPage=0; intprePage=cur1; intnextPage=curPage+1; Mapmap=PageUtils.Page(curPage,prePage,nextPage,totalPage,6,1,caipin,"canyin","homeCyUI"); //通過工具類設(shè)置導(dǎo)航條 Stringstr=map.get("sb").toString(); //設(shè)置每次取幾個 Listsubcaipin=(List)map.get("sub"); //得到總頁數(shù) inttPage=(Integer)map.get("totalpage"); intsize=caipin.size(); //向頁面?zhèn)鬟f參數(shù) if(subcaipin!=null){ request.setAttribute("subcaipin",subcaipin); request.setAttribute("size",size); } intzeng=(cur1)*6; request.setAttribute("totalPage",tPage); request.setAttribute("curPage",curPage); request.setAttribute("str",str); returnmapping.findForward("loginOK"); }else{ returnmapping.findForward("toActivateLink"); } } //用戶不合法 returnmapping.findForward("loginNO"); } returnmapping.findForward("loginNO");}餐飲預(yù)訂代碼:publicActionForwardorderMany(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse){ //TODOAuto-generatedmethodstub OrderFormorderForm=(OrderForm)form; //生成訂單號 SimpleDateFormatsdf=newSimpleDateFormat("yyyyMMddHHmmss"); Datedate=newDate(); Useruser=(User)request.getSession().getAttribute("loginuser"); intuserid=user.getId(); Stringorderid=sdf.format(date)+userid; //System.out.println(orderid); //訂單生成時間 Datesubdate=newDate(); //就餐時間 SimpleDateFormatsdf1=newSimpleDateFormat("yyyy-MM-ddHH:mm"); Stringorderdate=orderForm.getOrderdate(); Stringordertime=orderForm.getOrdertime(); Dateeatdate=null; try{ eatdate=sdf1.parse(orderdate+""+ordertime); }catch(ParseExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } Stringcaijiuidstr=orderForm.getCaijiuid(); Stringcategorystr=orderForm.getCategoryid(); Stringcaijiunumstr=orderForm.getCaijiunum(); Stringcaijiupricestr=orderForm.getCaijiuprice(); String[]cidarr=caijiuidstr.split("!"); String[]catearr=categorystr.split("!"); String[]cnumarr=caijiunumstr.split("!"); String[]cpricearr=caijiupricestr.split("!"); Transactionts=null; Sessionsession=null; response.setCharacterEncoding("utf-8"); PrintWriterpw=null; try{ pw=response.getWriter(); }catch(IOExceptione1){ //TODOAuto-generatedcatchblock e1.printStackTrace(); } doubletotal=0; try{ session=sessionFactory.openSession(); ts=session.beginTransaction(); for(inti=1;i<cidarr.length;i++){ intcaijiuid=Integer.parseInt(cidarr[i]); intcategoryid=Integer.parseInt(catearr[i]); intcaijiunum=Integer.parseInt(cnumarr[i]); doublecaijiuprice=Double.parseDouble(cpricearr[i]); //將數(shù)據(jù)封裝成orderitem Orderitemorderitem=newOrderitem(); orderitem.setOrderId(orderid); orderitem.setCaijiuId(caijiuid); orderitem.setCaijiunum(caijiunum); orderitem.setCategoryId(categoryid); session.save(orderitem); total=DoubleUtils.add(total,DoubleUtils.mul(caijiuprice,caijiunum)); } //System.out.println(total); //將數(shù)據(jù)封裝成orders Ordersorder=newOrders(); order.setSubdate(subdate); order.setEatdate(eatdate); order.setState(Short.parseShort("0")); order.setTotal(total); order.setUserId(userid); order.setId(orderid); session.save(order); }catch(Exceptione){ System.out.println("生成單件訂單發(fā)生異常!"); pw.write("error"); pw.flush(); pw.close(); returnnull; } mit(); session.close(); pw.write(orderid); returnnull;}餐飲管理代碼://餐飲管理部分 @SuppressWarnings("unchecked") publicActionForwardcpLoad(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse){ response.setCharacterEncoding("utf-8"); Stringtype=request.getParameter("type"); Listcaipin=canyinService.getResult("fromCaijiuwheretype=?",newObject[]{Short.valueOf(type)}); JSONObjectjsonObj=newJSONObject(); Mapmap=newHashMap(); Listlist=newArrayList(); for(inti=0;i<caipin.size();i++){ Caijiucj=(Caijiu)caipin.get(i); Mapm=newHashMap(); m.put("id",cj.getId()); m.put("name",cj.getName()); m.put("price",cj.getPrice()); m.put("descri",cj.getDescri()); m.put("num",cj.getNum()); m.put("type",cj.getType()); m.put("state",cj.getState()); list.add(m); } map.put("total",caipin.size()); map.put("rows",list); try{ PrintWriterout=response.getWriter(); out.write(jsonObj.fromObject(map).toString()); out.flush(); out.close(); }catch(IOExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } returnnull; } //給修改圖片的form加載數(shù)據(jù) @SuppressWarnings("unchecked") publicActionForwardtoUpdPhoto(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse){ response.setCharacterEncoding("utf-8"); Listcaipin=canyinService.getResult("fromCaijiu",null); request.setAttribute("caipin",caipin); returnmapping.findForward("toUpdPhotoUI"); } //修改餐飲信息圖片 @SuppressWarnings("unchecked") publicActionForwardUpdPhoto(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse){ response.setCharacterEncoding("utf-8"); ManagerFormmngForm=(ManagerForm)form; FormFilephoto=mngForm.getImgfile(); Stringid=request.getParameter("caipinid"); StringnewImage=MyUtils.uploadcjPhoto(request,photo,id); Caijiucaijiu=(Caijiu)canyinService.findById(Caijiu.class,Integer.parseInt(id)); caijiu.setPhoto(newImage); canyinService.update(caijiu); Stringmsg=""; if(newImage==null||"".equals(newImage)){ msg="圖片添加失敗!"; }else{ msg="圖片添加成功!"; } try{ PrintWriterpw=response.getWriter(); pw.write(msg); pw.flush(); pw.close(); }catch(IOExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } returnnull; } //添加菜品信息 publicActionForwardcpInsert(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse){ Stringinserted=request.getParameter("inserted"); //updated格式:[{"id":2,"num":9,"price":"1666.0","descri":"","name":"木須肉66"},{"id":3,"num":12,"price":"1566.0","descri":"","name":"紅燒肉66"}] JSONArrayjsonarr=JSONArray.fromObject(inserted); intflag=0; try{ for(inti=0;i<jsonarr.size();i++){ Mapmap=(Map)jsonarr.get(i); //Integerid=(Integer)map.get("id"); Stringname=(String)map.get("name"); Doubleprice=Double.parseDouble(String.valueOf(map.get("price"))); Stringdescri=(String)map.get("descri"); Integernum=Integer.parseInt(String.valueOf(map.get("num"))); Shorttype=Short.parseShort(String.valueOf(map.get("type"))); Shortstate=Short.parseShort(String.valueOf(map.get("state"))); Caijiucaijiu=newCaijiu(); //caijiu.setId(id); caijiu.setName(name); caijiu.setPrice(price); caijiu.setDescri(descri); caijiu.setNum(num); caijiu.setType(type); caijiu.setState(state); canyinService.save(caijiu); flag++; } }catch(Exceptione){ System.out.println("添加數(shù)據(jù)出現(xiàn)異常!"); } if(flag!=0){ try{ PrintWriterrpw=response.getWriter(); rpw.write(flag+""); rpw.flush(); rpw.close(); }catch(IOExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } returnnull; } //刪除菜品信息 publicActionForwardcpDelete(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse){ Stringdeleted=request.getParameter("deleted"); JSONArrayjsonarr=JSONArray.fromObject(deleted); intflag=0; try{ for(inti=0;i<jsonarr.size();i++){ Mapmap=(Map)jsonarr.get(i); Integerid=(Integer)map.get("id"); Caijiucaijiu=(Caijiu)canyinService.findById(Caijiu.class,id); if(caijiu!=null){ userService.delete(caijiu); flag++; } } }catch(Exceptione){ System.out.println("刪除數(shù)據(jù)出現(xiàn)異常!"); } if(flag!=0){ try{ PrintWriterrpw=response.getWriter(); rpw.write(flag+""); rpw.flush(); rpw.close(); }catch(IOExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } returnnull; } //更新菜品信息 publicActionForwardcpUpdate(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse){ Stringupdated=request.getParameter("updated"); JSONArrayjsonarr=JSONArray.fromObject(updated); intflag=0; try{ for(inti=0;i<jsonarr.size();i++){ Mapmap=(Map)jsonarr.get(i); Integerid=(Integer)map.get("id"); Stringname=(String)map.get("name"); Doubleprice=Double.parseDouble(String.valueOf(map.get("price"))); Stringdescri=(String)map.get("descri"); Integernum=Integer.parseInt(String.valueOf(map.get("num"))); Shorttype=Short.parseShort(String.valueOf(map.get("type"))); Shortstate=Short.parseShort(String.valueOf(map.get("state"))); Caijiucaijiu=newCaijiu(); caijiu.setId(id); caijiu.setName(name); caijiu.setPrice(price); caijiu.setDescri(descri); caijiu.setNum(num); caijiu.setType(type); caijiu.setState(state); canyinService.update(caijiu); flag++; } }catch(Exceptione){ System.out.println("更新數(shù)據(jù)出現(xiàn)異常!"); } if(flag!=0){ try{ PrintWriterrpw=response.getWriter(); rpw.write(flag+""); rpw.flush(); rpw.close(); }catch(IOExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } returnnull;}基于C8051F單片機(jī)直流電動機(jī)反饋控制系統(tǒng)的設(shè)計與研究基于單片機(jī)的嵌入式Web服務(wù)器的研究MOTOROLA單片機(jī)MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機(jī)溫度控制系統(tǒng)的研制基于MCS-51系列單片機(jī)的通用控制模塊的研究基于單片機(jī)實現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機(jī)控制的二級倒立擺系統(tǒng)的研究基于增強(qiáng)型51系列單片機(jī)的TCP/IP協(xié)議棧的實現(xiàn)基于單片機(jī)的蓄電池自動監(jiān)測系統(tǒng)基于32位嵌入式單片機(jī)系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機(jī)的作物營養(yǎng)診斷專家系統(tǒng)的研究基于單片機(jī)的交流伺服電機(jī)運(yùn)動控制系統(tǒng)研究與開發(fā)基于單片機(jī)的泵管內(nèi)壁硬度測試儀的研制基于單片機(jī)的自動找平控制系統(tǒng)研究基于C8051F040單片機(jī)的嵌入式系統(tǒng)開發(fā)基于單片機(jī)的液壓動力系統(tǒng)狀態(tài)監(jiān)測儀開發(fā)模糊Smith智能控制方法的研究及其單片機(jī)實現(xiàn)一種基于單片機(jī)的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機(jī)的在線間歇式濁度儀的研制基于單片機(jī)的噴油泵試驗臺控制器的研制基于單片機(jī)的軟起動器的研究和設(shè)計基于單片機(jī)控制的高速快走絲電火花線切割機(jī)床短循環(huán)走絲方式研究基于單片機(jī)的機(jī)電產(chǎn)品控制系統(tǒng)開發(fā)基于PIC單片機(jī)的智能手機(jī)充電器基于單片機(jī)的實時內(nèi)核設(shè)計及其應(yīng)用研究基于單片機(jī)的遠(yuǎn)程抄表系統(tǒng)的設(shè)計與研究基于單片機(jī)的煙氣二氧化硫濃度檢測儀的研制基于微型光譜儀的單片機(jī)系統(tǒng)單片機(jī)系統(tǒng)軟件構(gòu)件開發(fā)的技術(shù)研究基于單片機(jī)的液體點滴速度自動檢測儀的研制基于單片機(jī)系統(tǒng)的多功能溫度測量儀的研制基于PIC單片機(jī)的電能采集終端的設(shè)計和應(yīng)用基于單片機(jī)的光纖光柵解調(diào)儀的研制氣壓式線性摩擦焊機(jī)單片機(jī)控制系統(tǒng)的研制基于單片機(jī)的數(shù)字磁通門傳感器基于單片機(jī)的旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器的研究基于單片機(jī)的光纖Bragg光柵解調(diào)系統(tǒng)的研究單片機(jī)控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機(jī)的多生理信號檢測儀基于單片機(jī)的電機(jī)運(yùn)動控制系統(tǒng)設(shè)計Pico專用單片機(jī)核的可測性設(shè)計研究基于MCS-51單片機(jī)的熱量計基于雙單片機(jī)的智能遙測微型氣象站MCS-51單片機(jī)構(gòu)建機(jī)器人的實踐研究基于單片機(jī)的輪軌
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度航空航天行業(yè)勞務(wù)派遣公司合作協(xié)議
- 2025年度跨區(qū)域產(chǎn)業(yè)鏈協(xié)同發(fā)展合作協(xié)議補(bǔ)充協(xié)議
- 二零二五年度物流行業(yè)實習(xí)生勞動合同
- 2025年度美容美發(fā)店鋪次轉(zhuǎn)租經(jīng)營合同
- 2025年度自愿放棄小孩撫養(yǎng)權(quán)及子女財產(chǎn)權(quán)益保護(hù)協(xié)議
- 二零二五年度荒山荒地個人土地承包開發(fā)合同
- 二零二五年度個人藝術(shù)創(chuàng)作借款合同激發(fā)創(chuàng)意無限
- 二零二五年度抵押車交易合同簽訂風(fēng)險預(yù)判與應(yīng)對措施
- 電子支付技術(shù)的崛起對生活的影響
- 家政服務(wù)人員聘用及保險配套協(xié)議(2025年度)
- 企業(yè)反商業(yè)賄賂法律法規(guī)培訓(xùn)
- 2023合同香港勞工合同
- 玻璃體腔注射-操作流程和注意事項(特選參考)課件
- 材料化學(xué)課件
- 智能傳感器芯片
- -《多軸數(shù)控加工及工藝》(第二版)教案
- 智能交通概論全套教學(xué)課件
- 生物醫(yī)學(xué)工程倫理 課件全套 第1-10章 生物醫(yī)學(xué)工程與倫理-醫(yī)學(xué)技術(shù)選擇與應(yīng)用的倫理問題
- 燒結(jié)機(jī)安裝使用說明書
- 新戰(zhàn)略營銷課件
- (完整版)部編一年級下冊語文《春夏秋冬》ppt
評論
0/150
提交評論