版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、庫存管理系統(tǒng)的設(shè)計與開發(fā)專業(yè):計算機(jī)科學(xué)與技術(shù)目 錄摘要1abstract.1引言21開發(fā)工具及技術(shù)簡介21.1 java語言21.2 jsp語言21.3 sql語言31.4 sql server31.5 dreamweaver31.6 myeclipse31.7 b/s與mvc41.7.1 b/s41.7.2 mvc42 需求分析42.1 可行性分析42.2 系統(tǒng)的功能及要求53 系統(tǒng)設(shè)計53.1 系統(tǒng)功能模塊劃分53.2 數(shù)據(jù)流圖63.3 數(shù)據(jù)庫設(shè)計73.3.1系統(tǒng)概念結(jié)構(gòu)設(shè)計73.3.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計84 詳細(xì)設(shè)計104.1 登陸界面設(shè)計104.2 用戶信息管理114.3 入庫信息
2、維護(hù)144.4 出庫信息維護(hù)174.5 庫存管理信息維護(hù)204.6其它信息維護(hù)21結(jié)論21致 謝22參考文獻(xiàn)22庫存管理系統(tǒng)的設(shè)計與開發(fā)摘要:隨著信息化浪潮席卷全球,以網(wǎng)絡(luò)化、知識管理、全球化為主要特征的新型企業(yè)管理模式成為不可逆轉(zhuǎn)的趨勢。傳統(tǒng)的庫存管理在統(tǒng)計資料時耗時費(fèi)力,準(zhǔn)確度也比較低,很容易出錯,利用計算機(jī)技術(shù)的庫存管理可以隨時提取需要的各類信息、數(shù)據(jù)并準(zhǔn)確地完成其統(tǒng)計功能。本文采用jsp及sql server,按照軟件工程各階段的開發(fā)次序,實現(xiàn)了一個基于b/s模式的簡單庫存管理系統(tǒng)。該系統(tǒng)主要具有數(shù)據(jù)維護(hù)(材料信息表維護(hù)、領(lǐng)料單為維護(hù)、供貨商信息維護(hù)、用戶權(quán)限管理)、數(shù)據(jù)瀏覽查詢(材料
3、瀏覽查詢、領(lǐng)料瀏覽查詢、供貨瀏覽查詢)以及進(jìn)出材料管理(進(jìn)出貨信息維護(hù)、進(jìn)出貨信息查詢)等功能。關(guān)鍵詞:庫存管理;jsp;b/sthe design and development of stock management system abstract:as information technology is sweeping the globe, to network, knowledge management, globalization as the main feature of the new business management model to become an irreve
4、rsible trend. traditional stock management in statistical information time-consuming, the accuracy is relatively low, it is prone to error, using computer technology in inventory management can always extract all necessary information, data and accurately complete its statistical functions. basing o
5、n jsp and sql server, according to the software engineering stages of development, implementing a stock management system base on b / s model. the system mainly with data maintenance (material information table maintenance, requisition for the maintenance, maintenance of supplier information, user r
6、ights management), data browsing query (materials browse query, receive materials browse query, browse supplier inquiries) and access to materials management (into the shipping information maintenance,shipping information into the query) and so on.key words:stock management;jsp;b/s引言傳統(tǒng)的庫存管理是有人工來制作各種
7、表格來記錄出庫、入庫、貨物調(diào)配等數(shù)據(jù),在統(tǒng)計資料時耗時費(fèi)力,準(zhǔn)確度也比較低,很容易出錯,這在處于激烈市場競爭中是致命的1,利用計算機(jī)技術(shù)的庫存管理可以隨時提取需要的各類信息、數(shù)據(jù),并準(zhǔn)確地完成其統(tǒng)計功能,避免了以往出入庫流程復(fù)雜繁瑣、雜亂、周期長的弊端2。庫存管理系統(tǒng)是計算機(jī)應(yīng)用的一部分,使用計算機(jī)對商品進(jìn)行管理,方便對倉庫中的商品進(jìn)行出庫、入庫、剩余庫存量的統(tǒng)計和管理,同時實現(xiàn)對商品使用者權(quán)限設(shè)定和供應(yīng)商信息維護(hù)等功能,可以方便的了解商品存儲量和商品的基礎(chǔ)信息3。庫存管理系統(tǒng)主要是通過對倉庫所有入出庫活動的管理和控制及對庫存數(shù)據(jù)有效的統(tǒng)計和分析,以保證企業(yè)生產(chǎn)中暢通的物流,使決策人員及早發(fā)現(xiàn)
8、問題,采取相應(yīng)措施,調(diào)整庫存結(jié)構(gòu),縮短儲備周期,加速資金周轉(zhuǎn),最大限度地降低庫存占用4,同時,通過周期性的倉庫盤點,及時補(bǔ)救管理中的漏洞,使庫存管理系統(tǒng)實時地反映企業(yè)中各個倉庫的現(xiàn)時情況,為各類管理人員從不同側(cè)面提供所需信息,以便協(xié)調(diào)企業(yè)經(jīng)營收到更大效益,庫存管理系統(tǒng)是協(xié)調(diào)企業(yè)生產(chǎn)經(jīng)營的基礎(chǔ)5。但是一直以來人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護(hù)都帶來了不少的困難6。隨著科學(xué)技術(shù)的不斷提高,計算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識,它已進(jìn)入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用
9、7。作為計算機(jī)應(yīng)用的一部分,使用計算機(jī)對庫存信息進(jìn)行管理,具有手工管理所無法比擬的優(yōu)點。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等【8】。這些優(yōu)點能夠極大地提高庫存管理的效率,也是最科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。因此,我畢業(yè)設(shè)計中開發(fā)這樣一套庫存管理軟件成為很有必要的事情【9】。1開發(fā)工具及技術(shù)簡介1.1 java語言 java是一種簡單的面向?qū)ο蠓植际浇忉屝徒寻踩Y(jié)構(gòu)中立可移植的性能優(yōu)異、多線程的動態(tài)語言【10】。java語言的優(yōu)良特性使得java應(yīng)用具有無比的健壯性和可靠性,這也減少了應(yīng)用系統(tǒng)的維護(hù)費(fèi)用【11】。java對對象技術(shù)的全面支持和ja
10、va平臺內(nèi)嵌的api能縮短應(yīng)用系統(tǒng)的開發(fā)時間并且能夠降低成本。由于java的到處可運(yùn)行的特性,當(dāng)java編譯一次,它能夠提供一個隨處可用的開放結(jié)構(gòu)和在多平臺之間傳遞信息的低成本方式【12】。1.2 jsp語言jsp(java server pages)是由sun microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)13。jsp技術(shù)有點類似asp技術(shù),它是在傳統(tǒng)的網(wǎng)頁html文件(*.htm,*.html)中插入java程序段(scriptlet)和jsp標(biāo)記(tag),從而形成jsp文件(*.jsp)13。用jsp開發(fā)的web應(yīng)用是跨平臺的,既能在linux下運(yùn)行,也能
11、在其他操作系統(tǒng)上運(yùn)行。jsp技術(shù)使用java編程語言編寫類xml的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。jsp將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計和顯示分離,支持可重用的基于組件的設(shè)計,使基于web的應(yīng)用程序的開發(fā)變得迅速和容易。web服務(wù)器在遇到訪問jsp網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同jsp文件中的html代碼一起返回給客戶14。插入的java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。 jsp與java servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回該客戶
12、端的就是一個html文本,因此客戶端只要有瀏覽器就能瀏覽15。1.3 sql語言sql(structured query language)是一個功能強(qiáng)大的數(shù)據(jù)庫語言16。sql通常使用于數(shù)據(jù)庫的通訊。ansi(美國國家標(biāo)準(zhǔn)學(xué)會)聲稱,sql是關(guān)系數(shù)據(jù)庫管理系統(tǒng)的標(biāo)準(zhǔn)語言。sql語句通常用于完成一些數(shù)據(jù)庫的操作任務(wù),比如在數(shù)據(jù)庫中更新數(shù)據(jù),或者從數(shù)據(jù)庫中檢索數(shù)據(jù)16。使用sql的常見關(guān)系數(shù)據(jù)庫管理系統(tǒng)有:oracle、 sybase、 microsoft sql server、 access、 ingres等等。雖然絕大多數(shù)的數(shù)據(jù)庫系統(tǒng)使用sql,但是它們同樣有它們自立另外的專有擴(kuò)展功能用于它
13、們的系統(tǒng)。但是,標(biāo)準(zhǔn)的sql命令,比如select、 insert、 upd ate、 delete、 create和 drop常常被用于完成絕大多數(shù)數(shù)據(jù)庫的操作。ms sql server 就是用的transact- sql16。sql語言有著非常突出的優(yōu)點,主要是:(1)非過程化語言(2)統(tǒng)一的語言(3)是所有關(guān)系數(shù)據(jù)庫的公共語言1.4 sqlserversqlserver是一個關(guān)系數(shù)據(jù)庫管理系統(tǒng),是microsoft推出的數(shù)據(jù)管理與分析軟件。sqlserver是一個全面的、集成的、端到端的數(shù)據(jù)解決方案,它為企業(yè)中的用戶提供了一個安全、可靠和高效的平臺用于企業(yè)數(shù)據(jù)管理和商業(yè)智能應(yīng)用。是一款
14、強(qiáng)大而可靠的數(shù)據(jù)管理產(chǎn)品,可以為嵌入式應(yīng)用程序客戶端、輕型 web 應(yīng)用程序以及本地數(shù)據(jù)存儲區(qū)提供豐富的功能,有利于保護(hù)數(shù)據(jù),提高性能。sql server express 具有易于部署以及快速設(shè)計原型的特點16。1.5 dreamweaverdreamweaver是美國macromedia公司開發(fā)的集網(wǎng)頁制作和管理網(wǎng)站于一身的所見即所得網(wǎng)頁編輯器,它是第一套針對專業(yè)網(wǎng)頁設(shè)計師特別發(fā)展的視覺化網(wǎng)頁開發(fā)工具,利用它可以輕而易舉地制作出跨越平臺限制和跨越瀏覽器限制的充滿動感的網(wǎng)頁17。特點:(1)最佳的制作效率(2)網(wǎng)站管理(3)無可比擬的控制能力1.6 myeclipsemyeclipse企業(yè)級
15、工作平臺(myeclipse enterprise workbench ,簡稱myeclipse)是對eclipse ide的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫和javaee的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的javaee集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持html, struts, jsf, css, javascript, sql, hibernate18。在結(jié)構(gòu)上,myeclipse的特征可以被分為7類18:(1) javaee模型(2) web開發(fā)工具(3) ejb開發(fā)工具(4) 應(yīng)用程序服務(wù)器的連接器(5) javaee項目
16、部署服務(wù)(6) 數(shù)據(jù)庫服務(wù)(7) myeclipse整合幫助對于以上每一種功能上的類別,在eclipse中都有相應(yīng)的功能部件,并通過一系列的插件來實現(xiàn)它們。myeclipse結(jié)構(gòu)上的這種模塊化,可以讓我們在不影響其他模塊的情況下,對任一模塊進(jìn)行單獨的擴(kuò)展和升級。簡單而言,myeclipse是eclipse的插件,也是一款功能強(qiáng)大的javaee集成開發(fā)環(huán)境,支持代碼編寫、配置、測試以及除錯。1.7 b/s與mvc1.7.1 b/s b/s結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著internet技術(shù)的興起,對c/s結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)19。在這種結(jié)構(gòu)下,用戶工作界面是通過www瀏覽器來實現(xiàn),極少
17、部分事務(wù)邏輯在前端(browser)實現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(server)實現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級的成本和工作量,降低了用戶的總體成本(tco)19。以目前的技術(shù)看,局域網(wǎng)建立b/s結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,并通過internet/intranet模式下數(shù)據(jù)庫應(yīng)用,相對易于把握、成本也是較低的20。它是一次性到位的開發(fā),能實現(xiàn)不同的人員,從不同的地點,以不同的接入方式(比如lan, wan, internet/intranet等)訪問和操作共同的數(shù)據(jù)庫;它能有效地保護(hù)數(shù)據(jù)平臺和管理訪問權(quán)限,服務(wù)器數(shù)據(jù)庫也很安全。在java這樣的跨
18、平臺語言出現(xiàn)之后,b/s架構(gòu)管理軟件更是方便、快捷、高效21。1.7.2 mvcmvc英文即model-view-controller,即把一個應(yīng)用的輸入、處理、輸出流程按照model、view、controller的方式進(jìn)行分離,這樣一個應(yīng)用被分成三個層模型層、視圖層、控制層22。2 需求分析2.1 可行性分析(1)可行性分析原則庫存管理系統(tǒng)的是在詳細(xì)調(diào)查分析的基礎(chǔ)上,根據(jù)可行性分析中所提出的目標(biāo)進(jìn)行確定。確定系統(tǒng)目標(biāo)的原則如下: (1)適用性,要求建立的系統(tǒng)能解決系統(tǒng)中的關(guān)鍵問題,能夠在短時期內(nèi)表現(xiàn)出明顯的經(jīng)濟(jì)效果。(2)經(jīng)濟(jì)性,研制任何一個信息系統(tǒng),都要考慮成本費(fèi)用,因此,應(yīng)該根據(jù)企業(yè)的
19、現(xiàn)有條件和可能提供的條件出發(fā),分階段去實現(xiàn)。(3)整體性,新系統(tǒng)的目標(biāo)既要考慮到眼前的現(xiàn)狀,又要考慮到長遠(yuǎn)發(fā)展的需要,最終要形成一個完整的管理信息系統(tǒng)23。(4)安全保密性,工作在不同環(huán)境下的軟件對其安全要求不同24。(5)用戶界面需求,軟件與用戶界面的友好性是用戶能夠方便愉快的,有效的使用該軟件的關(guān)鍵之一。(6)性能需求,給出所開發(fā)軟件的技術(shù)性能指標(biāo),如存儲容量限制,運(yùn)行時間限制等。(7)功能需求,給出所開發(fā)軟件在職能上應(yīng)做什么。(2)可行性分析目的可行性研究的目的:用最小的代價在盡可能短的時間內(nèi)確定問題能夠解決25。可行性研究的目的不是解決問題,而是研究當(dāng)前具體條件下,開發(fā)系統(tǒng)是否具備必要
20、的資源和其他條件。為了達(dá)到這個目的,我們必須了解用戶的需求及現(xiàn)實環(huán)境,探索比較合適的方法進(jìn)行全面的論證。其中包括:技術(shù)可行性:看我們現(xiàn)有的技術(shù)和水平能否實現(xiàn)這個系統(tǒng)。經(jīng)濟(jì)可行性:計算這個系統(tǒng)的經(jīng)濟(jì)效益能否超過它的開發(fā)成本。操作可行性:所開發(fā)系統(tǒng)的操作方式在這個用戶組織內(nèi)能否行的通。調(diào)查市場上同類產(chǎn)品他們的功能及特色,可為我們的設(shè)計提供參考和幫助,但我們要開發(fā)的系統(tǒng)要有自已的特色,才能贏得更多的用戶。在可行性研究與計劃階段中主要做兩件事:問題定義和可行性研究。具體步驟如下圖2-1所示:開始問題定義可行性研究終止項目的建議項目實施的計劃可行否停止轉(zhuǎn)開發(fā)期noyes圖2-1 可行性分析流程2.2 系
21、統(tǒng)的功能及要求用戶信息管理:用戶權(quán)限設(shè)置和用戶信息維護(hù)(用戶登陸、用戶信息修改、用戶信息添加、用戶信息刪除)材料信息維護(hù):對商品信息進(jìn)行添加、查詢、修改領(lǐng)料單位維護(hù):對領(lǐng)取商品單位信息進(jìn)行添加、查詢、修改入庫信息維護(hù):實現(xiàn)購入產(chǎn)品信息的數(shù)據(jù)管理操作出庫信息維護(hù):實現(xiàn)對商品出庫信息的數(shù)據(jù)管理庫存信息管理:對庫存產(chǎn)品的信息進(jìn)行查詢供應(yīng)商信息管理:對提供商品單位信息的數(shù)據(jù)管理3 系統(tǒng)設(shè)計3.1 系統(tǒng)功能模塊劃分根據(jù)上面系統(tǒng)功能及要求分析,系統(tǒng)功能模塊劃分如圖3-1所示:庫存管理系統(tǒng)信息管理庫存信息查詢供應(yīng)商信息維護(hù)領(lǐng)料單位信息維護(hù)用戶信息維護(hù)出庫信息維護(hù)入庫信息維護(hù)材料信息維護(hù)領(lǐng)料單位信息刪除領(lǐng)料單
22、位信息修改領(lǐng)料單位信息查詢領(lǐng)料單位信息添加供應(yīng)商信息刪除刪除供應(yīng)商信息修改息查詢供應(yīng)商信息查詢供應(yīng)商信息添加息添加商品信息刪除商品信息修改商品信息查詢商品信息添加用戶信息刪除名用戶信息修改用戶信息查詢用戶信息添加圖3-1 系統(tǒng)功能模塊劃分入庫信息維護(hù)包括入庫商品信息添加、入庫商品信息刪除、入庫商品信息修改以及入庫商品信息查詢四個模塊。出庫信息維護(hù)包括出庫商品信息添加、出庫商品信息刪除、出庫商品信息修改以及出庫商品信息查詢四個模塊。3.2 數(shù)據(jù)流圖第一個過程確認(rèn)用戶是否是有效的系統(tǒng)用戶,決定該用戶能否進(jìn)入系統(tǒng)。第二個過程確定用戶的類型,根據(jù)用戶的類型決定用戶的操作權(quán)限,從而決定用戶的工作界面。具
23、體流程圖分析如圖3-2所示:圖3-2 庫存管理系統(tǒng)的基本流程圖此系統(tǒng)對用戶的權(quán)限做了詳細(xì)的劃分,只有系統(tǒng)管理員具有一般管理員管理權(quán)限外,其他管理員只有使用權(quán)限。登陸后可以進(jìn)行相應(yīng)的操作,完成后退出系統(tǒng)。庫存管理系統(tǒng)的數(shù)據(jù)流圖如圖3-3所示:圖3-3 庫存管理系統(tǒng)的數(shù)據(jù)流圖3.3 數(shù)據(jù)庫設(shè)計3.3.1系統(tǒng)概念結(jié)構(gòu)設(shè)計根據(jù)分析可知,庫存管理系統(tǒng)中的實體屬性以及實體之間的聯(lián)系如圖3-4所示:圖3-4 庫存管理系統(tǒng)er圖3.3.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計數(shù)據(jù)庫包括以下7個表:用戶信息表userinfo、部門信息表department、供應(yīng)商信息表provider、產(chǎn)品信息表produce、進(jìn)貨信息表ins
24、tore、出貨信息表outstore、庫存信息表storecount。(1)用戶信息表用戶信息表用來保存用戶的所有信息,具體表結(jié)構(gòu)如表3-1所示:表3-1 用戶信息表userinfo編號字段名稱數(shù)據(jù)結(jié)構(gòu)說明(用途)1u_idint部門編號主鍵自動增長2u_namenvarchar 20用戶名稱3u_pwdnvarchar 20密碼4u_realnamenvarchar 20用戶真實名稱5u_sexnvarchar 4用戶性別6u_ageint用戶年齡7u_phonenvarchar 50用戶電話(2)部門信息表部門信息表用來保存部門的所有信息,具體表結(jié)構(gòu)如表3-2所示:表3-2 部門信息表de
25、partment 編號字段名稱數(shù)據(jù)結(jié)構(gòu)說明(用途)1d_idint部門編號主鍵自動增長2d_namenvarchar 20部門名稱3p_idint產(chǎn)品編號 外鍵produce(p_id)4p_countint產(chǎn)品數(shù)量5d_personname nvarchar 20負(fù)責(zé)人6d_datedatetime進(jìn)貨日期7字段名稱數(shù)據(jù)結(jié)構(gòu)說明(用途)(3)供應(yīng)商信息表供應(yīng)商信息表用來保存供應(yīng)商的所有信息,具體表結(jié)構(gòu)如表3-3所示:表3-3供應(yīng)商信息表provider 編號字段名稱數(shù)據(jù)結(jié)構(gòu)說明(用途)1t_idint編號主鍵自動增長2t_namenvarchar 50名稱3t_addressnvarchar
26、20住址4t_phonenvarchar 50電話5t_remarknvarchar 50備注6p_idint產(chǎn)品編號外鍵 produce(p_id)(4)產(chǎn)品信息表產(chǎn)品信息表用來保存產(chǎn)品的所有信息,具體表結(jié)構(gòu)如表3-4所示:表3-4 產(chǎn)品信息表produce 編號字段名稱數(shù)據(jù)結(jié)構(gòu)說明(用途)1p_idint產(chǎn)品編號主鍵自動增長2p_namenvarchar 50產(chǎn)品名稱3p_typenvarchar20產(chǎn)品類別4p_addressnvarchar 20生產(chǎn)地址5p_pricenvarchar 50產(chǎn)品價格6p_remark int產(chǎn)品備注(5)進(jìn)貨信息表進(jìn)貨信息表用來保存出進(jìn)產(chǎn)品的所有信息,
27、具體表結(jié)構(gòu)如表3-5所示:表3-5 進(jìn)貨信息表instore 編號字段名稱數(shù)據(jù)結(jié)構(gòu)說明(用途)1is_idint進(jìn)貨編號主鍵自動增長2p_idint產(chǎn)品編號 外鍵produce(p_id)3p_countint產(chǎn)品數(shù)量4oper_name nvarchar 50進(jìn)貨人名字5is_datedatetime進(jìn)貨日期6is_remarknvarchar 100進(jìn)貨備注(6)出貨信息表出貨信息表用來保存出貨產(chǎn)品的所有信息,具體表結(jié)構(gòu)如表3-6所示:表3-6 出貨信息表outstore 編號字段名稱數(shù)據(jù)結(jié)構(gòu)說明(用途)1os_id int說明(用途)2p_idint出貨編號主鍵自動增長3p_counti
28、nt產(chǎn)品編號produce(p_id)4oper_namenvarchar 50產(chǎn)品數(shù)量5os_date datetime出貨人名字6os_remarknvarchar 100出貨日期(7)庫存信息表庫存信息表用來保存庫存產(chǎn)品的所有信息,具體表結(jié)構(gòu)如表3-7所示:表3-7庫存信息表storecount及其代碼編號字段名稱數(shù)據(jù)結(jié)構(gòu)說明(用途)1s_idint庫存編號主鍵自動增長2p_idint產(chǎn)品編號外鍵produce(p_id)3p_countint產(chǎn)品數(shù)量4s_remarknvarchar 100庫存?zhèn)渥? 詳細(xì)設(shè)計4.1 登陸界面設(shè)計在運(yùn)行框中輸入“http:/localhost:8080
29、/storemgr/login.jsp”,運(yùn)行結(jié)果如圖4-1:在登陸界面中設(shè)置登錄條件,其中輸入姓名和密碼都不可已為空,否則無法登陸,在數(shù)據(jù)庫中存在原始數(shù)據(jù),即管理員的權(quán)限設(shè)置,0表示超級管理員,1表示普通管理員,主要區(qū)別是超級管理員具有對普通管理員信息維護(hù)操作等功能。圖4-1 登錄界面 function check(form) if (document.getelementbyid(username).value = ) alert(用戶不能為空!);return false;if(document.getelementbyid(pwd).value=)alert(密碼不能為空);retur
30、n false;return true;4.2 用戶信息管理(1)用戶信息添加用戶信息添加界面中用戶名稱、用戶密碼不能為空,用戶的手機(jī)號碼必須為十一位數(shù)字輸入如下信息:用戶名“xcx“、密碼”xcx“、真實姓名“許常冰”、性別“女”、年齡“22”、電話、地址“華中科技大學(xué)”點擊確認(rèn),如圖4-2所示:圖4-2 用戶信息添加界面(2)用戶信息修改上述信息添加后的查詢結(jié)果如下圖4-3所示:圖4-3 用戶信息添修改前界面可以對用戶的所有信息進(jìn)行編輯,對編號為5的信息做編輯, 把性別改變,電話號碼改為11個1,修改后界面如下圖4-4所示:圖4-4 用戶信息修改后界面/修改前要獲
31、得要修改的那個用戶的具體信息(根據(jù)編號獲得一個用戶對象)public userinfo detail(int uid) session session = hibernatesessionfactory.getsession();transaction t = session.begintransaction();userinfo ui=null;try ui=(userinfo)session.get(userinfo.class, uid);mit(); catch (exception e) e.printstacktrace();t.rollback(); finally s
32、ession.close();return ui;-action-/獲得一個用戶信息public actionforward detail(actionmapping mapping, actionform form,httpservletrequest request, httpservletresponse response) userinfoform userinfoform = (userinfoform) form;int uid = integer.parseint(request.getparameter(uid);/從頁面中獲取用戶編號a href=/userinfo.do?m
33、ethod=detail&uid=$u.uid編輯try userinfo u = user.detail(uid);/調(diào)用方法獲得一個用戶userinfoform.setuserinfo(u);/把這個用戶存入userinfoformrequest.setattribute(userinfoform, userinfoform);/把userinfoform存入request中return mapping.findforward(update);/跳到修改頁面 catch (exception e) return mapping.findforward(fail);/遇到錯誤返回錯誤頁面/添
34、加或修改用戶public void addorupdateuser(userinfo u) session session = hibernatesessionfactory.getsession();/獲得sessiontransaction t = session.begintransaction();/獲得當(dāng)前的事務(wù)try session.saveorupdate(u);/調(diào)用session中封裝的方法mit();/事務(wù)提交 catch (exception e) e.printstacktrace();/如果遇到錯誤,打印當(dāng)前錯誤的堆棧t.rollback();/如果遇到錯誤
35、,則事務(wù)回滾 finally session.close();/關(guān)閉session-action-/添加或修改用戶public actionforward addorupdateuser(actionmapping mapping,actionform form, httpservletrequest request,httpservletresponse response) userinfoform userinfoform = (userinfoform) form;try userinfo u = userinfoform.getuserinfo();/從userinfoform中獲得u
36、serinfou.setflag(1);/給userinfo中flag屬性設(shè)置值默認(rèn)為1即普通用戶user.addorupdateuser(u);/調(diào)用方法添加或修改用戶return mapping.findforward(show);/ 如果添加或修改成功跳到顯示所有的方法里 catch (exception e) return mapping.findforward(fail);/遇到異常跳進(jìn)錯誤頁面(3)用戶信息刪除點擊界面中編號為5用戶信息后的刪除按鈕,界面運(yùn)行如下圖4-5所示:圖4-5 刪除用戶5后的界面圖/刪除用戶信息session.delete(session.get(useri
37、nfo.class, uid);-action-int uid = integer.parseint(request.getparameter(uid);/從頁面中獲取用戶編號a href=/userinfo.do?method=delete&uid=$u.uid刪除user.deleteuser(uid);/根據(jù)用戶編號刪除用戶信息(4)用戶信息查詢上面的所有操作都涉及全查詢操作,即在各操作進(jìn)行后,運(yùn)行界面上就會顯示當(dāng)前所有戶的全部信息,下面簡單介紹部分查詢,在此處的查詢條件是“用戶名稱查詢”,例如輸入用戶名稱為“1”,點擊查詢按鈕,查詢結(jié)果如下圖4-6所示:圖4-6用戶信息查詢界面/顯示所
38、有的用戶信息list=session.createquery(from userinfo u).list();-action- listlist=user.querybyname(userinfoform.getuname();/獲得所有用戶的集合request.setattribute(list, list); /把集合存入request中 return mapping.findforward(sucess);/獲得用戶集合后把集合(list)存入request,再跳進(jìn)success /根據(jù)用戶名進(jìn)行模糊查詢用戶list = session.createquery(from userinfo
39、 u where u.uname like %+name+%).list();-action-list list = dd.querybyname(userinfo form.getdname();/根據(jù)名稱模糊查詢獲得所有查詢后用戶的集合request.setattribute(list, list);/把集合存入request快中return mapping.findforward(sucess);/跳轉(zhuǎn)到成功頁面4.3 入庫信息維護(hù)(1)入庫信息添加材料數(shù)量必須為數(shù)字,在添加頁面上輸入如下信息:材料名稱“電視“、材料數(shù)量”2“、操作人員”麥克“、備注”led“。點擊確認(rèn)按鈕,運(yùn)行結(jié)果如圖
40、4-7所示:圖4-7入庫信息添加/添加或修改session.saveorupdate(ins);-action-/先檢查庫存表 中改產(chǎn)品 是否存在int pid=incomeform.getis().getproduce().getpid();instore is=incomeform.getis();/入庫記錄date d = new date();simpledateformat sd = new simpledateformat(yyyy-dd-mm);string now = sd.format(d);incomeform.getis().setisdate(sd.parse(now)
41、;instoredao.addinstore(is);storecount storecount=storecountdao.findstorecountbyid(pid);if(storecount=null) storecount sc=new storecount();/新增庫存sc.setproduce(producedao.detail(pid);sc.setpcount(incomeform.getis().getpcount();storecountdao.addstorecount(sc);elsestorecount.setpcount(storecount.getpcoun
42、t()+incomeform.getis().getpcount();/修改數(shù)量storecountdao.updatestorecount(storecount);return mapping.findforward(show);(2)入庫信息修改對編號為11的入庫信息做修改,可以對其所有信息進(jìn)行編輯,此處只對其數(shù)量、名稱、備注進(jìn)行修改,未修改的界面截圖如圖4-8所示:圖4-8 入庫信息修改前圖把數(shù)量改為“5”、姓名改為“吉米”、備注改為“液晶”,界面運(yùn)行如圖4-9所示:圖4-9 入庫信息修改后圖/獲得一個is=(instore)session.get(instore.class, id);
43、-action-incomeform incomeform = (incomeform) form;int isid=integer.parseint(request.getparameter(isid);instore instore=instoredao.detailinstore(isid);incomeform.setis(instore);list plist=producedao.showproduce();incomeform.setplist(plist);request.setattribute(instore, instore);request.setattribute(i
44、ncomeform, incomeform);return mapping.findforward(update);session.saveorupdate(ins); /添加或修改-action-instore isinstore=instoredao.detailinstore(incomeform.getis().getisid();/修改數(shù)量storecount=storecountdao.findstorecountbyid(incomeform.getis().getproduce().getpid();/這個地方有點問題 要先判斷修改的數(shù)量與 原來的數(shù)量的大小 /如果修改后的數(shù)量
45、比原來的數(shù)量大 就加庫存if(incomeform.getis().getpcount()=storecount.getpcount()storecount.setpcount(storecount.getpcount()+incomeform.getis().getpcount()-isinstore.getpcount(); else/如果修改后的數(shù)量比原來的數(shù)量小 就減庫存storecount.setpcount(storecount.getpcount()-(isinstore.getpcount()-incomeform.getis().getpcount();instore is=
46、incomeform.getis();date d = new date();simpledateformat sd = new simpledateformat(yyyy-dd-mm);string now = sd.format(d);try incomeform.getis().setisdate(sd.parse(now); catch (parseexception e) / todo auto-generated catch blocke.printstacktrace();storecountdao.updatestorecount(storecount); /先修改庫存/在修改
47、 入庫明細(xì)(這個方法一定要最后調(diào)用 不然先把數(shù)量修改了 就找不到原來的數(shù)量了)instoredao.updateinstore(incomeform.getis();return mapping.findforward(show);(3)入庫信息刪除點擊入庫編號為11的入庫信息后的刪除按鈕,可以把入庫編號為12的所有信息完全刪除。session.delete(session.get(instore.class, id); /刪除-action-int isid=integer.parseint(request.getparameter(isid);instoredao.deleteinstor
48、e(isid);return mapping.findforward(show);(4)入庫信息查詢上面的所有操作都涉及全查詢操作,即在各操作進(jìn)行后,運(yùn)行界面上就會顯示當(dāng)前所有入庫的全部信息,下面簡單介紹部分查詢,在此處的查詢條件是“商名稱查詢”,例如輸入商名稱為“鼠標(biāo)”,查詢結(jié)果如圖4-10所示:圖4-10 入庫信息查詢list=session.createquery(from instore).list();/全查詢-action-list list=instoredao.getallinstore();request.setattribute(list, list);return map
49、ping.findforward(sucess);/模糊查詢list = session.createquery(from instore i where duce.pname like %+name+%).list();4.4 出庫信息維護(hù)(1)出庫信息添加材料數(shù)量必須為數(shù)字,在添加頁面上輸入如下信息:材料名稱“手機(jī)“、材料數(shù)量”3“、操作人員”諾諾“、備注”g3“,點擊確定按鈕,運(yùn)行結(jié)果如圖4-11所示:圖4-11 出庫信息添加session.saveorupdate(ins); /添加或修改-action-/判斷庫存int pid=outstoreform.getos().getproduce().getpid();storecount storecount=storecountdao.findstorecountbyid(pid);if(storecount=null)request.setattribute
溫馨提示
- 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年度木屋安全監(jiān)控系統(tǒng)安裝合同4篇
- 2025年蘇教版必修1歷史下冊月考試卷含答案
- 2025年蘇科版九年級歷史上冊月考試卷
- 二零二五版美容院化妝品生產(chǎn)線技術(shù)合作合同3篇
- 2025年粵教新版高三歷史下冊月考試卷含答案
- 二零二五年度農(nóng)產(chǎn)品品牌營銷策劃合同4篇
- 安徽農(nóng)民工就業(yè)指導(dǎo)與職業(yè)規(guī)劃合同范本(2025)2篇
- 二零二五年度民商法擔(dān)保合同爭議調(diào)解規(guī)則4篇
- 二零二五版美容美發(fā)行業(yè)技師職稱評定合同3篇
- 二零二五年度新型農(nóng)藥農(nóng)膜研發(fā)與應(yīng)用合作合同2篇
- 第十七章-阿法芙·I·梅勒斯的轉(zhuǎn)變理論
- 焊接機(jī)器人在汽車制造中應(yīng)用案例分析報告
- 合成生物學(xué)在生物技術(shù)中的應(yīng)用
- 中醫(yī)門診病歷
- 廣西華銀鋁業(yè)財務(wù)分析報告
- 無違法犯罪記錄證明申請表(個人)
- 大學(xué)生勞動教育PPT完整全套教學(xué)課件
- 繼電保護(hù)原理應(yīng)用及配置課件
- 《殺死一只知更鳥》讀書分享PPT
- 蓋洛普Q12解讀和實施完整版
- 2023年Web前端技術(shù)試題
評論
0/150
提交評論