




已閱讀5頁(yè),還剩33頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
淮陰師范學(xué)院畢業(yè)論文(設(shè)計(jì))畢 業(yè) 論 文學(xué)生姓名學(xué) 號(hào)學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院專(zhuān) 業(yè)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院(軟件工程)題 目基于JSP的倉(cāng)庫(kù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘要:倉(cāng)庫(kù)管理系統(tǒng)是一個(gè)企業(yè)不可或缺的部分,高效的倉(cāng)庫(kù)管理系統(tǒng)可以為企業(yè)的發(fā)展和經(jīng)營(yíng)提供堅(jiān)強(qiáng)的后盾。隨著科技的不斷發(fā)展,用計(jì)算機(jī)對(duì)倉(cāng)庫(kù)進(jìn)行管理,具有人工管理所無(wú)法比擬的優(yōu)點(diǎn),例如:檢索迅速、查找方便、保密性好、成本低、壽命長(zhǎng)等。這些優(yōu)點(diǎn)能極大地提高倉(cāng)庫(kù)管理的效率, 使企業(yè)的倉(cāng)庫(kù)管理井井有條,為企業(yè)的健康發(fā)展創(chuàng)造良好的條件。本文在分析現(xiàn)有管理系統(tǒng)開(kāi)發(fā)技術(shù)的基礎(chǔ)上,實(shí)現(xiàn)了以Eclipse為開(kāi)發(fā)平臺(tái)的基于JSP的,以MySql作為后臺(tái)數(shù)據(jù)庫(kù)的倉(cāng)庫(kù)管理系統(tǒng)。該系統(tǒng)主要具備基本信息管理、庫(kù)存管理、信息查詢(xún)、用戶(hù)管理等功能模塊。關(guān)鍵詞:倉(cāng)庫(kù)管理,JSP,MySql數(shù)據(jù)庫(kù)Abstract: Warehouse management system is an indispensable part of the enterprise. A warehouse management system with high efficiency can provide a strong backing for the development and management of enterprises. With the development of technology,to manage the warehouse with computer has the incomparable advantages of manual management.For example, quick search, find convenient, good security, low cost, long service life etc. These advantages can greatly improve the efficiency of warehouse management, the enterprise storage management be arranged in good order, and create good conditions for the healthy development of enterprises. In this paper, based on analysis of the existing management system development technology, in order to realize the Eclipse as the development platform based on JSP, using MySql as the background database warehouse management system. The system mainly has the basic information management, inventory management, information query, user management moduleKeywords: Warehouse management, JSP, MySql database目 錄1 緒論41.1 開(kāi)發(fā)背景41.2 開(kāi)發(fā)意義41.3 本文組織結(jié)構(gòu)42 系統(tǒng)解決方案52.1 JSP語(yǔ)言概述52.2 SSH框架52.3 MySql數(shù)據(jù)庫(kù)52.4 系統(tǒng)平臺(tái)環(huán)境53 需求分析63.1 面向的用戶(hù)人群63.2 功能需求分析63.3 業(yè)務(wù)流程圖74 數(shù)據(jù)庫(kù)設(shè)計(jì)94.1 E-R模型94.2 數(shù)據(jù)模型125 詳細(xì)設(shè)計(jì)155.1 數(shù)據(jù)庫(kù)連接類(lèi)155.2 系統(tǒng)主要模塊16結(jié) 論34參 考 文 獻(xiàn)35致 謝361 緒論1.1 開(kāi)發(fā)背景一直以來(lái)企業(yè)使用傳統(tǒng)人工的方式來(lái)管理文件庫(kù)存,這種管理方式存在許多缺點(diǎn),如: 保密性差、效率低等,而且時(shí)間一長(zhǎng),將產(chǎn)生大量的數(shù)據(jù)和文件, 這對(duì)于企業(yè)查找、更新和維護(hù)都帶來(lái)了很多的困難。由于缺乏科學(xué)的管理和管理工具,企業(yè)在業(yè)務(wù)上和管理上的安排都存在著許多不便。因而針對(duì)這些問(wèn)題而開(kāi)發(fā)的系統(tǒng)具有很好的前景。1.2 開(kāi)發(fā)意義隨著時(shí)代的不斷發(fā)展,社會(huì)正在不斷向信息化時(shí)代邁進(jìn)。由于能夠有效地收集和處理各種信息,提高辦事效率,電子自動(dòng)化辦公越來(lái)越被重視。而隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,又為電子自動(dòng)化辦公的發(fā)展提供了良好的前景。如今,很多企業(yè)已經(jīng)擁有了計(jì)算機(jī)設(shè)備,具備物質(zhì)條件,但很多工作仍由管理者手工操作完成,這就造成不必要的浪費(fèi)。計(jì)算機(jī)流行的原因主要有以下幾個(gè)方面:1.計(jì)算機(jī)可以代替手工操作進(jìn)行許多繁雜的工作;2.計(jì)算機(jī)可以節(jié)省大量資源;3.計(jì)算機(jī)可以極大地提高人們的工作效率;4.計(jì)算機(jī)可以使敏感文檔更加安全;5.電子自動(dòng)化辦公是先進(jìn)生產(chǎn)力發(fā)展的重要標(biāo)志。綜上所述,用計(jì)算機(jī)開(kāi)發(fā)的軟件系統(tǒng),替代人工操作進(jìn)行管理,可以節(jié)約大量的人力、物力,是企業(yè)發(fā)展的必然趨勢(shì)1!1.3 本文組織結(jié)構(gòu)本系統(tǒng)將以課本和一些課外書(shū)籍為參考,從系統(tǒng)開(kāi)發(fā)背景需求分析概要設(shè)計(jì)詳細(xì)設(shè)計(jì)具體開(kāi)發(fā)一步步對(duì)系統(tǒng)進(jìn)行分析和設(shè)計(jì)。各個(gè)章節(jié)安排如下:第一章為緒論,簡(jiǎn)述項(xiàng)目的開(kāi)發(fā)背景和開(kāi)發(fā)意義;第二章詳細(xì)介紹了項(xiàng)目開(kāi)發(fā)的應(yīng)用技術(shù),比如JSP,框架和數(shù)據(jù)庫(kù)等;第三章是需求分析,介紹了系統(tǒng)的設(shè)計(jì)目標(biāo)和系統(tǒng)的主要功能模塊。第四章是數(shù)據(jù)庫(kù)設(shè)計(jì),在E-R模型的基礎(chǔ)上,再設(shè)計(jì)出相應(yīng)的邏輯模型。第五章根據(jù)系統(tǒng)功能模塊詳細(xì)介紹了各模塊的設(shè)計(jì)過(guò)程并給出部分實(shí)現(xiàn)代碼。2 系統(tǒng)解決方案2.1 JSP語(yǔ)言概述JSP(Java Server Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。它的主要目的是將表示邏輯從Servlet中分離出來(lái)。它是在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶(hù)端的僅是得到的結(jié)果,這樣大大降低了對(duì)客戶(hù)瀏覽器的要求,即使客戶(hù)瀏覽器端不支持Java,也可以訪(fǎng)問(wèn)JSP網(wǎng)頁(yè)。用JSP開(kāi)發(fā)的Web應(yīng)用是跨平臺(tái)的,既能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行2。2.2 SSH框架SSH 在J2EE項(xiàng)目中表示了3種框架,即 Spring + Struts +Hibernate。本系統(tǒng)采用MVC開(kāi)發(fā)模式來(lái)編寫(xiě)代碼,MVC全名是Model View Controller,是模型(model)視圖(view)控制器(controller)的縮寫(xiě)3。Struts對(duì)Model,View和Controller都提供了對(duì)應(yīng)的組件。Spring是一個(gè)輕量級(jí)的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架,它由Rod Johnson創(chuàng)建。它是為了解決企業(yè)應(yīng)用開(kāi)發(fā)的復(fù)雜性而創(chuàng)建的4。Spring使用基本的JavaBean來(lái)完成以前只可能由EJB完成的事情。 Hibernate是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,可以應(yīng)用在任何使用JDBC的場(chǎng)合,可以在Servlet/JSP的Web應(yīng)用中使用,也可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任5。2.3 MySql數(shù)據(jù)庫(kù)MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典MySQL AB公司開(kāi)發(fā),目前屬于Oracle公司。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi),這樣就增加了速度并提高了靈活性。MySQL的SQL語(yǔ)言是用于訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的最常用標(biāo)準(zhǔn)化語(yǔ)言。由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),一般中小型網(wǎng)站的開(kāi)發(fā)都選擇MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)6。2.4 系統(tǒng)平臺(tái)環(huán)境(1)硬件環(huán)境:服務(wù)器:CPU: 2G或以上;內(nèi)存:1G RAM或以上;硬盤(pán):80G或以上;客戶(hù)端:CPU: 1G或以上;內(nèi)存:64MB以上內(nèi)存或更高;硬盤(pán):20G或以上。(2)軟件開(kāi)發(fā)環(huán)境:操作系統(tǒng):WindowsXP;所用工具:Eclipse,Navicat for MySQL;數(shù)據(jù)庫(kù):MySQL。3 需求分析3.1 面向的用戶(hù)人群1. 管理員:作為系統(tǒng)的管理員和維護(hù)者,對(duì)系統(tǒng)基本信息、倉(cāng)庫(kù)管理等模塊進(jìn)行數(shù)據(jù)的管理,并對(duì)系統(tǒng)的更新作出及時(shí)的響應(yīng),使得系統(tǒng)能更好地運(yùn)行。2. 普通用戶(hù):作為系統(tǒng)的使用者,注冊(cè)登陸系統(tǒng)后,可以查詢(xún)系統(tǒng)基本信息、倉(cāng)庫(kù)信息、修改個(gè)人信息等。3.2 功能需求分析倉(cāng)庫(kù)管理系統(tǒng)基本信息管理庫(kù)存管理信息查詢(xún)用戶(hù)管理用戶(hù)添加,刪除用戶(hù)密碼修改添加入庫(kù)記錄添加出庫(kù)記錄按倉(cāng)庫(kù)查詢(xún)按貨物查詢(xún)用戶(hù)添加刪除用戶(hù)權(quán)限修改系統(tǒng)設(shè)置個(gè)人信息修改圖3-1 系統(tǒng)功能模塊圖本系統(tǒng)是一款倉(cāng)庫(kù)管理系統(tǒng),旨在對(duì)倉(cāng)庫(kù)的自動(dòng)化管理以適應(yīng)信息化社會(huì)的生產(chǎn)方式。根據(jù)倉(cāng)庫(kù)管理系統(tǒng)的需求,劃分了倉(cāng)庫(kù)的功能模塊,主要分為用戶(hù)管理模塊、入庫(kù)出庫(kù)模塊、倉(cāng)庫(kù)查詢(xún)模塊、盤(pán)點(diǎn)統(tǒng)計(jì)模塊7。具體功能如圖3-1所示。3.3 業(yè)務(wù)流程圖該系統(tǒng)的用戶(hù)分為普通用戶(hù)和管理員。管理員擁有所有權(quán)限,而普通用戶(hù)只能進(jìn)行查詢(xún)的操作。13.3.1 管理員模塊圖3-2 管理員使用流程圖管理員使用流程如圖3-2所示。1. 登錄登陸界面包括賬號(hào)和密碼兩個(gè)文本框和身份選擇單選框,用戶(hù)登陸成功就會(huì)轉(zhuǎn)到系統(tǒng)主頁(yè)面,否則將會(huì)提示賬號(hào)密碼錯(cuò)誤。2. 查詢(xún)信息用戶(hù)登陸查詢(xún)信息界面可以對(duì)倉(cāng)庫(kù)信息(倉(cāng)庫(kù)、貨物、供應(yīng)商、部門(mén)、入庫(kù)單、出庫(kù)單)進(jìn)行查詢(xún)。3. 設(shè)置信息(管理員)管理員用戶(hù)登陸設(shè)置信息界面可以對(duì)倉(cāng)庫(kù)信息(倉(cāng)庫(kù)、貨物、供應(yīng)商、部門(mén)、入庫(kù)單、出庫(kù)單)進(jìn)行設(shè)置。4. 添加記錄(管理員)管理員用戶(hù)登陸添加界面可以添加入庫(kù)和出庫(kù)信息。5. 修改密碼用戶(hù)可以修改自己的密碼,需要先驗(yàn)證舊密碼,驗(yàn)證成功后通過(guò)輸入兩次新密碼對(duì)密碼進(jìn)行修改。6. 用戶(hù)管理(管理員)管理員用戶(hù)可以對(duì)已添加的用戶(hù)權(quán)限進(jìn)行修改,也可以刪除已存在的用戶(hù)。3.3.2 普通用戶(hù)模塊圖3-3 普通用戶(hù)使用流程圖普通用戶(hù)使用流程如圖3-3所示。普通用戶(hù)只能進(jìn)行查詢(xún)操作和修改個(gè)人信息。4 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)是一種存儲(chǔ)數(shù)據(jù)并對(duì)數(shù)據(jù)進(jìn)行操作的工具。數(shù)據(jù)庫(kù)的作用在于組織和表達(dá)信息,即數(shù)據(jù)庫(kù)就是相關(guān)信息的集合。本章從E-R模型的分析設(shè)計(jì)為切入點(diǎn),重點(diǎn)介紹了數(shù)據(jù)庫(kù)的設(shè)計(jì)。根據(jù)倉(cāng)庫(kù)管理系統(tǒng)的功能,將其E-R圖轉(zhuǎn)化為數(shù)據(jù)庫(kù)表,為系統(tǒng)的實(shí)現(xiàn)奠定了基礎(chǔ)。4.1 E-R模型E-R模型即實(shí)體-聯(lián)系模型,它是由實(shí)體集、屬性和聯(lián)系集構(gòu)成。實(shí)體集用矩形框表示,矩形框內(nèi)寫(xiě)上實(shí)體名。實(shí)體的屬性用橢圓框表示,框內(nèi)寫(xiě)上屬性名,并用無(wú)向邊與其對(duì)應(yīng)的實(shí)體集相連。實(shí)體間的聯(lián)系用菱形框表示,菱形框中寫(xiě)上以適當(dāng)?shù)暮x命名的名字,用無(wú)向連線(xiàn)將參加聯(lián)系的實(shí)體矩形框分別與菱形框相連,并在連線(xiàn)上標(biāo)明聯(lián)系的類(lèi)型,即11、1N或MN。本系統(tǒng)的E-R模型主要包括部門(mén)實(shí)體、貨物實(shí)體、用戶(hù)實(shí)體、供應(yīng)商實(shí)體、倉(cāng)庫(kù)實(shí)體、入庫(kù)單實(shí)體和出庫(kù)單實(shí)體共七個(gè)實(shí)體集和一個(gè)各實(shí)體聯(lián)系集。E-R模型如下文所述。4566.11. 部門(mén)實(shí)體用來(lái)存儲(chǔ)部門(mén)信息,E-R圖如圖4-1所示:部門(mén)部門(mén)電話(huà)部門(mén)地址部門(mén)經(jīng)理部門(mén)編號(hào)部門(mén)名稱(chēng)圖4-1 部門(mén)實(shí)體E-R圖2. 貨物實(shí)體用來(lái)存儲(chǔ)貨物信息,E-R圖如圖4-2所示:貨物貨物編號(hào)供貨商編號(hào)計(jì)量單位貨物價(jià)格貨物規(guī)格貨物名稱(chēng)圖4-2 貨物實(shí)體E-R圖3. 用戶(hù)實(shí)體用來(lái)存儲(chǔ)用戶(hù)信息,E-R圖如圖4-3所示:用戶(hù)用戶(hù)編號(hào)用戶(hù)密碼用戶(hù)權(quán)限用戶(hù)名圖4-3用戶(hù)實(shí)體E-R圖4. 供應(yīng)商實(shí)體用來(lái)存儲(chǔ)供應(yīng)商信息,E-R圖如圖4-4所示:供應(yīng)商供應(yīng)商電話(huà)供應(yīng)商地址供應(yīng)商聯(lián)系人供應(yīng)商編號(hào)供應(yīng)商名稱(chēng)圖4-4供應(yīng)商實(shí)體E-R圖5. 倉(cāng)庫(kù)實(shí)體用來(lái)存儲(chǔ)倉(cāng)庫(kù)信息,E-R圖如圖4-5所示:倉(cāng)庫(kù)倉(cāng)庫(kù)電話(huà)庫(kù)存總量倉(cāng)庫(kù)管理員倉(cāng)庫(kù)編號(hào)已用庫(kù)存量圖4-5倉(cāng)庫(kù)實(shí)體E-R圖6. 入庫(kù)單實(shí)體用來(lái)存儲(chǔ)入庫(kù)單信息,E-R圖如圖4-6所示:入庫(kù)單入庫(kù)編號(hào)管理員編號(hào)倉(cāng)庫(kù)編號(hào)修改時(shí)間入庫(kù)時(shí)間入庫(kù)類(lèi)型貨物編號(hào)入庫(kù)數(shù)量圖4-6入庫(kù)單實(shí)體E-R圖7. 出庫(kù)單實(shí)體用來(lái)存儲(chǔ)出庫(kù)單信息,E-R圖如圖4-7所示:出庫(kù)單出庫(kù)編號(hào)管理員編號(hào)倉(cāng)庫(kù)編號(hào)修改時(shí)間出庫(kù)時(shí)間部門(mén)編號(hào)貨物編號(hào)出庫(kù)數(shù)量圖4-7出庫(kù)單實(shí)體E-R圖8各實(shí)體聯(lián)系E-R圖如圖4-8所示。用戶(hù)通過(guò)添加入庫(kù)單和出庫(kù)單記錄入庫(kù)信息和出庫(kù)信息,供應(yīng)商提供貨物,部門(mén)使用貨物,一條記錄對(duì)應(yīng)一個(gè)供應(yīng)商或者部門(mén),貨物入庫(kù)貨物出庫(kù)倉(cāng)庫(kù)入庫(kù)單出庫(kù)單供應(yīng)商部門(mén)貨物存放用戶(hù)添加nn11添加11nnmnmm圖4-8 各實(shí)體聯(lián)系E-R圖4.2 數(shù)據(jù)模型根據(jù)4.1中分析得出的E-R圖,本系統(tǒng)采用MySql數(shù)據(jù)庫(kù)管理系統(tǒng),在MySql數(shù)據(jù)庫(kù)管理系統(tǒng)中新建名稱(chēng)為mystorage的數(shù)據(jù)庫(kù),本系統(tǒng)所使用的所有數(shù)據(jù)信息均將存儲(chǔ)于該數(shù)據(jù)庫(kù)中。以下列舉數(shù)據(jù)表。11.11.21. 部門(mén)表(department)表4-1 部門(mén)表列名數(shù)據(jù)類(lèi)型大小說(shuō)明depaIdint4部門(mén)編號(hào)depaNamevarchar24部門(mén)名稱(chēng)depaPersonvarchar15部門(mén)經(jīng)理depaPhonechar11部門(mén)電話(huà)depaAddrvarchar90部門(mén)地址2. 貨物表(goods)表4-2 貨物表列名數(shù)據(jù)類(lèi)型大小說(shuō)明goodsIdint4貨物編號(hào)suppIdint4供應(yīng)商編號(hào)goodsNamevarchar30貨物名稱(chēng)goodsSizevarchar10貨物規(guī)格goodsPriceint4貨物價(jià)格unitchar6計(jì)量單位3. 入庫(kù)表(instore)表4-3 入庫(kù)表列名數(shù)據(jù)類(lèi)型大小說(shuō)明instIdint4入庫(kù)編號(hào)instClasschar1入庫(kù)類(lèi)型goodsIdint4貨物編號(hào)instNumint4入庫(kù)數(shù)量instTimedatetime8入庫(kù)時(shí)間modifyTimedatetime8修改時(shí)間stoIdint4倉(cāng)庫(kù)編號(hào)userIdint4管理員編號(hào)4. 出庫(kù)表(outstore)表4-4 出庫(kù)表列名數(shù)據(jù)類(lèi)型大小說(shuō)明outstIdint4出庫(kù)編號(hào)depaIdint4部門(mén)編號(hào)goodsIdint4貨物編號(hào)outstNumint4出庫(kù)數(shù)量outstTimedatetime8出庫(kù)時(shí)間modifyTimedatetime8修改時(shí)間stoIdint4倉(cāng)庫(kù)編號(hào)userIdint4管理員編號(hào)5. 倉(cāng)庫(kù)表(store)表4-5 倉(cāng)庫(kù)表列名數(shù)據(jù)類(lèi)型大小說(shuō)明stoIdint4倉(cāng)庫(kù)編號(hào)stoPersonvarchar15倉(cāng)庫(kù)管理員stoPhonechar11倉(cāng)庫(kù)電話(huà)usedVoluint4已用庫(kù)存量allVoluint4庫(kù)存總量6. 供應(yīng)商表(supplier)表4-6 供應(yīng)商表列名數(shù)據(jù)類(lèi)型大小說(shuō)明suppIdint4供應(yīng)商編號(hào)suppNamevarchar45供應(yīng)商名稱(chēng)suppPersonvarchar15供應(yīng)商聯(lián)系人suppPhonechar11供應(yīng)商電話(huà)suppAddrvarchar90供應(yīng)商地址7. 用戶(hù)表(user)表4-7 用戶(hù)表列名數(shù)據(jù)類(lèi)型大小說(shuō)明userIdint4用戶(hù)編號(hào)userNamevarchar15用戶(hù)名passvarchar16用戶(hù)密碼userLevelchar1用戶(hù)權(quán)限8. 庫(kù)存表(stock)表4-8 庫(kù)存表列名數(shù)據(jù)類(lèi)型大小說(shuō)明stoIdint4倉(cāng)庫(kù)編號(hào)goodsIdint4貨物編號(hào)stockint4庫(kù)存量以上就是mystorage數(shù)據(jù)庫(kù)的數(shù)據(jù)表。5 詳細(xì)設(shè)計(jì)5.1 數(shù)據(jù)庫(kù)連接類(lèi)在對(duì)數(shù)據(jù)庫(kù)連接的過(guò)程中,為了使代碼更精簡(jiǎn),將對(duì)數(shù)據(jù)庫(kù)的連接方法封裝在DriverMana公共類(lèi)中,其中包括數(shù)據(jù)庫(kù)連接方法getConn、ResultSet的關(guān)閉方法closers、PreparedStatement的關(guān)閉方法closepstmt、Connection的關(guān)閉方法closecon。以下即為代碼:public class DriverMana public static Connection getConn()Connection con=null;try Class.forName(com.mysql.jdbc.Driver);con=DriverManager.getConnection(jdbc:mysql:/localhost:3306/mystorage, root, root); catch (ClassNotFoundException e) e.printStackTrace(); catch (SQLException e) e.printStackTrace();return con;public static void closers(ResultSet rs)if(rs!=null)try rs.close(); catch (SQLException e) e.printStackTrace();public static void closepstmt(PreparedStatement pstmt)if(pstmt!=null)try pstmt.close(); catch (SQLException e) e.printStackTrace();public static void closecon(Connection con)if(con!=null)try con.close(); catch (SQLException e) e.printStackTrace();5.2 系統(tǒng)主要模塊5.2.1 登錄模塊圖5-1 登錄界面本模塊主要用于對(duì)用戶(hù)身份進(jìn)行鑒別。用戶(hù)有兩種身份:普通用戶(hù)和管理員。用戶(hù)通過(guò)單選框選擇登錄身份,通過(guò)表單輸入用戶(hù)名、密碼,系統(tǒng)根據(jù)用戶(hù)提供的信息對(duì)用戶(hù)進(jìn)行身份鑒別。界面如圖5-1所示。后臺(tái)代碼實(shí)現(xiàn):public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException String userName=request.getParameter(username);String password=request.getParameter(paswrd);String userLevel=request.getParameter(userLevel);User luser=new User();luser.setUserName(userName);luser.setPassword(password);luser.setUserLevel(userLevel);ILoginDao loginDao=new LoginDaoImpl();User login=loginDao.getUser(luser);if(login!=null)HttpSession session=request.getSession();session.setAttribute(login, login);ServletContext context=this.getServletContext();RequestDispatcher dispatcher;if(login.getUserLevel().equals(0)dispatcher=context.getRequestDispatcher(/comUser.jsp);elsedispatcher=context.getRequestDispatcher(/manaUser.jsp);dispatcher.forward(request, response);elserequest.setAttribute(loginFail,登錄失敗);ServletContext context=this.getServletContext();RequestDispatcher dispatcher=context.getRequestDispatcher(/login.jsp);dispatcher.forward(request, response);5.2.2 目錄生成模塊由登陸界面進(jìn)入主界面后,總體界面如圖5-2所示:圖5-2 主界面畫(huà)面左邊即為目錄。目錄模塊主要用于生成目錄部分,菜單的折疊展開(kāi)是使用javascript代碼實(shí)現(xiàn)的。菜單展開(kāi)折疊功能實(shí)現(xiàn)代碼:var divheight=130;var speed=11;var i=0;var s;var p=0;function doOpenClose(n)if(document.getElementById(bbb+n).offsetHeightdivheight)p=divheight;inc2(n);function inc(x)i=i+10;document.getElementById(bbb+x).style.height=i+px;if(idivheight)i=divheight-5;var s=setTimeout(inc(+x+),speed);if(i=125)window.clearTimeout(s);function inc2(x)if(p1)p=p-10;document.getElementById(bbb+x).style.height=p+px;var s=setTimeout(inc2(+x+),speed);if(p=0)window.clearTimeout(s);5.2.3 基本信息管理模塊基本信息管理模塊包括供應(yīng)商管理、貨物管理、倉(cāng)庫(kù)信息管理和部門(mén)管理。1. 供應(yīng)商管理本功能用于對(duì)供應(yīng)商信息的記錄管理。管理員可以添加新的供應(yīng)商,修改已有的供應(yīng)商信息,刪除供應(yīng)商信息等。界面如圖5-4所示:圖5-4 供應(yīng)商管理界面主要代碼:1) 添加供應(yīng)商public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException request.setCharacterEncoding(utf-8);response.setContentType(text/html;charset=utf-8);String suppName=request.getParameter(suppName);String suppPerson=request.getParameter(suppPerson);String suppPhone=request.getParameter(suppPhone);String suppAddr=request.getParameter(suppAddr);Supplier supplier=new Supplier();supplier.setSuppName(suppName);supplier.setSuppPerson(suppPerson);supplier.setSuppPhone(suppPhone);supplier.setSuppAddr(suppAddr);ISupplierDao supplierDao=new SupplierDaoImpl();int i=supplierDao.addSupplier(supplier);if(i0)request.setAttribute(addPromt, 添加成功!);elserequest.setAttribute(addPromt, 添加失??!);this.getServletContext().getRequestDispatcher(/addSupplier.jsp).forward(request, response);2) 刪除供應(yīng)商public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException String dele=request.getParameterValues(dele);int suppId=0;int rs=0;for(int i=0;i0)request.setAttribute(delePromt, 刪除成功!);elserequest.setAttribute(delePromt, 刪除失敗!);this.getServletContext().getRequestDispatcher(/toSupply).forward(request, response);2. 貨物管理本功能用于對(duì)貨物信息的記錄管理。管理員可以添加新的貨物,修改已有的貨物信息,刪除貨物信息等。界面如圖5-5所示:圖5-5 貨物管理界面實(shí)現(xiàn)代碼與供應(yīng)商管理相似。3. 倉(cāng)庫(kù)信息管理本功能用于對(duì)倉(cāng)庫(kù)信息的記錄管理。管理員可以添加新的倉(cāng)庫(kù),修改已有的倉(cāng)庫(kù)信息,刪除倉(cāng)庫(kù)信息等。界面如圖5-6所示:圖5-6 倉(cāng)庫(kù)管理界面實(shí)現(xiàn)代碼與供應(yīng)商管理相似。4. 部門(mén)管理圖5-7 部門(mén)管理界面本功能用于對(duì)部門(mén)信息的記錄管理。管理員可以添加新的部門(mén),修改已有的部門(mén)信息,刪除部門(mén)信息等。界面如圖5-7所示。實(shí)現(xiàn)代碼與供應(yīng)商管理相似。5.2.4 庫(kù)存管理模塊庫(kù)存管理模塊包括入庫(kù)管理、出庫(kù)管理和庫(kù)存管理。1. 入庫(kù)管理本功能用于對(duì)貨物入庫(kù)的記錄管理。當(dāng)某種已有貨物進(jìn)貨后,就可以在此處進(jìn)行添加新紀(jì)錄,查詢(xún)或刪除已有記錄等操作。界面如圖5-8所示:圖5-8 入庫(kù)管理界面主要代碼:1) 添加入庫(kù)單public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException response.setContentType(text/html);String instClass=request.getParameter(instClass);int goodsId=Integer.parseInt(request.getParameter(goodsId);double instNum=Double.parseDouble(request.getParameter(instNum);int stoId=Integer.parseInt(request.getParameter(stoId);Date date=new Date();HttpSession session=request.getSession();User login=(User)session.getAttribute(login);int userId=login.getUserId();Instore instore=new Instore();instore.setGoodsId(goodsId);instore.setInstClass(instClass);instore.setInstNum(instNum);instore.setStoId(stoId);instore.setInstTime(date);instore.setModifyTime(date);instore.setUserId(userId);IInstoreDao instoreDao=new InstoreDaoImpl();int i=0;if(request.getParameter(instId).equals()i=instoreDao.addInstore(instore);if(i0)IStockDao stockDao=new StockDaoImpl();Stock stock=new Stock();stock.setStoId(stoId);stock.setGoodsId(goodsId);stock.setStock(instNum);int j=0;if(stockDao.queryStock(stock)j=stockDao.updateStock(stock,1);elsej=stockDao.addStock(stock);int volume=Integer.parseInt(request.getParameter(volume);IStorageDao storageDao=new StorageDaoImpl();i=storageDao.updateStorage(volume, stoId,1);if(i0&j0)request.setAttribute(addPromt, 添加成功!);elserequest.setAttribute(addPromt, 添加失??!);elserequest.setAttribute(addPromt, 添加失敗!);elseint instId=Integer.parseInt(request.getParameter(instId);instore.setInstId(instId);instore.setModifyTime(new Date();i=instoreDao.updateInstore(instore);if(i0)request.setAttribute(modifyPromt, 修改成功!);elserequest.setAttribute(modifyPromt, 修改失??!);this.getServletContext().getRequestDispatcher(/toAddInstore).forward(request, response);2) 刪除入庫(kù)單public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException String dele=request.getParameterValues(dele);int instId=0;int rs=0;for(int i=0;i0)request.setAttribute(delePromt, 刪除成功!);elserequest.setAttribute(delePromt, 刪除失??!);this.getServletContext().getRequestDispatcher(/toInstore).forward(request, response);3) 修改入庫(kù)單public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException String dele=request.getParameterValues(dele);int instId=0;int rs=0;for(int i=0;i0)request.setAttribute(delePromt, 刪除成功!);elserequest.setAttribute(delePromt, 刪除失??!);this.getServletContext().getRequestDispatcher(/toInstore).forward(request, response);2. 出庫(kù)管理本功能用于對(duì)貨物出庫(kù)的記錄管理。當(dāng)某部門(mén)需要某種貨物時(shí),就可以在此處進(jìn)行添加新紀(jì)錄,查詢(xún)或刪除已有記錄等操作。界面如圖5-9所示:圖5-9 出庫(kù)管理界面功能實(shí)現(xiàn)代碼與入庫(kù)管理模塊相似。5.2.5 信息查詢(xún)模塊本模塊用于對(duì)數(shù)據(jù)進(jìn)行集中查詢(xún)處理。管理員可以根據(jù)需要查詢(xún)供應(yīng)商、貨物、倉(cāng)庫(kù)、部門(mén)、入庫(kù)單、出庫(kù)單信息,并可以對(duì)其進(jìn)行修改、刪除操作。1. 供應(yīng)商信息查詢(xún)本功能主要實(shí)現(xiàn)對(duì)供應(yīng)商信息的查詢(xún),用戶(hù)可以根據(jù)供應(yīng)商編號(hào)或供應(yīng)商名稱(chēng)等對(duì)供應(yīng)商信息進(jìn)行查詢(xún),界面如圖5-10所示:圖5-10 供應(yīng)商信息查詢(xún)界面主要代碼:public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException request.setCharacterEncoding(utf-8);response.setContentType(text/html;charset=utf-8);String queryCon=request.getParameter(queryCon);if(queryCon=null)queryCon=(String)request.getAttribute(queryCon);String standa=request.getParameter(standa);if(standa=null)standa=(String)request.getAttribute(standa);request.setAttribute(queryCon, queryCon);request.setAttribute(standa, standa);List suppList=new ArrayList();ISupplierDao supplierDao=new SupplierDaoImpl();if(standa.equals(id)int suppId=Integer.parseInt(queryCon);suppList=supplierDao.getSupplier(suppId);else if(standa.equals(name)suppList=supplierDao.getSupplier(queryCon);request.setAttribute(suppList, suppList);this.getServletContext().getRequestDispatcher(/querySupplier.jsp).forward(request, response);2. 貨物信息查詢(xún)本功能主要實(shí)現(xiàn)對(duì)貨物信息的查詢(xún),用戶(hù)可以根據(jù)貨物編號(hào)或貨物名稱(chēng)等對(duì)貨物信息進(jìn)行查詢(xún),界面如圖5-11所示:圖5-11 貨物信息查詢(xún)界面實(shí)現(xiàn)代碼與供應(yīng)商信息查詢(xún)相似。3. 倉(cāng)庫(kù)信息查詢(xún)本功能主要實(shí)現(xiàn)對(duì)倉(cāng)庫(kù)信息的查詢(xún),用戶(hù)可以根據(jù)倉(cāng)庫(kù)編號(hào)或倉(cāng)庫(kù)負(fù)責(zé)人等對(duì)倉(cāng)庫(kù)信息進(jìn)行查詢(xún),界面如圖5-12所示:圖5-12 倉(cāng)庫(kù)信息查詢(xún)界面實(shí)現(xiàn)代碼與供應(yīng)商信息查詢(xún)相似。4. 部門(mén)信息查詢(xún)本功能主要實(shí)現(xiàn)對(duì)部門(mén)信息的查詢(xún),用戶(hù)可以根據(jù)部門(mén)編號(hào)或部門(mén)名稱(chēng)等對(duì)部門(mén)信息進(jìn)行查詢(xún),界面如圖5-13所示:圖5-13 部門(mén)信息查詢(xún)界面實(shí)現(xiàn)代碼與供應(yīng)商信息查詢(xún)相似。5. 入庫(kù)單信息查詢(xún)本功能主要實(shí)現(xiàn)對(duì)入庫(kù)單信息的查詢(xún),用戶(hù)可以根據(jù)入庫(kù)單編號(hào)或入庫(kù)貨物等對(duì)入庫(kù)單信息進(jìn)行查詢(xún),界面如圖5-14所示:圖5-14 入庫(kù)單信息查詢(xún)界面實(shí)現(xiàn)代碼與供應(yīng)商信息查詢(xún)相似。6. 出庫(kù)單信息查詢(xún)本功能主要實(shí)現(xiàn)對(duì)出庫(kù)單信息的查詢(xún),用戶(hù)可以根據(jù)出庫(kù)單編號(hào)或出庫(kù)貨物等對(duì)貨物信息進(jìn)行查詢(xún),界面如圖5-15所示:圖5-15 出庫(kù)單信息查詢(xún)界面實(shí)現(xiàn)代碼與供應(yīng)商信息查詢(xún)相
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐飲企業(yè)品牌授權(quán)及合作推廣合同
- 公共交通樞紐停車(chē)場(chǎng)車(chē)位使用權(quán)轉(zhuǎn)讓合同
- 餐飲公司廚師崗位晉升與勞動(dòng)合同
- 拆除工程安全生產(chǎn)責(zé)任保險(xiǎn)合同
- 《有效教學(xué)》課件
- 醫(yī)學(xué)常見(jiàn)病癥診斷與處理知識(shí)測(cè)試試卷
- 《初二數(shù)學(xué)概率統(tǒng)計(jì)初步學(xué)習(xí)教案》
- 小學(xué)周長(zhǎng)教學(xué)課件
- 企業(yè)廢物管理與環(huán)境保護(hù)法律法規(guī)的執(zhí)行效果評(píng)估考核試卷
- 交通安全宣傳教育政策研究考核試卷
- QGDW11337-2023輸變電工程工程量清單計(jì)價(jià)規(guī)范
- 境外投資項(xiàng)目的財(cái)務(wù)評(píng)估方法
- 2025屆高考英語(yǔ)二輪復(fù)習(xí)備考策略課件
- 招標(biāo)控制價(jià)論文開(kāi)題報(bào)告
- 公司主數(shù)據(jù)管理細(xì)則
- 2025年廣東韶關(guān)城投集團(tuán)下屬韶關(guān)市第一建筑工程有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 2026年1月1日起施行新增值稅法全文課件
- 配電室巡檢培訓(xùn)
- 輸電線(xiàn)路施工培訓(xùn)
- 《電子料基礎(chǔ)知識(shí)》課件
- 采購(gòu)合規(guī)培訓(xùn)
評(píng)論
0/150
提交評(píng)論