

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 本科畢業(yè)論文</b></p><p><b> ?。?0 屆)</b></p><p> 企業(yè)成品庫(kù)存管理的設(shè)計(jì)與實(shí)現(xiàn)(后臺(tái))</p><p><b> 摘要</b></p><p> 人們一直以來(lái)使用傳統(tǒng)人工的方式管理倉(cāng)庫(kù)中的各種物資設(shè)備
2、,這種管理方式存在著許多缺點(diǎn),如:效率低等,另外時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來(lái)了不少的困難。所以對(duì)于企業(yè)的決策者和管理者來(lái)說(shuō)一個(gè)庫(kù)存管理系統(tǒng)是至關(guān)重要的。</p><p> 本系統(tǒng)開(kāi)發(fā)主要是采用瀏覽器/服務(wù)器(B/S)模式,包括后臺(tái)數(shù)據(jù)庫(kù)的建立、維護(hù)以及前端應(yīng)用程序的開(kāi)發(fā)兩個(gè)方面。本系統(tǒng)在采用MyEclipse開(kāi)發(fā)工具的基礎(chǔ)上,運(yùn)用My Sql數(shù)據(jù)庫(kù)系統(tǒng)和面向?qū)ο驤ava開(kāi)發(fā)技術(shù)
3、實(shí)現(xiàn)的。本系統(tǒng)具有完善的數(shù)據(jù)處理功能,方便快捷的瀏覽界面、易于操作的功能模塊,并能夠準(zhǔn)確反映各種情況及信息,為管理人員提供準(zhǔn)確的數(shù)據(jù),基本滿(mǎn)足了企業(yè)庫(kù)存管理的要求。</p><p> 本文簡(jiǎn)要介紹了庫(kù)存管理系統(tǒng)的項(xiàng)目開(kāi)發(fā)背景和意義,著重闡述了該系統(tǒng)開(kāi)發(fā)實(shí)現(xiàn)過(guò)程,從系統(tǒng)的需求分析、方案設(shè)計(jì)、模塊設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、詳細(xì)設(shè)計(jì)等各個(gè)環(huán)節(jié)都進(jìn)行了詳盡的分析和描述。 </p><p> 關(guān)鍵詞:庫(kù)存
4、管理,MyEclipse,MySQL,JAVA</p><p><b> Abstract</b></p><p> People have been using a variety of materials and equipment, the traditional manual management of warehouse, this management
5、 way has many shortcomings, such as: low efficiency, another time a long, will produce the massive documents and the data, this regarding the search, the renewal and the maintenance has all brought many difficulties. So
6、for business decision-makers and managers is an inventory management system is very important.</p><p> The system is mainly used to develop the browser / server (B\/S) mode, includes the backstage database
7、the establishment, maintenance and front-end application development two aspects. The system based on the MyEclipse development tools, implementation of object oriented technology and Java development by My Sql database
8、system. This system has improved the data processing function, convenient browsing interface, function module is easy to operate, and can accurately reflect the situation and in</p><p> This paper briefly i
9、ntroduces the inventory management system project background and significance, and emphatically expounds the system development process, different from the system of needs analysis, program design, module design, data de
10、sign, detailed design and other aspects of a detailed analysis and description.</p><p> Keywords:inventory management,MyEclipse,MySQL,JAVA</p><p><b> 目錄</b></p><p><
11、;b> 1. 緒論1</b></p><p> 1.1背景和意義1</p><p> 1.2本文的工作1</p><p><b> 2. 系統(tǒng)分析1</b></p><p> 2.1 需求分析1</p><p> 2.2 系統(tǒng)功能2</p>
12、<p> 2.2.1 系統(tǒng)功能描述2</p><p> 2.2.2 系統(tǒng)業(yè)務(wù)流程圖2</p><p> 2.2.3 系統(tǒng)的角色定義3</p><p> 2.3 技術(shù)介紹3</p><p> 2.3.1 JSP技術(shù)簡(jiǎn)介3</p><p> 2.3.2 Servlet技術(shù)簡(jiǎn)介4</p
13、><p> 2.3.3 MVC簡(jiǎn)介4</p><p><b> 3.系統(tǒng)設(shè)計(jì)4</b></p><p> 3.1 數(shù)據(jù)庫(kù)需求設(shè)計(jì)4</p><p> 3.1.1 數(shù)據(jù)庫(kù)需求分析4</p><p> 3.1.2 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)5</p><p> 3.2 開(kāi)
14、發(fā)工具及運(yùn)行環(huán)境7</p><p><b> 4.系統(tǒng)實(shí)現(xiàn)7</b></p><p> 4.1 模塊設(shè)計(jì)7</p><p> 4.2 主要包結(jié)構(gòu)7</p><p> 4.3 主要頁(yè)面截圖及功能實(shí)現(xiàn)7</p><p> 4.3.1 登錄界面7</p><p&
15、gt; 4.3.2 訂單管理界面8</p><p> 4.3.3 出入庫(kù)管理界面11</p><p> 4.3.4 系統(tǒng)基礎(chǔ)數(shù)據(jù)管理界面13</p><p><b> 5.總結(jié)16</b></p><p> 參 考 文 獻(xiàn)17</p><p><b> 致 謝17
16、</b></p><p><b> 緒論</b></p><p><b> 1.1背景和意義</b></p><p> 庫(kù)存管理系統(tǒng)是現(xiàn)代企業(yè)進(jìn)行貨物管理和處理的業(yè)務(wù)操作系統(tǒng)。它可以實(shí)現(xiàn)本地一個(gè)或幾個(gè)倉(cāng)庫(kù)的精細(xì)化管理,它可以對(duì)貨物存儲(chǔ)和出貨等進(jìn)行動(dòng)態(tài)安排,可以對(duì)倉(cāng)儲(chǔ)作業(yè)流程的全過(guò)程進(jìn)行電子化操作;可以與客
17、服中心建立數(shù)據(jù)接口使客戶(hù)通過(guò)互聯(lián)網(wǎng)實(shí)現(xiàn)遠(yuǎn)程貨物管理,可以與企業(yè)的ERP系統(tǒng)實(shí)現(xiàn)無(wú)縫連接。</p><p> 在現(xiàn)代企業(yè)中,倉(cāng)庫(kù)管理是一項(xiàng)繁瑣復(fù)雜的工作,每天要處理大量的單據(jù)數(shù)據(jù)。為及時(shí)結(jié)清每筆業(yè)務(wù),盤(pán)點(diǎn)庫(kù)存和貨物流動(dòng)情況,保證企業(yè)生產(chǎn)用料以及貨物安全,庫(kù)管人員要花費(fèi)大量人力物力和時(shí)間來(lái)作數(shù)據(jù)記錄統(tǒng)計(jì)工作。</p><p> 眾所周知,倉(cāng)庫(kù)管理是一種既麻煩又單調(diào)的工作,每天都是重復(fù)記錄一
18、些貨物的存入與取出,而且貨物的種類(lèi)數(shù)量繁多,存取有很大的隨機(jī)性,這樣為工作人員帶來(lái)了很大的不便,在操作過(guò)程中,由于人為的計(jì)算出錯(cuò)率很高,一旦出錯(cuò)改正也很困難,這樣簡(jiǎn)單繁重的工作要很多人來(lái)做,為經(jīng)營(yíng)者增加了很多成本。所以開(kāi)發(fā)一個(gè)可行的庫(kù)存管理系統(tǒng)是十分必要的。</p><p><b> 1.2本文的工作</b></p><p> 本系統(tǒng)以MySQL作為后臺(tái)數(shù)據(jù)庫(kù),以
19、java語(yǔ)言來(lái)開(kāi)發(fā)的,不僅實(shí)現(xiàn)了企業(yè)庫(kù)存管理的自動(dòng)化,同時(shí)也提高了工作效率。本系統(tǒng)由以下幾個(gè)模塊組成:基本信息管理、入庫(kù)管理、出庫(kù)管理、用戶(hù)管理。</p><p><b> 系統(tǒng)分析</b></p><p><b> 2.1需求分析</b></p><p> 本系統(tǒng)是為物流管理而設(shè)計(jì)的高效管理系統(tǒng),系統(tǒng)功能強(qiáng)大,同時(shí)
20、操作又比較簡(jiǎn)單,而管理人員大多受到過(guò)系統(tǒng)的培訓(xùn),并能夠操作電腦,所以只要花很少的時(shí)間,就能夠讓他們熟悉本系統(tǒng)。</p><p> 系統(tǒng)開(kāi)發(fā)的總體任務(wù)是實(shí)現(xiàn)各種信息的系統(tǒng)化、規(guī)范化和自動(dòng)化。系統(tǒng)功能分析是在系統(tǒng)開(kāi)發(fā)的總體任務(wù)的基礎(chǔ)上完成。</p><p><b> 2.2系統(tǒng)功能</b></p><p> 2.2.1系統(tǒng)功能描述</p
21、><p> 本庫(kù)存管理系統(tǒng)需要完成功能主要有:</p><p> 訂單管理,包括訂單的錄入,查詢(xún),更改,刪除,訂單明細(xì)的編輯等 </p><p> 入庫(kù)管理,包括入庫(kù)單的錄入,查詢(xún),更改,刪除,入庫(kù)明細(xì)的編輯以及入庫(kù)操作等</p><p> ● 出庫(kù)管理,包括出庫(kù)單的錄入,查詢(xún),更改,刪除,出庫(kù)明細(xì)的編輯以及出庫(kù)操作等</p>
22、<p> ● 倉(cāng)庫(kù)管理,包括倉(cāng)庫(kù)信息的查詢(xún),初始化和整理等操作</p><p> ● 基本數(shù)據(jù)管理,包括對(duì)系統(tǒng)用戶(hù)的基本信息和產(chǎn)品信息的操作,包含對(duì)用戶(hù)密碼的修改,基本信息的設(shè)置和查詢(xún),以及產(chǎn)品價(jià)格信息的修改等</p><p> 2.2.2系統(tǒng)業(yè)務(wù)流程圖</p><p> 圖2-1 系統(tǒng)業(yè)務(wù)流程圖</p><p> 2
23、.2.3系統(tǒng)的角色定義</p><p> 本系統(tǒng)角色包括三種,系統(tǒng)管理人員,銷(xiāo)售經(jīng)理和倉(cāng)庫(kù)管理人員。其中</p><p><b> 銷(xiāo)售經(jīng)理:</b></p><p> 對(duì)訂單進(jìn)行錄入,訂單基本信息的查詢(xún)?yōu)g覽等具體權(quán)限有:</p><p> ●訂單信息錄入和查詢(xún),修改刪除</p><p>
24、<b> ●密碼的修改</b></p><p><b> ●訂單明細(xì)的編輯</b></p><p><b> 倉(cāng)管部管理人員:</b></p><p> 負(fù)責(zé)倉(cāng)庫(kù)的出入庫(kù)管理,可以根據(jù)流向單實(shí)現(xiàn)出/入庫(kù)操作,負(fù)責(zé)整個(gè)企業(yè)倉(cāng)管部門(mén)的日常運(yùn)作和管理工作。具體權(quán)限有:</p><
25、p><b> ●訂單信息瀏覽</b></p><p> ●出庫(kù)單信息的維護(hù)以及出庫(kù)操作</p><p> ●入庫(kù)單信息的維護(hù)以及入庫(kù)操作</p><p><b> ●密碼的修改</b></p><p> ●倉(cāng)庫(kù)信息的維護(hù)及整理</p><p><b>
26、; 系統(tǒng)管理人員</b></p><p> 管理系統(tǒng)用戶(hù)、角色與權(quán)限,保證系統(tǒng)正常運(yùn)行</p><p><b> 2.3技術(shù)介紹</b></p><p> 2.3.1 JSP技術(shù)簡(jiǎn)介</p><p> JSP(Java Server Pages)是由Sun Microsystems 公司倡導(dǎo)、許多公
27、司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn),JSP技術(shù)在Servlet技術(shù)基礎(chǔ)上發(fā)展起來(lái)的,它正在飛速發(fā)展中,現(xiàn)已成為Java服務(wù)器編程的重要組成部分。它雖然還未成型,但是它必將和J2EE(Java 2 Enterprise Edition)一起發(fā)展。</p><p> JSP是結(jié)合markup(HTML和XML)和Java代碼來(lái)處理一種動(dòng)態(tài)頁(yè)面。每一頁(yè)第一次被調(diào)用時(shí),通過(guò)JSP引擎自動(dòng)被編譯成Servlet,然后被
28、執(zhí)行,以后每次調(diào)用時(shí),執(zhí)行編譯過(guò)的Servlet。JSP提供了多種方式訪問(wèn)Java class、Servlet、Applets和Web Server,因此,Web應(yīng)用的功能可以分成多個(gè)明確定義公用接口的組件,通過(guò)JSP將它們結(jié)合在一起.</p><p> 2.3.2 Servlet技術(shù)簡(jiǎn)介</p><p> Servlet是一些用來(lái)擴(kuò)展Web服務(wù)器功能的Web組件,它基于請(qǐng)求/響應(yīng)機(jī)制
29、。</p><p> 所有的程序代碼全部由JAVA組成,而且全部封裝成了一個(gè)類(lèi),可以編寫(xiě)任意的JAVA代碼,可以調(diào)用任意的JAVA類(lèi)。Servlet從客戶(hù)端(例如Web瀏覽器)獲得請(qǐng)求,然后,將響應(yīng)結(jié)果返回客戶(hù)端。Servlet的這種特點(diǎn)使它非常適合于Web應(yīng)用。Servlet和EJB組件的區(qū)別在于EJB組件所提供的服務(wù)器端組件特性并不能全部適用于Servlet,Servlet更適合于處理簡(jiǎn)單的請(qǐng)求/響應(yīng)任務(wù),
30、而且它不需要應(yīng)用服務(wù)器所提供的復(fù)雜服務(wù)的支持。</p><p> 2.3.3 MVC簡(jiǎn)介</p><p> MVC設(shè)計(jì)模式都是以Servlet為主題展開(kāi)的,由Servlet接收所有的客戶(hù)端請(qǐng)求,然后根據(jù)請(qǐng)求調(diào)用相應(yīng)的JavaBean,并將所有的顯示結(jié)果交給JSP完成。它強(qiáng)制性地使應(yīng)用程序的輸入、處理和輸出分開(kāi)。MVC設(shè)計(jì)模式被分為3個(gè)核心層,即模型層、顯示層和控制層。它們各自處理自己的
31、任務(wù),各層的任務(wù)如下。 </p><p> 顯示層(View):主要負(fù)責(zé)接收Servlet傳遞的內(nèi)容,并且調(diào)用JavaBean,將內(nèi)容顯示給用戶(hù)。</p><p> 控制層(Controller):主要負(fù)責(zé)所有的用戶(hù)請(qǐng)求參數(shù),判斷請(qǐng)求是否合法,根據(jù)請(qǐng)求的類(lèi)型調(diào)用JavaBean執(zhí)行操作并將最終的處理結(jié)果交由顯示層進(jìn)行顯示。</p><p> 模型層(Model
32、):完成一個(gè)獨(dú)立的業(yè)務(wù)操作組件,一般都是以JavaBean的形式進(jìn)行定義的。</p><p><b> 系統(tǒng)設(shè)計(jì)</b></p><p><b> 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p> 3.1.1數(shù)據(jù)庫(kù)需求分析</p><p> 數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí)應(yīng)該充分了解用戶(hù)的需求,包括現(xiàn)有的以及將來(lái)可能增加
33、的需求。數(shù)據(jù)庫(kù)設(shè)計(jì)包括如下幾個(gè)步驟:</p><p><b> 1.?dāng)?shù)據(jù)庫(kù)需求分析</b></p><p> 2. 數(shù)據(jù)庫(kù)概念設(shè)計(jì)</p><p> 3. 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)</p><p> 用戶(hù)的需求具體體現(xiàn)在各種信息的提供、保存、更新和查詢(xún)等方面,這就要求數(shù)據(jù)庫(kù)結(jié)構(gòu)能充分滿(mǎn)足各種信息的輸入輸出。根據(jù)基礎(chǔ)數(shù)據(jù)
34、、數(shù)據(jù)結(jié)構(gòu)以及數(shù)據(jù)處理的流程,組成一份詳細(xì)的數(shù)據(jù)字典,為后面的具體設(shè)計(jì)打下基礎(chǔ)。</p><p> 在仔細(xì)分析調(diào)查有關(guān)庫(kù)存信息需求的基礎(chǔ)上,通過(guò)上面的數(shù)據(jù)流程圖可以設(shè)計(jì)出下面的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)</p><p> 1.用戶(hù)管理基本信息,包括用戶(hù)名 ,用戶(hù)編號(hào),密碼,用戶(hù)等級(jí),用戶(hù)聯(lián)系方式(其中等級(jí)分三個(gè)級(jí)別) </p><p> 2.入庫(kù)單基本信息,包括入庫(kù)單編
35、號(hào),入庫(kù)單狀態(tài),倉(cāng)庫(kù)編號(hào),填單人</p><p> 3.入庫(kù)明細(xì)信息,包括入庫(kù)明細(xì)編號(hào),對(duì)應(yīng)入庫(kù)單編號(hào),產(chǎn)品名稱(chēng),入庫(kù)數(shù)量</p><p> 4.出庫(kù)單基本信息,包括出庫(kù)單編號(hào),狀態(tài),倉(cāng)庫(kù)編號(hào),填單人,訂單編號(hào)</p><p> 5.出庫(kù)明細(xì)信息,包括出庫(kù)明細(xì)編號(hào),對(duì)應(yīng)出庫(kù)單編號(hào),產(chǎn)品名稱(chēng),出庫(kù)數(shù)量</p><p> 6.訂單基本信息
36、,包括訂單編號(hào),狀態(tài),簽單日期,訂單金額,填單人</p><p> 7.訂單明細(xì)信息,包括訂單明細(xì)編號(hào),對(duì)應(yīng)訂單編號(hào),產(chǎn)品名稱(chēng),需求數(shù)量,已出庫(kù)數(shù)量</p><p> 8.產(chǎn)品基本信息,包括產(chǎn)品名稱(chēng),產(chǎn)品單價(jià)</p><p> 9.倉(cāng)庫(kù)基本信息,包括倉(cāng)庫(kù)編號(hào),倉(cāng)庫(kù)管理員,產(chǎn)品名稱(chēng),在庫(kù)數(shù)量</p><p> 這里為了方便每個(gè)表主鍵的生
37、成,還設(shè)計(jì)了一個(gè)主鍵生成表</p><p> 10.主鍵基本信息,包括對(duì)應(yīng)表名稱(chēng),主鍵值</p><p> 3.1.2數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)</p><p> 本庫(kù)存管理系統(tǒng)所用的數(shù)據(jù)庫(kù)是store,如下是表在數(shù)據(jù)庫(kù)的邏輯表示:</p><p> 表3.1 orders(訂單表)</p><p> 表3.2 orde
38、rsub(訂單明細(xì)表)</p><p> 表3.3 input(入庫(kù)單表)</p><p> 表3.4 inputsub(入庫(kù)明細(xì)表)</p><p> 表3.5 output(出庫(kù)單表)</p><p> 表3.6 outputsub(出庫(kù)明細(xì)表)</p><p> 表3.7 appuser(用戶(hù)表)<
39、;/p><p> 表3.8 storage(倉(cāng)庫(kù)表)</p><p> 表3.9 product(產(chǎn)品表)</p><p> 表3.10 product(主鍵表)</p><p> 3.2開(kāi)發(fā)工具及運(yùn)行環(huán)境</p><p> 1.開(kāi)發(fā)工具:MyEclipse6.0</p><p> 2.
40、軟件環(huán)境:Tomcat6.0,JDK5.0以上</p><p> 3.硬件環(huán)境:cpu:P3 2.0GHZ以上 Memory:512M以上</p><p><b> 系統(tǒng)實(shí)現(xiàn)</b></p><p><b> 4.1模塊設(shè)計(jì)</b></p><p> 本系統(tǒng)包括:訂單管理、出庫(kù)管理、入庫(kù)管理
41、、庫(kù)存總控臺(tái)、基礎(chǔ)數(shù)據(jù)(包括用戶(hù)信息和產(chǎn)品信息)管理五個(gè)功能模塊。</p><p><b> 4.2主要包結(jié)構(gòu)</b></p><p> 1.檢驗(yàn)用戶(hù)登錄 cn.hebau.store.servlet.LoginA</p><p> 2.訂單操作cn.hebau.store.servlet.Orders</p><p&
42、gt; 3.訂單明細(xì)操作cn.hebau.store.servlet.OrderSubs</p><p> 4.入庫(kù)單操作cn.hebau.store.servlet.InputAction</p><p> 5.入庫(kù)單明細(xì)操作cn.hebau.store.servlet.Inputs</p><p> 6.出庫(kù)單操作cn.hebau.store.servl
43、et.OutputAction</p><p> 7.出庫(kù)單明細(xì)操作cn.hebau.store.servlet.Outputs</p><p> 8.倉(cāng)庫(kù)操作cn.hebau.store.servlet.StorageAction</p><p> 9.系統(tǒng)用戶(hù)操作cn.hebau.store.servlet.AppuserAction</p>
44、<p> 10.產(chǎn)品操作cn.hebau.store.servlet.ProductAction</p><p> 考慮到實(shí)際需要,每個(gè)表的都還設(shè)計(jì)了一個(gè)主鍵生成器部分,主要是在</p><p> cn.hebau.store.dao.primarykey包下實(shí)現(xiàn)</p><p> 4.3主要頁(yè)面截圖及功能介紹</p><p&
45、gt;<b> 4.3.1登錄界面</b></p><p> 下面是主要是分模塊介紹各個(gè)部分的功能以及實(shí)現(xiàn)</p><p> 首先,登錄頁(yè)面,如圖4-1</p><p><b> 圖4-1 登錄頁(yè)面</b></p><p> 4.3.2訂單管理界面</p><p>
46、 登錄成功后跳轉(zhuǎn)到主頁(yè),這個(gè)頁(yè)面根據(jù)不同的用戶(hù),在設(shè)計(jì)這個(gè)頁(yè)面的時(shí)候要考慮到用戶(hù)的具體分工,剛開(kāi)始是想全部通過(guò)過(guò)濾器,后來(lái)發(fā)現(xiàn)過(guò)濾器很難全部過(guò)濾,就在前臺(tái)頁(yè)面實(shí)現(xiàn),不具有該功能的用戶(hù)在點(diǎn)擊具體的總模塊名時(shí),按鈕不能彈開(kāi)。</p><p> 圖4-2 系統(tǒng)主界面</p><p> 其中訂單管理頁(yè)面如圖4-3</p><p><b> 圖4-3 訂單管
47、理</b></p><p> 點(diǎn)擊修改按鈕進(jìn)行訂單明細(xì)編輯,如圖4-4</p><p> 圖4-4 訂單明細(xì)管理</p><p> 點(diǎn)擊添加后則錄入新的一條訂單明細(xì),相應(yīng)的訂單金額也根據(jù)數(shù)量*單價(jià)計(jì)算出來(lái),如果點(diǎn)擊刪除,則訂單明細(xì)的金額也做相應(yīng)的減法操作</p><p> 訂單管理頁(yè)面包括訂單的查詢(xún),修改和刪除以及對(duì)訂單明
48、細(xì)的編輯。只要訂單界面出于未出庫(kù)狀態(tài)就可以對(duì)該訂單進(jìn)行明細(xì)編輯,包括添加和刪除操作,已經(jīng)出了庫(kù)的訂單就不對(duì)其進(jìn)行操作了,每一個(gè)訂單編號(hào)都有相應(yīng)的超鏈接,可從數(shù)據(jù)庫(kù)中查出與之相對(duì)應(yīng)的出庫(kù)信息。</p><p> 這一層的具體實(shí)現(xiàn)代碼時(shí)在cn.hebau.store.servlet包下的OrderAction和OrderSubs中實(shí)現(xiàn)的</p><p><b> 部分代碼如下:&
49、lt;/b></p><p> public void doGet(HttpServletRequest request, HttpServletResponse response)</p><p> throws ServletException, IOException {</p><p> HttpSession session=request.g
50、etSession();</p><p> String method= request.getParameter("method");</p><p> if(method.equals("all")){//查詢(xún)</p><p> List orders= DbFactory.getOrderDaoInstance()
51、.selectAll();</p><p> session.setAttribute("orders", orders);</p><p> response.sendRedirect("/store/order/list.jsp?"); </p><p><b> }</b></p>
52、<p> else if(method.equals("del")){//刪除</p><p> int id=Integer.parseInt(request.getParameter("id"));</p><p> DbFactory.getOrderDaoInstance().deleteById(id);</p&g
53、t;<p> List orders= DbFactory.getOrderDaoInstance().selectAll();</p><p> session.setAttribute("orders", orders);</p><p> response.sendRedirect("/store/order/list.jsp?&qu
54、ot;); </p><p><b> }</b></p><p><b> }</b></p><p> public void doPost(HttpServletRequest request, HttpServletResponse response)</p><p> throws
55、 ServletException, IOException { </p><p> HttpSession session=request.getSession();</p><p> String method= request.getParameter("method");</p><p> if(method.equals(&quo
56、t;insert")){//查詢(xún)</p><p> Orders order=new Orders();</p><p> String orderinput=new String(request.getParameter("orderinput").getBytes("ISO-8859-1"),"GBK");
57、 if(DbFactory.getAppuserDaoInstance().findByname(orderinput))</p><p><b> { </b></p><p> try { order.setOrderid(DbFactory.getOrderDaoInstance().getNextKey());</p><
58、p> order.setOrderinput(orderinput);</p><p> Date orderdate = new java.text.SimpleDateFormat("yyyy-M-dd").parse(request.getParameter("orderdate").toString().trim());</p><p&
59、gt; System.out.println(orderdate+"gggggggggggggggggggg");</p><p> order.setOrderdate(orderdate);</p><p> DbFactory.getOrderDaoInstance().insert(order);</p><p> List or
60、ders= DbFactory.getOrderDaoInstance().selectAll();</p><p> session.setAttribute("orders", orders); </p><p> } catch (Exception e) {</p><p> e.printStackTrace();</
61、p><p><b> }</b></p><p> response.sendRedirect("/store/order/list.jsp?"); </p><p><b> }</b></p><p><b> else{</b></p>
62、<p> session.setAttribute("errmsg1","<script>showError(document.getElementById('orderinput'),'填單人不具權(quán)限!');</script>"); </p><p> response.sendRedirect(&
63、quot;/store/order/add.jsp?"); </p><p><b> }</b></p><p><b> }</b></p><p> else if(method.equals("sel")){//查詢(xún)</p><p> Orders o
64、rder=new Orders();</p><p><b> try {</b></p><p> Date one = new java.text.SimpleDateFormat("yyyy-M-dd").parse(request.getParameter("orderdate1").toString().trim(
65、));</p><p> Date two = new java.text.SimpleDateFormat("yyyy-M-dd").parse(request.getParameter("orderdate2").toString().trim());</p><p> List orders=DbFactory.getOrderDaoIns
66、tance().selectByDate(one, two);</p><p> session.setAttribute("orders", orders); </p><p> } catch (ParseException e1) {</p><p> e1.printStackTrace();</p><p
67、><b> }</b></p><p> response.sendRedirect("/store/order/list.jsp?"); </p><p><b> }</b></p><p><b> }</b></p><p> 如果該
68、訂單已經(jīng)存在對(duì)應(yīng)的出庫(kù)單,則在訂單明細(xì)頁(yè)面下方顯示每份出庫(kù)單詳細(xì)信息。由于銷(xiāo)售經(jīng)理只具有簽入訂單的權(quán)限,所以如果登錄用戶(hù)是銷(xiāo)售經(jīng)理的話,那么他只具有對(duì)訂單的增刪改查功能。</p><p> 4.3.3出入庫(kù)管理界面</p><p> 接下來(lái)是倉(cāng)庫(kù)管理員的登錄界面,他主要負(fù)責(zé)對(duì)庫(kù)存進(jìn)行維護(hù),以及出庫(kù)和入庫(kù)操作,出庫(kù)單來(lái)源除了從訂單管理那里生成之外,也可以新建出庫(kù)單,新建出庫(kù)單可以選擇尚有
69、產(chǎn)品未出庫(kù)的訂單,也可以不選擇任何訂單進(jìn)行出庫(kù)。如圖</p><p> 4-5所示。點(diǎn)擊出庫(kù)操作按鈕,只有訂單狀態(tài)出于未出庫(kù)或未完全出庫(kù)時(shí)才能生成出庫(kù)單,確定生成出庫(kù)單后,開(kāi)始進(jìn)入倉(cāng)庫(kù)選擇界面,如圖4-6所示</p><p><b> 圖4-5 出庫(kù)管理</b></p><p> 圖4-6 倉(cāng)庫(kù)選擇界面</p><p&
70、gt; 用戶(hù)可以根據(jù)倉(cāng)庫(kù)庫(kù)存量盡量選擇能滿(mǎn)足當(dāng)前訂單需求的倉(cāng)庫(kù)進(jìn)行出庫(kù)。</p><p> 這一種情況下對(duì)應(yīng)的出庫(kù)明細(xì)是自動(dòng)生成的,如果庫(kù)存不足,則按庫(kù)存量出庫(kù),否則按訂單需求出庫(kù),對(duì)應(yīng)的出庫(kù)明細(xì)如圖4-7</p><p> 圖4-7 出庫(kù)明細(xì)錄入</p><p> 點(diǎn)擊確認(rèn)出庫(kù)按鈕,則生成對(duì)應(yīng)的出庫(kù)明細(xì)記錄,自動(dòng)將出庫(kù)單狀態(tài)改為“已出庫(kù)”,根據(jù)出庫(kù)情況訂單
71、狀態(tài)也改為“部分出庫(kù)”或“已出庫(kù)”。如圖4-8所示。</p><p> 每一條訂單明細(xì)的已出庫(kù)數(shù)量以及相應(yīng)倉(cāng)庫(kù)號(hào)產(chǎn)品的庫(kù)存量也發(fā)生相應(yīng)改變。</p><p> 接下來(lái)是入庫(kù)單列表,包括增刪改查,點(diǎn)擊添加按鈕,則進(jìn)入,如圖4-9</p><p><b> 圖4-8 入庫(kù)管理</b></p><p> 圖4-9 入庫(kù)
72、單錄入</p><p> 如果不是庫(kù)存管理員則提示系統(tǒng)不可進(jìn)行該操作,入庫(kù)單狀態(tài)處于“未入庫(kù)”,點(diǎn)擊修改按鈕就可對(duì)入庫(kù)明細(xì)進(jìn)行編輯,如圖4-10</p><p> 圖4-10 入庫(kù)明細(xì)管理</p><p> 圖4-11 入庫(kù)明細(xì)編輯</p><p> 確認(rèn)入庫(kù)可對(duì)入庫(kù)單進(jìn)行入庫(kù),相應(yīng)的入庫(kù)單狀態(tài)自動(dòng)改為“已入庫(kù)”,而庫(kù)存中產(chǎn)品的數(shù)量也
73、自動(dòng)增加。如圖4-11;</p><p> 接下來(lái)是另一種情況的出庫(kù),即不對(duì)應(yīng)任何訂單</p><p> 可對(duì)出庫(kù)單進(jìn)行增刪改查操作。如果出庫(kù)單處于未出庫(kù),則對(duì)應(yīng)顯示的修改按鈕可對(duì)出庫(kù)明細(xì)進(jìn)行錄入,點(diǎn)擊確認(rèn)入庫(kù),如果庫(kù)存不足則提示庫(kù)存不足信息,跳轉(zhuǎn)到出庫(kù)明細(xì)編輯頁(yè)面繼續(xù)編輯,可以適當(dāng)減少出庫(kù)量。否則即出庫(kù)成功,對(duì)應(yīng)出庫(kù)單狀態(tài)自動(dòng)改為已出庫(kù),對(duì)應(yīng)倉(cāng)庫(kù)的產(chǎn)品庫(kù)存數(shù)量也減少,頁(yè)面跳轉(zhuǎn)至出庫(kù)列
74、表頁(yè)面,如圖4-12</p><p> 圖4-12 出庫(kù)明細(xì)錄入</p><p> 倉(cāng)庫(kù)管理:主要包括三個(gè)小模塊,初始化,歸零,數(shù)據(jù)整理操作</p><p> 根據(jù)系統(tǒng)當(dāng)前登錄用戶(hù),初始化顯示倉(cāng)庫(kù)所有庫(kù)存</p><p> 歸零是所有產(chǎn)品數(shù)量歸零</p><p> 數(shù)據(jù)整理操作是負(fù)責(zé)將刪除倉(cāng)庫(kù)中產(chǎn)品數(shù)量為零的
75、記錄;</p><p> 4.3.4系統(tǒng)基礎(chǔ)數(shù)據(jù)管理界面</p><p> 基礎(chǔ)數(shù)據(jù)信息:只有系統(tǒng)管理員才可對(duì)此部分操作</p><p> 首先是產(chǎn)品信息設(shè)置,如圖4-13</p><p> 圖4-13 產(chǎn)品信息設(shè)置</p><p> 包括產(chǎn)品的價(jià)格,以及名稱(chēng),設(shè)計(jì)的時(shí)候產(chǎn)品名稱(chēng)作為了產(chǎn)品表的主鍵,所以可對(duì)產(chǎn)
76、品單價(jià)進(jìn)行修改,如圖4-14</p><p> 圖4-14 產(chǎn)品價(jià)格修改</p><p> 2用戶(hù)信息設(shè)置,可以添加用戶(hù),對(duì)用戶(hù)資料修改,以及刪除用戶(hù),但是管理員不可刪除,如圖4-15,4-16所示;</p><p> 圖4-15 系統(tǒng)用戶(hù)管理</p><p> 圖4-16 系統(tǒng)用戶(hù)信息修改</p><p>
77、 個(gè)人信息管理是每個(gè)用戶(hù)的權(quán)限,可對(duì)當(dāng)前登錄用戶(hù)的密碼進(jìn)行修改,如圖4-17所示;</p><p> 圖4-17 用戶(hù)密碼修改</p><p> 下面是一些主要代碼的部分</p><p><b> 檢驗(yàn)用戶(hù)登錄</b></p><p> String pwd=request.getParameter("
78、password");</p><p> HttpSession session=request.getSession();</p><p> String username = request.getParameter("username");</p><p> String password =DbFactory.getApp
79、userDaoInstance().encryptPassword(request.getParameter("password"));</p><p> Appuser appuser = new Appuser();</p><p> //驗(yàn)證輸入的用戶(hù)名密碼是否準(zhǔn)確.準(zhǔn)確登陸系統(tǒng).否則返回系統(tǒng)登陸頁(yè)并提示錯(cuò)誤信息try {</p><p&g
80、t; if (DbFactory.getAppuserDaoInstance().checkLogin(username, pwd)) </p><p><b> {</b></p><p> int le= DbFactory.getAppuserDaoInstance().selectByname(username).getUserlevel();</
81、p><p> request.getSession().setAttribute("userlevel",le);</p><p> session.setAttribute("myid", DbFactory.getAppuserDaoInstance().selectByname(username).getUserid())</p>
82、<p> session.setAttribute("myp", DbFactory.getAppuserDaoInstance().selectByname(username).getPassword());</p><p> session.setAttribute("me", le);</p><p> session.set
83、Attribute("mine", username);</p><p> response.sendRedirect("/store/index.html");</p><p><b> } else {</b></p><p><b> //提示錯(cuò)誤信息</b></p
84、><p> request.setAttribute("errmsg","<script>showError(document.getElementById('username'),"</p><p> + "'用戶(hù)名或密碼錯(cuò)誤!');</script>");<
85、;/p><p> // 返回登錄界面request.getRequestDispatcher("/login.jsp").forward(request, response);</p><p><b> }</b></p><p> } catch (Exception e) {</p><p&g
86、t; e.printStackTrace();</p><p> } </p><p> 由于具體項(xiàng)目較大,代碼部分就不在此一一寫(xiě)出了,詳見(jiàn)具體項(xiàng)目部分。</p><p><b> 總結(jié)</b></p><p> 這是我第一次獨(dú)立完成這種較大項(xiàng)目的設(shè)計(jì),包括前
87、期的需求分析,系統(tǒng)各個(gè)部分的分模塊設(shè)計(jì),數(shù)據(jù)庫(kù)的設(shè)計(jì)等等。鑒于以前有過(guò)這種方面的小組合作經(jīng)驗(yàn),相對(duì)來(lái)說(shuō)不是很難。</p><p> 首先,一定要對(duì)自己做的項(xiàng)目有一個(gè)全面透徹的了解,它的主要流程,用戶(hù),實(shí)現(xiàn)的功能等等。這些我是通過(guò)以往的經(jīng)驗(yàn)和翻閱資料獲得的。在明確了需求分析這個(gè)基礎(chǔ)上,建立好數(shù)據(jù)庫(kù),確立需要的表。這些工作完成了,剩下的就主要是代碼部分的實(shí)現(xiàn)了,這是一個(gè)程序員的基本素質(zhì),相對(duì)來(lái)說(shuō)要容易一些。無(wú)外乎主
88、要是對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的增刪改查操作,所以利用JDBC以及對(duì)SQL語(yǔ)句的編寫(xiě)一定要很熟悉</p><p> 由于采用的是自己以前比較熟練的MVC架構(gòu)模式,整個(gè)代碼部分相對(duì)來(lái)說(shuō)要簡(jiǎn)潔明了一些。對(duì)于這個(gè)相較以往較大一點(diǎn)的項(xiàng)目來(lái)說(shuō),編程的第一步是搭建好框架。就是以分包的形式將程序分工,包括數(shù)據(jù)層,業(yè)務(wù)邏輯層和控制層。</p><p> 這種分包結(jié)構(gòu)的編寫(xiě)使得整個(gè)程序的安全性得到了提高,而且可重用性
89、得到了加強(qiáng)。由于時(shí)間倉(cāng)促和經(jīng)驗(yàn)匱乏,所以對(duì)整個(gè)系統(tǒng)表格各個(gè)屬性的建立顯得有點(diǎn)簡(jiǎn)單,跟實(shí)際有點(diǎn)脫軌,但基本上功能都能實(shí)現(xiàn),這將是一次很好的鍛煉機(jī)會(huì)。通過(guò)這次實(shí)訓(xùn),我對(duì)java編程思想有了更深一點(diǎn)的了解,編寫(xiě)代碼的熟練程度以及發(fā)現(xiàn)錯(cuò)誤的速度和修改能力都有了很大程度的提升,我知道自己相對(duì)來(lái)說(shuō)缺乏的是實(shí)際的工作經(jīng)驗(yàn),面臨具體的項(xiàng)目需求,這是需要改進(jìn)的地方。</p><p><b> 參 考 文 獻(xiàn)</b
90、></p><p> 1、Java2圖形設(shè)計(jì) 卷二:Swing (美) David M.Geary </p><p> 2、Java 2 編程思想 (美) Bruce Eckel </p><p> 3、劉永華,于春花.Java 網(wǎng)絡(luò)編程.清華大學(xué)出版社.2008 </p><p> 4、Java 語(yǔ)言與面向?qū)ο蟪绦蛟O(shè)計(jì)(清華大
91、學(xué)出版)印雯 編著</p><p> 5、Java多線程編程詳解 </p><p> http://www.web521.com/server/K0715344.shtml</p><p> 6、李樹(shù)青.Java 通用范例開(kāi)發(fā)金典.電子工業(yè)出版社.2009</p><p> 7、龐永慶,翟鵬.Java 完全自學(xué)寶典.清華大學(xué)出版社.2
92、008</p><p> 8、薛為民, 夏文紅, 解侖.Java 應(yīng)用教程 北京:北京交通大學(xué)出版社 2005</p><p> 9、孫一林,彭波.Java 網(wǎng)絡(luò)編程實(shí)例.清華大學(xué)出版社.2003(4)</p><p> 10、胡少峰、趙克、耿春霞.一種基于Java技術(shù)的聊天室系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).</p><p> [J].電腦與信息技
93、術(shù) 2002年第04期</p><p> 11、郇戰(zhàn).基于Java的多平臺(tái)聊天系統(tǒng). [J].福建電腦2008年第01期</p><p><b> 致 謝</b></p><p> 大學(xué)學(xué)習(xí)生涯就要結(jié)束了,首先我要向我的母校——河北農(nóng)業(yè)大學(xué)致以深深的謝意。在這里度過(guò)了一段美好的、令我難忘的日子。</p><p>
94、 感謝我的指導(dǎo)老師馬建斌老師,是他在繁忙的工作與教學(xué)之余,一次次不厭其煩地幫我分析相關(guān)技術(shù),解決技術(shù)難題,并教給我正確的研究方法,研究思路,沒(méi)有馬老師的幫助我不可能按時(shí)順利完成本設(shè)計(jì)。在馬老師的指導(dǎo)下,我不僅順利地完成了此畢業(yè)設(shè)計(jì),而且初步掌握了計(jì)算機(jī)學(xué)科進(jìn)行科學(xué)研究的正確研究態(tài)度,思考方法,研究方法,為我今后的更好地學(xué)習(xí)和工作打下了堅(jiān)實(shí)的基礎(chǔ)。馬老師淵博的知識(shí),嚴(yán)謹(jǐn)?shù)慕虒W(xué)作風(fēng),精益求精的工作態(tài)度,是我永遠(yuǎn)的學(xué)習(xí)榜樣。</p&g
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件工程畢業(yè)論文-企業(yè)成品庫(kù)存管理的設(shè)計(jì)與實(shí)現(xiàn)(前臺(tái))
- 軟件工程畢業(yè)論文-庫(kù)存管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 軟件工程畢業(yè)論文-醫(yī)院住院管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——后臺(tái)管理
- 企業(yè)成品庫(kù)存管理的設(shè)計(jì)與實(shí)現(xiàn)(后臺(tái))
- 軟件工程畢業(yè)論文-庫(kù)存管理系統(tǒng)(mis)的設(shè)計(jì)與實(shí)現(xiàn)
- 軟件工程畢業(yè)論文-網(wǎng)絡(luò)教學(xué)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——后臺(tái)管理
- 軟件工程畢業(yè)論文-停車(chē)場(chǎng)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——后臺(tái)管理
- 軟件工程畢業(yè)論文-農(nóng)業(yè)信息發(fā)布系統(tǒng)-后臺(tái)設(shè)計(jì)與實(shí)現(xiàn)
- 軟件工程畢業(yè)論文-車(chē)票預(yù)定信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——后臺(tái)管理
- 軟件工程畢業(yè)論文-農(nóng)產(chǎn)品追溯系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)--后臺(tái)管理
- 軟件工程畢業(yè)論文-汽車(chē)銷(xiāo)售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-庫(kù)存管理模塊
- 軟件工程畢業(yè)論文-制造業(yè)mis的設(shè)計(jì)與實(shí)現(xiàn)——庫(kù)存管理
- 軟件工程畢業(yè)論文-基于jsp的圖書(shū)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)—后臺(tái)管理
- 軟件工程畢業(yè)論文-家長(zhǎng)學(xué)校交流平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)--后臺(tái)管理
- 軟件工程畢業(yè)論文-基于jsp的圖書(shū)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)—后臺(tái)管理 2
- 軟件工程畢業(yè)論文-企業(yè)人事管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 軟件工程畢業(yè)論文-視頻點(diǎn)播器---后臺(tái)管理的設(shè)計(jì)
- 軟件工程畢業(yè)論文-酒店餐飲管理的設(shè)計(jì)與實(shí)現(xiàn)
- 軟件工程畢業(yè)論文-駕校管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 軟件工程畢業(yè)論文-學(xué)生管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
評(píng)論
0/150
提交評(píng)論