版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目 錄設(shè)計(jì)思想IV關(guān)鍵字IV第一章選題說(shuō)明1第二章數(shù)據(jù)庫(kù)解構(gòu)2.1概念解構(gòu)設(shè)計(jì)32.2邏輯結(jié)構(gòu)設(shè)計(jì)72.3物理結(jié)構(gòu)設(shè)計(jì)7第三章數(shù)據(jù)庫(kù)設(shè)計(jì)3.1安全控制93.2數(shù)據(jù)操作功能103.3視圖設(shè)計(jì)113.4存儲(chǔ)過(guò)程設(shè)計(jì)123.5代碼實(shí)現(xiàn)13第四章系統(tǒng)初始化19第五章系統(tǒng)界面演示23第六章總結(jié)28致謝30參考文獻(xiàn)30III【設(shè)計(jì)思想】經(jīng)過(guò)一學(xué)期來(lái)對(duì)數(shù)據(jù)庫(kù)系統(tǒng)概論這一課程的學(xué)習(xí),我學(xué)到了很多管理各類(lèi)數(shù)據(jù)的科學(xué)方法,也學(xué)會(huì)了如何在學(xué)習(xí)的過(guò)程中不斷的去實(shí)踐,根據(jù)已知去探索未知,這次設(shè)計(jì)就是一個(gè)很好的例子。由于本人很早就有了網(wǎng)絡(luò)創(chuàng)業(yè)的想法,也有很多計(jì)劃,其中以O(shè)2O(Online to Offline)為經(jīng)營(yíng)模
2、式的網(wǎng)上超市虛擬商店,最為完備?,F(xiàn)在我就借此數(shù)據(jù)庫(kù)課程設(shè)計(jì)的機(jī)會(huì)開(kāi)始虛擬商店的管理系統(tǒng)設(shè)計(jì)過(guò)程。由于水平有限,對(duì)數(shù)據(jù)庫(kù)功能的掌握還不完善,因此本次課程設(shè)計(jì)就以虛擬商店管理系統(tǒng)中的倉(cāng)庫(kù)管理部分為主,以倉(cāng)庫(kù)的數(shù)據(jù)庫(kù)建立過(guò)程為重點(diǎn)進(jìn)行設(shè)計(jì),力求在完成這一部分的同時(shí)更加深入地學(xué)習(xí)數(shù)據(jù)庫(kù)及相關(guān)知識(shí),為今后系統(tǒng)的完成、乃至創(chuàng)業(yè)的成功打牢基礎(chǔ)。我的大體設(shè)計(jì)思想如下:管理系統(tǒng)的數(shù)據(jù)庫(kù)部分采用MS SQL Server,界面部分為了方便日后開(kāi)發(fā)而采用JSP技術(shù)。即使用JDBC技術(shù)對(duì)接JSP界面和SQL Server數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)設(shè)計(jì)方面面向?qū)嶋H完成基本的建表、關(guān)聯(lián)、視圖、存儲(chǔ)過(guò)程等;界面部分以驅(qū)動(dòng)接口實(shí)現(xiàn)與數(shù)據(jù)
3、庫(kù)的動(dòng)態(tài)相連,并以簡(jiǎn)潔卻不失詳細(xì)的界面實(shí)現(xiàn)常用的、個(gè)性化的功能。整個(gè)工程采用結(jié)構(gòu)化的方式進(jìn)行推進(jìn),逐步完善系統(tǒng)功能。不論設(shè)計(jì)成功與否,我都要感謝老師給予我這次實(shí)踐的機(jī)會(huì),讓我能夠正規(guī)、完善、系統(tǒng)化地開(kāi)發(fā)自己需要的軟件,為即將面臨的畢業(yè)設(shè)計(jì)、工作實(shí)習(xí)做好充分的準(zhǔn)備。關(guān)鍵字:O2O;虛擬商店;數(shù)據(jù)庫(kù);倉(cāng)庫(kù)管理系統(tǒng)第一章選題說(shuō)明O2O對(duì)許多人來(lái)說(shuō)也許還是一個(gè)陌生的詞,但在電子商務(wù)蓬勃發(fā)展的今天,O2O越來(lái)越活躍地出現(xiàn)在人們眼前。O2O即Online to Offline,也即將線(xiàn)下商務(wù)的機(jī)會(huì)與互聯(lián)網(wǎng)結(jié)合在了一起,讓互聯(lián)網(wǎng)成為線(xiàn)下交易的前臺(tái)。該模式可以實(shí)現(xiàn)顧客在網(wǎng)媒上對(duì)商品或服務(wù)進(jìn)行消費(fèi),在線(xiàn)下便可獲
4、取商品或享受服務(wù),這極大地縮短了人們的購(gòu)物流程、便利了人們的生活。虛擬商店便是這樣一種產(chǎn)物,他將傳統(tǒng)的超市與B2C結(jié)合起來(lái),用戶(hù)只用花費(fèi)很短的時(shí)間,在虛擬商店上選購(gòu)好商品完成支付后,便可享受到虛擬商店的打包、配送服務(wù),用戶(hù)可到超市店面、派發(fā)點(diǎn)、甚至自家門(mén)口(派送)領(lǐng)取到所需的商品虛擬商店快速購(gòu)買(mǎi)方式虛擬商店條碼掃面方式可見(jiàn),虛擬商店的經(jīng)營(yíng)模式?jīng)Q定了,要想實(shí)現(xiàn)這一流程,一個(gè)好的貨倉(cāng)管理系統(tǒng)是最基礎(chǔ)的,因?yàn)橛脩?hù)的所有選購(gòu)操作都是直接與倉(cāng)庫(kù)對(duì)話(huà)的,而且如今的倉(cāng)庫(kù)作業(yè)和庫(kù)存控制作業(yè)已十分復(fù)雜化多樣化,僅靠人工記憶和手工錄入,不但費(fèi)時(shí)費(fèi)力,而且容易出錯(cuò),給企業(yè)帶來(lái)巨大損失。使用倉(cāng)庫(kù)管理系統(tǒng),對(duì)倉(cāng)庫(kù)各環(huán)節(jié)
5、實(shí)施全過(guò)程控制管理,并可對(duì)貨物進(jìn)行貨位、批次、保質(zhì)期、配送等管理,對(duì)整個(gè)收貨、發(fā)貨、補(bǔ)貨、集貨、送貨等各個(gè)環(huán)節(jié)的規(guī)范化作業(yè)。本次課程設(shè)計(jì)就以其倉(cāng)庫(kù)管理系統(tǒng)部分為課題,力求為虛擬商店構(gòu)想的實(shí)現(xiàn)打下堅(jiān)實(shí)的基礎(chǔ)。第二章數(shù)據(jù)庫(kù)解構(gòu)該倉(cāng)庫(kù)管理系統(tǒng)部分需要完成的主要功能包含:a) 基本資料管理:1 供貨單位管理:設(shè)置并管理供貨商檔案,檔案信息包括客戶(hù)編號(hào)、客戶(hù)名稱(chēng)、地址、聯(lián)系人、聯(lián)系電話(huà)和備注信息。2 收貨單位管理:設(shè)置并管理收貨單位檔案,檔案信息包括客戶(hù)編號(hào)、客戶(hù)名稱(chēng)、地址、聯(lián)系人、聯(lián)系電話(huà)和備注信息。3 貨品檔案管理:檔案信息包括貨品名稱(chēng)、編號(hào)、貨品描述、計(jì)量單位、備注說(shuō)明。4 庫(kù)管人員設(shè)置:設(shè)置并管
6、理倉(cāng)庫(kù)管理人員。b) 倉(cāng)庫(kù)貨物進(jìn)出管理:1 貨品入倉(cāng)管理:可以自動(dòng)生成入庫(kù)單號(hào),貨品及客戶(hù)選擇方便快捷,不限制每筆入庫(kù)單貨物筆數(shù)。2 貨品出倉(cāng)管理:可以自動(dòng)生成出庫(kù)單號(hào),貨品及客戶(hù)選擇方便快捷,不限制每筆出貨單貨物筆數(shù)。3 貨品盤(pán)點(diǎn)管理:可以自動(dòng)生成盤(pán)點(diǎn)單號(hào),貨品選擇方便快捷。c) 庫(kù)存查詢(xún)及統(tǒng)計(jì):1 庫(kù)存查詢(xún):可以隨時(shí)查詢(xún)各種貨品庫(kù)存,貨品自動(dòng)分類(lèi)匯總統(tǒng)計(jì)。2 單據(jù)查詢(xún):可以隨時(shí)查詢(xún)?nèi)霂?kù)、出庫(kù)、盤(pán)點(diǎn)等各種貨物單據(jù)。3 綜合查詢(xún):可以隨時(shí)查詢(xún)不同時(shí)間段、憑證號(hào)、客戶(hù)、貨品等查詢(xún)條件查詢(xún)?nèi)?、出、盤(pán)等數(shù)據(jù),并能對(duì)查詢(xún)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)匯總。d) 庫(kù)存分析報(bào)警:1 庫(kù)存上下限設(shè)置:可以設(shè)定倉(cāng)庫(kù)庫(kù)存中各項(xiàng)貨
7、品的庫(kù)存上下限。2 庫(kù)存異常情況自動(dòng)報(bào)警:自動(dòng)對(duì)低于庫(kù)存下限或高于上限的品種進(jìn)行報(bào)警提示。2.1概念結(jié)構(gòu)設(shè)計(jì)倉(cāng)庫(kù)管理系統(tǒng)可以劃分的實(shí)體有:供貨單位信息實(shí)體、收貨單位信息實(shí)體、貨品信息實(shí)體、計(jì)量單位信息實(shí)體、倉(cāng)管人員信息實(shí)體、貨品入倉(cāng)信息實(shí)體、貨品出倉(cāng)信息實(shí)體、庫(kù)存上下限信息實(shí)體。供貨單位信息實(shí)體E-R圖:供貨單位實(shí)體客戶(hù)編號(hào)客戶(hù)名稱(chēng) 地 址聯(lián)系人聯(lián)系電話(huà)備注說(shuō)明 圖2-1供貨單位實(shí)體E-R圖收貨單位信息實(shí)體E-R圖:收貨單位實(shí)體客戶(hù)編號(hào)客戶(hù)名稱(chēng) 地 址聯(lián)系人聯(lián)系電話(huà)備注說(shuō)明圖2-2收貨單位實(shí)體E-R圖貨品檔案信息實(shí)體E-R圖:貨品檔案實(shí)體貨品名稱(chēng)貨品編號(hào)貨品描述計(jì)量單位備注說(shuō)明圖2-3貨品檔案
8、實(shí)體E-R圖計(jì)量單位信息實(shí)體E-R圖:計(jì)量單位實(shí)體 編 號(hào)計(jì)量單位計(jì)量描述圖2-4計(jì)量單位實(shí)體E-R圖庫(kù)管人員信息實(shí)體E-R圖:庫(kù)管人員實(shí)體姓名登錄帳號(hào)登錄密碼用戶(hù)類(lèi)型備注說(shuō)明圖2-5庫(kù)管人員實(shí)體E-R圖貨品入倉(cāng)信息實(shí)體E-R圖:貨品入倉(cāng)信息實(shí)體貨品入倉(cāng)單號(hào)貨品名稱(chēng)計(jì)量單位入倉(cāng)數(shù)量入倉(cāng)日期庫(kù)管人員供貨單位圖2-6貨品入倉(cāng)信息實(shí)體E-R圖貨品出倉(cāng)信息實(shí)體E-R圖:貨品出倉(cāng)信息實(shí)體貨品出倉(cāng)單號(hào)貨品名稱(chēng) 計(jì) 量 單 位出倉(cāng)數(shù)量出倉(cāng)日期庫(kù)管人員收貨單位圖2-7貨品出倉(cāng)信息實(shí)體E-R圖貨品盤(pán)點(diǎn)信息實(shí)體E-R圖:貨品盤(pán)點(diǎn)信息實(shí)體貨品盤(pán)點(diǎn)單號(hào)貨品名稱(chēng) 計(jì) 量 單 位盤(pán)點(diǎn)數(shù)量盤(pán)點(diǎn)日期庫(kù)管人員名稱(chēng)圖2-8貨品盤(pán)
9、點(diǎn)信息實(shí)體E-R圖庫(kù)存上下限信息實(shí)體E-R圖:庫(kù)存上下限實(shí)體貨品名稱(chēng)計(jì)量單位庫(kù)存上限庫(kù)存下限圖2-9庫(kù)存上下限實(shí)體E-R圖2.2邏輯結(jié)構(gòu)設(shè)計(jì)根據(jù)基本E-R圖,確定倉(cāng)管系統(tǒng)關(guān)系模式為:客戶(hù)客戶(hù)編號(hào),客戶(hù)標(biāo)志,客戶(hù)名稱(chēng),地址,聯(lián)系人,聯(lián)系電話(huà),備注說(shuō)明,主鍵是客戶(hù)編號(hào)。貨品貨品編號(hào),貨品名稱(chēng),計(jì)量單位編號(hào),貨品描述,備注說(shuō)明,主鍵是貨品編號(hào)。計(jì)量單位計(jì)量單位編號(hào),計(jì)量單位,計(jì)量描述,主鍵是計(jì)量單位編號(hào)。庫(kù)管人員庫(kù)管人員編號(hào),登錄帳號(hào),登錄密碼,姓名,用戶(hù)類(lèi)型,備注說(shuō)明,主鍵是庫(kù)管人員編號(hào)。貨品入倉(cāng)信息貨品入倉(cāng)單號(hào),貨品編號(hào),入倉(cāng)數(shù)量,入倉(cāng)日期,庫(kù)管人員編號(hào),客戶(hù)編號(hào),主鍵是貨品入倉(cāng)單號(hào)。貨品出倉(cāng)信
10、息貨品出倉(cāng)單號(hào),貨品編號(hào),出倉(cāng)數(shù)量,出倉(cāng)日期,庫(kù)管人員編號(hào),客戶(hù)編號(hào),主鍵是貨品出倉(cāng)單號(hào)。貨品盤(pán)點(diǎn)信息貨品盤(pán)點(diǎn)單號(hào),貨品編號(hào),盤(pán)點(diǎn)數(shù)量,盤(pán)點(diǎn)日期,庫(kù)管人員編號(hào),主鍵是貨品盤(pán)點(diǎn)單號(hào)。庫(kù)存上下限信息貨品編號(hào),庫(kù)存上限,庫(kù)存下限,主鍵是貨品編號(hào)。2.3物理結(jié)構(gòu)設(shè)計(jì)表1:Customer 客戶(hù)信息表設(shè)計(jì)列名數(shù)據(jù)類(lèi)型長(zhǎng)度是否為空說(shuō)明CustomerId數(shù)值型否客戶(hù)編號(hào)CustomerType數(shù)值型1否客戶(hù)類(lèi)型CustomerName文本型60否客戶(hù)名稱(chēng)Address文本型180否地址Contact文本型20否聯(lián)系人ContactPhone文本型60否聯(lián)系電話(huà)Memo文本型800是備注說(shuō)明表2:Goods
11、 貨品信息表設(shè)計(jì)列名數(shù)據(jù)類(lèi)型長(zhǎng)度是否為空說(shuō)明GoodsId數(shù)值型否貨品編號(hào)GoodsName文本型60否貨品名稱(chēng)MeasureId數(shù)值型否計(jì)量單位編號(hào)Describe文本型180是貨品描述Memo文本型800是備注說(shuō)明表3:Measure 計(jì)量單位信息表設(shè)計(jì)列名數(shù)據(jù)類(lèi)型長(zhǎng)度是否為空說(shuō)明MeasureId數(shù)值型否計(jì)量單位編號(hào)MeasureName文本型20否計(jì)量單位名稱(chēng)Describe文本型180是計(jì)量描述表4:Storeman 庫(kù)管人員信息表設(shè)計(jì)列名數(shù)據(jù)類(lèi)型長(zhǎng)度是否為空說(shuō)明StoremanId數(shù)值型否庫(kù)管人員編號(hào)LoginName文本型16否登錄帳號(hào)LoginPassword文本型8否登錄密碼
12、Name文本型20否姓名UserType數(shù)值型1否用戶(hù)類(lèi)型Memo文本型800是備注說(shuō)明表5:EntryInfo 貨品入倉(cāng)信息表設(shè)計(jì)列名數(shù)據(jù)類(lèi)型長(zhǎng)度是否為空說(shuō)明EntryId數(shù)值型否貨品入倉(cāng)單號(hào)GoodsId數(shù)值型否貨品編號(hào)EntryAmount數(shù)值型否入倉(cāng)數(shù)量EntryDate日期型否入倉(cāng)日期StoremanId數(shù)值型否庫(kù)管人員編號(hào)CustomerId數(shù)值型否供貨客戶(hù)編號(hào)表6:ExportInfo 貨品出倉(cāng)信息表設(shè)計(jì)列名數(shù)據(jù)類(lèi)型長(zhǎng)度是否為空說(shuō)明ExportId數(shù)值型否貨品出倉(cāng)單號(hào)GoodsId數(shù)值型否貨品編號(hào)ExportIdAmount數(shù)值型否出倉(cāng)數(shù)量ExportDate日期型否出倉(cāng)日期St
13、oremanId數(shù)值型否庫(kù)管人員編號(hào)CustomerId數(shù)值型否收貨客戶(hù)編號(hào)表7:CheckInfo 貨品盤(pán)點(diǎn)信息表設(shè)計(jì)列名數(shù)據(jù)類(lèi)型長(zhǎng)度是否為空說(shuō)明CheckId數(shù)值型否貨品盤(pán)點(diǎn)單號(hào)GoodsId數(shù)值型否貨品編號(hào)CheckAmount數(shù)值型否盤(pán)點(diǎn)數(shù)量CheckDate日期型否盤(pán)點(diǎn)日期StoremanId數(shù)值型否庫(kù)管人員編號(hào)表8:StorehouseAlert 庫(kù)存上下限信息表設(shè)計(jì)列名數(shù)據(jù)類(lèi)型長(zhǎng)度是否為空說(shuō)明GoodsId數(shù)值型否貨品編號(hào)UpAlert數(shù)值型否庫(kù)存上限D(zhuǎn)ownAlert數(shù)值型否庫(kù)存下限第三章數(shù)據(jù)庫(kù)設(shè)計(jì)3.1安全控制倉(cāng)管系統(tǒng)的用戶(hù)分如下幾類(lèi):系統(tǒng)管理員:具有系統(tǒng)的全部權(quán)限。庫(kù)管員:
14、具有貨品出、入倉(cāng)數(shù)據(jù)的維護(hù)權(quán)。盤(pán)點(diǎn)員:具有設(shè)置庫(kù)存上下限信息,貨品盤(pán)點(diǎn)數(shù)據(jù)的維護(hù)權(quán)。在實(shí)現(xiàn)時(shí),將每一類(lèi)用戶(hù)作為一個(gè)角色實(shí)現(xiàn),這樣在授權(quán)時(shí)只需對(duì)角色授權(quán),而無(wú)需對(duì)每個(gè)具體的用戶(hù)授權(quán)。3.2數(shù)據(jù)操作功能數(shù)據(jù)操作功能包括對(duì)這些數(shù)據(jù)進(jìn)行錄入、刪除、修改功能,具體如下:(1) 數(shù)據(jù)錄入包括對(duì)這8張表的數(shù)據(jù)的錄入,只有具有相應(yīng)權(quán)限的用戶(hù)才能錄入相應(yīng)表中的數(shù)據(jù)。(2) 數(shù)據(jù)刪除包括對(duì)這8張表的數(shù)據(jù)的刪除,只有具有相應(yīng)權(quán)限的用戶(hù)才能刪除相應(yīng)表中的數(shù)據(jù),刪除數(shù)據(jù)時(shí)要注意表之間的關(guān)聯(lián)關(guān)系,比如刪除計(jì)量單位信息表中的數(shù)據(jù),必須貨品信息表中沒(méi)有貨品引用到該計(jì)量單位。另外,在實(shí)際進(jìn)行刪除之前應(yīng)該提醒用戶(hù)確認(rèn)是否真的要?jiǎng)h
15、除此數(shù)據(jù)。(3) 數(shù)據(jù)修改當(dāng)某些數(shù)據(jù)發(fā)生變化或某些數(shù)據(jù)錄入不正確時(shí),應(yīng)該允許用戶(hù)對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行修改,進(jìn)行修改數(shù)據(jù)的操作時(shí),一般時(shí)先根據(jù)一定條件查詢(xún)出要修改的記錄,然后再對(duì)其中的某些記錄進(jìn)行修改,修改完后再寫(xiě)回到數(shù)據(jù)庫(kù)中去,同數(shù)據(jù)的錄入與刪除一樣,只有具有相應(yīng)權(quán)限的用戶(hù)才能修改相應(yīng)表中的數(shù)據(jù)。(4) 數(shù)據(jù)查詢(xún)?cè)跀?shù)據(jù)庫(kù)應(yīng)用系統(tǒng)中,數(shù)據(jù)查詢(xún)時(shí)最常用的功能,倉(cāng)管系統(tǒng)應(yīng)具有的查詢(xún)要求有:庫(kù)存查詢(xún),查詢(xún)各種貨品實(shí)時(shí)庫(kù)存情況。單據(jù)查詢(xún),查詢(xún)?nèi)霂?kù)、出庫(kù)、盤(pán)點(diǎn)等各種貨物單據(jù)。綜合查詢(xún),查詢(xún)不同時(shí)間段、憑證號(hào)、客戶(hù)、貨品等查詢(xún)條件查詢(xún)?nèi)?、出、盤(pán)等數(shù)據(jù)。庫(kù)存異常情況查詢(xún),查詢(xún)低于庫(kù)存下限或高于上限的貨品數(shù)據(jù)。
16、3.3視圖設(shè)計(jì)對(duì)入倉(cāng)操作,客戶(hù)只能選擇供貨客戶(hù)標(biāo)志的客戶(hù),對(duì)于出倉(cāng)操作,客戶(hù)只能選擇收貨客戶(hù)標(biāo)志的客戶(hù),考慮到還有既是供貨客戶(hù),又是收貨客戶(hù)的情況,設(shè)計(jì)上用1代表供貨客戶(hù)標(biāo)志,2代表收貨客戶(hù)標(biāo)志,3代表既是供貨客戶(hù)也是收貨客戶(hù),雖然都是基于客戶(hù)信息表的查詢(xún),顯示字段一樣,但由于數(shù)據(jù)范圍不同,可以通過(guò)設(shè)計(jì)供貨客戶(hù)視圖和收貨客戶(hù)視圖來(lái)實(shí)現(xiàn)。視圖1:View_SupplyCustomer供貨客戶(hù)視圖列名數(shù)據(jù)類(lèi)型說(shuō)明CustomerId數(shù)值型客戶(hù)編號(hào)CustomerName文本型客戶(hù)名稱(chēng)Address文本型地址Contact文本型聯(lián)系人ContactPhone文本型聯(lián)系電話(huà)Memo文本型備注說(shuō)明條件:
17、客戶(hù)標(biāo)志字段等于1或者3。視圖2:View_BuyCustomer供貨客戶(hù)視圖列名數(shù)據(jù)類(lèi)型說(shuō)明CustomerId數(shù)值型客戶(hù)編號(hào)CustomerName文本型客戶(hù)名稱(chēng)Address文本型地址Contact文本型聯(lián)系人ContactPhone文本型聯(lián)系電話(huà)Memo文本型備注說(shuō)明條件:客戶(hù)標(biāo)志字段等于2或者3。3.4存儲(chǔ)過(guò)程設(shè)計(jì)a) 庫(kù)存盤(pán)點(diǎn)存儲(chǔ)過(guò)程設(shè)計(jì)思路:1、 判斷是否期初盤(pán)點(diǎn),期初盤(pán)點(diǎn)則根據(jù)已有的入倉(cāng)數(shù)據(jù)和出倉(cāng)數(shù)據(jù),計(jì)算現(xiàn)庫(kù)存數(shù)量,如果沒(méi)有入倉(cāng)數(shù)據(jù)和出倉(cāng)數(shù)據(jù),則數(shù)量計(jì)為0,把結(jié)果數(shù)據(jù)插入盤(pán)點(diǎn)信息表,返回成功標(biāo)志,程序結(jié)束;2、 非期初盤(pán)點(diǎn),則根據(jù)當(dāng)前時(shí)間點(diǎn)找到最近一期的盤(pán)點(diǎn)數(shù)據(jù),再根據(jù)從該期
18、盤(pán)點(diǎn)時(shí)間到當(dāng)前時(shí)間點(diǎn)所有的入倉(cāng)數(shù)據(jù)和出倉(cāng)數(shù)據(jù),計(jì)算現(xiàn)庫(kù)存數(shù)量,把結(jié)果數(shù)據(jù)插入盤(pán)點(diǎn)信息表,返回成功標(biāo)志,程序結(jié)束;3、 考慮到貨品信息表會(huì)不定時(shí)更新,盤(pán)點(diǎn)表也要以最新的貨品信息表進(jìn)行盤(pán)點(diǎn)。b) 實(shí)時(shí)庫(kù)存情況存儲(chǔ)過(guò)程實(shí)時(shí)庫(kù)存情況存儲(chǔ)過(guò)程與庫(kù)存盤(pán)點(diǎn)存儲(chǔ)過(guò)程設(shè)計(jì)思路類(lèi)似,但計(jì)算結(jié)果不需寫(xiě)到數(shù)據(jù)表,直接以數(shù)據(jù)集形式返回。設(shè)計(jì)思路:1、 判斷是否已存在盤(pán)點(diǎn)數(shù)據(jù),如否則根據(jù)已有的入倉(cāng)數(shù)據(jù)和出倉(cāng)數(shù)據(jù),計(jì)算現(xiàn)庫(kù)存數(shù)量,如果沒(méi)有入倉(cāng)數(shù)據(jù)和出倉(cāng)數(shù)據(jù),則數(shù)量計(jì)為0,返回結(jié)果數(shù)據(jù)集,程序結(jié)束;2、 如已存在盤(pán)點(diǎn)數(shù)據(jù),則根據(jù)當(dāng)前時(shí)間點(diǎn)找到最近一期的盤(pán)點(diǎn)數(shù)據(jù),再根據(jù)從該期盤(pán)點(diǎn)時(shí)間到當(dāng)前時(shí)間點(diǎn)所有的入倉(cāng)數(shù)據(jù)和出倉(cāng)數(shù)據(jù),計(jì)算現(xiàn)
19、庫(kù)存數(shù)量,返回結(jié)果數(shù)據(jù)集,程序結(jié)束;3、 考慮到貨品信息表會(huì)不定時(shí)更新,盤(pán)點(diǎn)表也要以最新的貨品信息表進(jìn)行盤(pán)點(diǎn)。c) 查詢(xún)庫(kù)存異常情況存儲(chǔ)過(guò)程查詢(xún)庫(kù)存異常情況存儲(chǔ)過(guò)程是以設(shè)置庫(kù)存上下限數(shù)據(jù),對(duì)實(shí)時(shí)庫(kù)存情況進(jìn)行計(jì)算,返回低于庫(kù)存下限或高于上限的貨品數(shù)據(jù)設(shè)計(jì)思路:1、 根據(jù)庫(kù)存上下限的數(shù)據(jù),限定計(jì)算實(shí)時(shí)庫(kù)存的貨品范圍;2、 判斷是否已存在盤(pán)點(diǎn)數(shù)據(jù),如否則根據(jù)已有的入倉(cāng)數(shù)據(jù)和出倉(cāng)數(shù)據(jù),計(jì)算現(xiàn)庫(kù)存數(shù)量,返回低于庫(kù)存下限或高于上限的貨品數(shù)據(jù)集,程序結(jié)束;3、 如已存在盤(pán)點(diǎn)數(shù)據(jù),則根據(jù)當(dāng)前時(shí)間點(diǎn)找到最近一期的盤(pán)點(diǎn)數(shù)據(jù),再根據(jù)從該期盤(pán)點(diǎn)時(shí)間到當(dāng)前時(shí)間點(diǎn)所有的入倉(cāng)數(shù)據(jù)和出倉(cāng)數(shù)據(jù),計(jì)算現(xiàn)庫(kù)存數(shù)量,返回低于庫(kù)存下限
20、或高于上限的貨品數(shù)據(jù)集,程序結(jié)束。3.5代碼實(shí)現(xiàn)a) 創(chuàng)建數(shù)據(jù)庫(kù)USE masterGOCREATE DATABASE storehouseON ( NAME ='storehouse', FILENAME = 'c:storehouse.mdf', SIZE = 10MB, MAXSIZE = 50MB, FILEGROWTH = 5MB )LOG ON( NAME = 'storehouse_log', FILENAME = 'c:storehouse.ldf', SIZE = 5MB, MAXSIZE = 25MB, FIL
21、EGROWTH = 5MB )GOb) 客戶(hù)信息表建立CREATE TABLE Customer( CustomerId int IDENTITY(1,1) NOT NULL PRIMARY KEY, CustomerType tinyint NOT NULL DEFAULT(1), CustomerName varchar(60) NOT NULL, Address varchar(180) NOT NULL, Contact varchar(20) NOT NULL, ContactPhone varchar(60) NOT NULL, Memo varchar(800) NULL)c)
22、計(jì)量單位信息表建立CREATE TABLE Measure(MeasureId int IDENTITY(1,1) NOT NULL PRIMARY KEY,MeasureName varchar(20) NOT NULL,Describe varchar(180) NULL)d) 貨品信息表建立CREATE TABLE Goods(GoodsId int IDENTITY(1,1) NOT NULL PRIMARY KEY,GoodsName varchar(60) NOT NULL,MeasureId int NOT NULL,Describe varchar(180) NULL,Memo
23、 varchar(800) NULL,FOREIGN KEY (MeasureId) REFERENCES Measure (MeasureId)e) 庫(kù)管人員信息表設(shè)計(jì)CREATE TABLE Storeman (StoremanId int IDENTITY(1,1) NOT NULL PRIMARY KEY,LoginName varchar(16) NOT NULL,LoginPassword varchar(8) NOT NULL,Name varchar(20) NOT NULL,UserType tinyint NOT NULL DEFAULT(1),Memo varchar(8
24、00) NULL)f) 貨品入倉(cāng)信息表建立CREATE TABLE EntryInfo (EntryId int IDENTITY(1,1) NOT NULL PRIMARY KEY,GoodsId int NOT NULL,EntryAmount int NOT NULL,EntryDate datetime NOT NULL DEFAULT(getdate(),StoremanId int NOT NULL,CustomerId int NOT NULL,FOREIGN KEY (GoodsId) REFERENCES Goods (GoodsId),FOREIGN KEY (Storem
25、anId) REFERENCES Storeman (StoremanId),FOREIGN KEY (CustomerId) REFERENCES Customer (CustomerId)g) 品出倉(cāng)信息表建立CREATE TABLE ExportInfo (ExportId int IDENTITY(1,1) NOT NULL PRIMARY KEY,GoodsId int NOT NULL,ExportAmount int NOT NULL,ExportDate datetime NOT NULL DEFAULT(getdate(),StoremanId int NOT NULL,Cu
26、stomerId int NOT NULL,FOREIGN KEY (GoodsId) REFERENCES Goods (GoodsId),FOREIGN KEY (StoremanId) REFERENCES Storeman (StoremanId),FOREIGN KEY (CustomerId) REFERENCES Customer (CustomerId)h) 貨品盤(pán)點(diǎn)信息表建立CREATE TABLE CheckInfo (CheckId int IDENTITY(1,1) NOT NULL PRIMARY KEY,GoodsId int NOT NULL,CheckAmoun
27、t int NOT NULL,CheckDate datetime NOT NULL DEFAULT(getdate(),StoremanId int NOT NULL,CustomerId int NOT NULL,FOREIGN KEY (GoodsId) REFERENCES Goods (GoodsId),FOREIGN KEY (StoremanId) REFERENCES Storeman (StoremanId),FOREIGN KEY (CustomerId) REFERENCES Customer (CustomerId)i) 庫(kù)存上下限信息表建立CREATE TABLE S
28、torehouseAlert (GoodsId int NOT NULL PRIMARY KEY,UpAlert int NOT NULL,DownAlert int NOT NULL,FOREIGN KEY (GoodsId) REFERENCES Goods (GoodsId)j) 供貨客戶(hù)視圖建立CREATE VIEW View_SupplyCustomer ASSelect CustomerId,CustomerName,Address,Contact,ContactPhone,MemoFROM Customer Where CustomerType=1 or CustomerType
29、=3k) 收貨客戶(hù)視圖建立CREATE VIEW View_BuyCustomer ASSelect CustomerId,CustomerName,Address,Contact,ContactPhone,MemoFROM Customer Where CustomerType=2 or CustomerType=3l) 庫(kù)存盤(pán)點(diǎn)存儲(chǔ)過(guò)程建立CREATE PROCEDURE Procedure_storecheck storemanid intASDeclare lastcheckdate datetime Select lastcheckdate=max(Checkdate) from C
30、heckInfoIf ROWCOUNT =0 Insert into CheckInfo(GoodsId,CheckAmount,CheckDate,StoremanId) Select Goodsid,CheckAmount=(select isnull(sum(EntryAmount),0) from EntryInfo where GoodsId=a.GoodsId)-(select isnull(sum(ExportAmount),0) from ExportInfo where GoodsId=a.GoodsId),getdate(),storemanid from Goods aE
31、lse Insert into CheckInfo(GoodsId,CheckAmount,CheckDate,StoremanId) Select Goodsid,CheckAmount=(select isnull(CheckAmount,0) from Checkinfo where GoodsId=a.GoodsId and Checkdate=lastcheckdate)+(select isnull(sum(EntryAmount),0) from EntryInfo where GoodsId=a.GoodsId and EntryDate>=lastcheckdate)-
32、(select isnull(sum(ExportAmount),0) from ExportInfowhere GoodsId=a.GoodsId and ExportDate>=lastcheckdate),getdate(),storemanid from Goods am) 實(shí)時(shí)庫(kù)存情況存儲(chǔ)過(guò)程建立CREATE PROCEDURE Procedure_storereal ASDeclare lastcheckdate datetime Select lastcheckdate=max(Checkdate) from CheckInfoIf ROWCOUNT =0 Select a
33、.GoodsName,b.MeasureName,CheckAmount=(select isnull(sum(EntryAmount),0) from EntryInfo where GoodsId=a.GoodsId)-(select isnull(sum(ExportAmount),0) from ExportInfo where GoodsId=a.GoodsId) from Goods a,Measure b where a.MeasureId=b.MeasureIdElseSelect a.GoodsName,b.MeasureName,CheckAmount=(select is
34、null(CheckAmount,0) from Checkinfo where GoodsId=a.GoodsId and Checkdate=lastcheckdate)+(select isnull(sum(EntryAmount),0) from EntryInfo where GoodsId=a.GoodsId and EntryDate>=lastcheckdate)-(select isnull(sum(ExportAmount),0) from ExportInfo where GoodsId=a.GoodsId and ExportDate>=lastcheckd
35、ate) from Goods a,Measure b where a.MeasureId=b.MeasureIdn) 查詢(xún)庫(kù)存異常情況存儲(chǔ)過(guò)程建立CREATE PROCEDURE Procedure_storealert ASCreate TABLE #1(Goodsid int,CheckAmount int,UpAlert int,DownAlert int)Declare lastcheckdate datetime Select lastcheckdate=max(Checkdate) from CheckInfoIf ROWCOUNT =0 Insert into #1(Goods
36、id,CheckAmount,UpAlert,DownAlert) Select a.Goodsid,CheckAmount=(select isnull(sum(EntryAmount),0) from EntryInfo where GoodsId=a.GoodsId)-(select isnull(sum(ExportAmount),0) from ExportInfo where GoodsIs=a.GoodsId),b.UpAlert,b.DownAlert from Goods a,StorehouseAlert b where a.GoodsId=b.GoodsId ElseIn
37、sert into #1(Goodsid,CheckAmount,UpAlert,DownAlert) Select a.Goodsid,CheckAmount=(select isnull(CheckAmount,0) from Checkinfo where GoodsId=a.GoodsId and Checkdate=lastcheckdate)+(select isnull(sum(EntryAmount),0) from EntryInfo where GoodsId=a.GoodsId and EntryDate>=lastcheckdate)-(select isnull
38、(sum(ExportAmount),0) from ExportInfo where GoodsId=a.GoodsId and ExportDate>=lastcheckdate) ,b.UpAlert,b.DownAlert from Goods a,StorehouseAlert b where a.GoodsId=b.GoodsIdSelect b.GoodsName,c.MeasureName,a.UpAlert,a.DownAlert,a.CheckAlert from #1 a,Goods b, Measure c where a.GoodsId=b.GoodsId an
39、d b.MeasureId=c.MeasureId and (a.CheckAmount>a.Upalert or a.CheckAmount <a.DownAlert)第四章系統(tǒng)初始化a) 將客戶(hù)信息加入到Customer表Insert into Customer(customertype,customername,address,contact,contactphone) Values(1,'客戶(hù)1','客戶(hù)地址1','客戶(hù)聯(lián)系人1','客戶(hù)聯(lián)系電話(huà)1')Insert into Customer(customert
40、ype,customername,address,contact,contactphone) Values(1,'客戶(hù)2','客戶(hù)地址2','客戶(hù)聯(lián)系人2','客戶(hù)聯(lián)系電話(huà)2')Insert into Customer(customertype,customername,address,contact,contactphone) Values(2,'客戶(hù)3','客戶(hù)地址3','客戶(hù)聯(lián)系人3','客戶(hù)聯(lián)系電話(huà)3')Insert into Customer(custome
41、rtype,customername,address,contact,contactphone) Values(3,'客戶(hù)4','客戶(hù)地址4','客戶(hù)聯(lián)系人4','客戶(hù)聯(lián)系電話(huà)4')b) 將計(jì)量信息加入Measure表Insert into Measure(measurename,describe) values('箱','計(jì)量單位描述1')Insert into Measure(measurename,describe) values('包','計(jì)量單位描述2')c
42、) 將貨品信息加入Goods表Insert into Goods(goodsname,measureid,describe) values('貨品1',1, '貨品描述1')Insert into Goods(goodsname,measureid,describe) values('貨品2',1, '貨品描述2')Insert into Goods(goodsname,measureid,describe) values('貨品3',2, '貨品描述3')d) 將庫(kù)管人員信息加入Storeman表
43、Insert into Storeman(loginname,loginpassword,name,usertype) values('ceshi1', '123', '測(cè)試1',1)Insert into Storeman(loginname,loginpassword,name,usertype) values('ceshi2', '123', '測(cè)試2',2)e) 添加貨品入倉(cāng)記錄Insert into EntryInfo(goodsid,entryamount,entrydate,store
44、manid,customerid) values(1,10, '2011-1-1',1,1)Insert into EntryInfo(goodsid,entryamount,entrydate,storemanid,customerid) values(2,8, '2011-1-1',1,1)Insert into EntryInfo(goodsid,entryamount,entrydate,storemanid,customerid) values(1,10, '2011-1-2',1,1)Insert into EntryInfo(goo
45、dsid,entryamount,entrydate,storemanid,customerid) values(1,2, '2011-1-3',1,1)Insert into EntryInfo(goodsid,entryamount,entrydate,storemanid,customerid) values(2,5, '2011-1-4',1,1)f) 添加貨品出倉(cāng)記錄Insert into ExportInfo(goodsid,exportamount,exportdate,storemanid,customerid) values(1,2,'
46、2011-1-2',1,3)Insert into ExportInfo(goodsid,exportamount,exportdate,storemanid,customerid) values(1,3, '2011-1-2',1,4)Insert into ExportInfo(goodsid,exportamount,exportdate,storemanid,customerid) values(2,6, '2011-1-2',1,4)Insert into ExportInfo(goodsid,exportamount,exportdate,s
47、toremanid,customerid) values(2,3, '2011-1-5',1,3)g) 添加庫(kù)存上下限記錄Insert into StorehouseAlert(goodsid,upalert,downalert) values(1,100,5)Insert into StorehouseAlert(goodsid,upalert,downalert) values(2,100,5)a) 系統(tǒng)連接(使用JDBD Driver):Import java.sql.*;Class.forName(“com.microsoft.jdbc.sqlserver.SQLSer
48、verDriver”);tryClass.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”);catch(ClassNotFoundException e)System.out.println(“Driver Not Found”);b) 查詢(xún)功能關(guān)鍵代碼:<% page contentType="text/html;charset=utf-8"%> <% page import="java.sql.*"%> <html> <body> <%
49、Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); String url="jdbc:microsoft:sqlserver:/192.168.1.11:1433;DatabaseName=storehouse" String user="sa" String password="" Connection conn= DriverManager.getConnection(url,user,password); S
50、tatement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); /String sql="select * from customer" ResultSet rs=stmt.executeQuery(sql); while(rs.next() %> 第一行:<%=rs.getString(1)%> /第二行:<%=rs.getString(2)%> <%> /<%out.print("查詢(xún)完
51、畢");%> <%rs.close(); stmt.close(); conn.close(); %> </body> </html>第五章系統(tǒng)界面演示登陸入口:進(jìn)入倉(cāng)庫(kù)管理選項(xiàng)卡:單表查詢(xún):表customer的SQL Server查詢(xún):對(duì)應(yīng)的系統(tǒng)界面查詢(xún):各表不一一枚舉視圖查詢(xún):視圖View_SupplyCustomer的SQL Server查詢(xún):對(duì)應(yīng)的系統(tǒng)界面查詢(xún):視圖View_BuyCustomer的SQL Server查詢(xún):對(duì)應(yīng)的系統(tǒng)界面查詢(xún):多表查詢(xún):貨品名稱(chēng)為“貨品1”的入庫(kù)記錄的SQL Server查詢(xún):對(duì)應(yīng)的系統(tǒng)界面查詢(xún):實(shí)時(shí)庫(kù)存的SQL Server查詢(xún):對(duì)應(yīng)的系統(tǒng)界面查詢(xún):庫(kù)存異常報(bào)警情況的SQL Server查詢(xún):對(duì)應(yīng)的系統(tǒng)界面查詢(xún):界面部分我采用了CROWN(感謝CROWN)的模板,其中包括一些CSS樣式和簡(jiǎn)單的JSP腳本,同時(shí)也對(duì)其進(jìn)行了修改和擴(kuò)充,使它和“虛擬商店”更加緊密地結(jié)合在一起。由于功能并不完善(訂單部分如何實(shí)施有待做市場(chǎng)調(diào)研),因此對(duì)應(yīng)的系統(tǒng)部分還不能達(dá)到應(yīng)用的級(jí)別,這部分我會(huì)在接下來(lái)的時(shí)間里完成(暑期完成市場(chǎng)調(diào)研)。力求做到時(shí)效性、獨(dú)特性、針對(duì)性,并對(duì)界面進(jìn)行進(jìn)一步美化,以達(dá)到清新、直觀(guān)的效果。第29頁(yè)第六章總結(jié)經(jīng)歷了數(shù)周的學(xué)習(xí)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- flash 課件教學(xué)課件
- 自愿放棄孩子協(xié)議書(shū)(2篇)
- 購(gòu)買(mǎi)籽種合同范本(2篇)
- 高中技術(shù)《技術(shù)與設(shè)計(jì)II》課堂強(qiáng)化練習(xí)
- 節(jié)婦吟課件教學(xué)課件
- 南京航空航天大學(xué)《短片創(chuàng)作》2021-2022學(xué)年第一學(xué)期期末試卷
- 南京工業(yè)大學(xué)浦江學(xué)院《數(shù)值分析》2023-2024學(xué)年第一學(xué)期期末試卷
- 畢業(yè)論文(設(shè)計(jì))-香榭美臨住宅樓工程施工組織設(shè)計(jì)
- 深圳人民醫(yī)院幕墻工程施工組織設(shè)計(jì)
- 《致橡樹(shù)》說(shuō)課稿
- 數(shù)據(jù)恢復(fù)業(yè)務(wù)合同
- 智能化工程監(jiān)理實(shí)施細(xì)則
- 《民法典》全文學(xué)習(xí)PPT
- zzf微血管減壓術(shù)治療舌咽神經(jīng)痛
- SPECTRO MAXx 06直讀光譜儀操作規(guī)程
- PCS9700 監(jiān)控后臺(tái)操作方法培訓(xùn)
- creo自頂向下設(shè)計(jì)方法
- 物流配送中心規(guī)劃與設(shè)計(jì)課件
- 常用截止閥尺寸表
- 2013三無(wú)班組評(píng)定標(biāo)準(zhǔn)
- 二年級(jí)《看圖寫(xiě)話(huà)》教學(xué)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論