某企業(yè)庫存管理信息系統(tǒng)設(shè)計 畢業(yè)論文_第1頁
某企業(yè)庫存管理信息系統(tǒng)設(shè)計 畢業(yè)論文_第2頁
某企業(yè)庫存管理信息系統(tǒng)設(shè)計 畢業(yè)論文_第3頁
某企業(yè)庫存管理信息系統(tǒng)設(shè)計 畢業(yè)論文_第4頁
某企業(yè)庫存管理信息系統(tǒng)設(shè)計 畢業(yè)論文_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

某企業(yè)庫存管理信息系統(tǒng)設(shè)計所在學(xué)院管理學(xué)院班級信息管理與信息系統(tǒng)1班姓名學(xué)號200922317指導(dǎo)教師起止時間2013-4-2013年06月10日摘要隨著我國今年來經(jīng)濟的不斷繁榮發(fā)展以及企業(yè)所處市場競爭環(huán)境的不斷變化,社會對于企業(yè)尤其是大中型企業(yè)的生產(chǎn)經(jīng)營提出了更高的要求,這就要求企業(yè)必須綜合利用各種先進的生產(chǎn)制造技術(shù)。在計算機網(wǎng)絡(luò)與信息技術(shù)的支持下,改進企業(yè)原有的生產(chǎn)經(jīng)營模式和組織結(jié)構(gòu),只有這樣才能保證企業(yè)良好健康的發(fā)展,并能在市場競爭中贏得更多的份額。本畢業(yè)設(shè)計的主要內(nèi)容是設(shè)計并且實現(xiàn)一個基于web技術(shù)的企業(yè)庫存管理信息系統(tǒng),該系統(tǒng)主要以j2EE作為開發(fā)系統(tǒng)的前提基礎(chǔ),用myeclipse作為系統(tǒng)的開發(fā)工具,以MYSQL作為系統(tǒng)的數(shù)據(jù)庫,同時也運用了界面美化工具對用戶界面進行了一定的改善,該系統(tǒng)使用JAVA語言開發(fā),頁面采取JSP動態(tài)頁面開發(fā)技術(shù)。該系統(tǒng)界面簡單、操作方便,容易維護。關(guān)鍵詞:庫存管理系統(tǒng);MYSQL;JAVA;JSP

ABSTRACTWithChina'srisingprosperityandeconomicdevelopmentthisyear,aswellastheenterprisecompetitioninthemarketenvironmentchanging,socialproductionandoperationofenterprises,especiallylargeandmedium-sizedenterprisesputforwardhigherrequirements,whichrequirestheenterprisemustcomprehensiveutilizationofallkindsofadvancedmanufacturingtechnology.Withthesupportofcomputernetworkandinformationtechnology,improvetheenterpriseproductionandoperationoftheoriginalmodelandorganizationalstructure,onlyinthiswaycanguaranteegoodhealthdevelopment,andtowinmoreshareinthemarketcompetition.Themaincontentofthisgraduationdesignistodesignandimplementanenterpriseinventorymanagementinformationsystembasedonwebtechnology,thesystemismainlybasedonj2EEastheprerequisiteofthedevelopmentsystem,usingmyeclipseassystemdevelopmenttool,usingMYSQLasdatabasesystem,butalsousethetoolinterfacebeautificationtotheuserinterfacewasimproved,thesystemUSEStheJAVAlanguagedevelopment,taketheJSPpagedynamicpagetechnologydevelopment.Thesysteminterfaceissimpleandconvenientoperation,easytomaintain.KeyWords:inventorymanagementsystem;MYSQL;JAVA;TheJSP

目錄摘要 各符號表示的含義如下:A.外部項:指不受系統(tǒng)控制,在系統(tǒng)以外的事物或人,它表達了該系統(tǒng)數(shù)據(jù)處理的外部來源和去處。B.數(shù)據(jù)流:數(shù)據(jù)流表明了數(shù)據(jù)的流動方向及其名稱,它是數(shù)據(jù)載體的表現(xiàn)形式之一。D.數(shù)據(jù)存儲:用來指明數(shù)據(jù)保存的地方。P.處理功能:表達了對數(shù)據(jù)處理的邏輯功能SKIPIF1<0圖2-7業(yè)務(wù)流程圖表示符2.9界面需求界面設(shè)計成為評價軟件質(zhì)量的重要依據(jù),好的用戶操作界面可以提高企業(yè)公司的工作效率,同時也可以為用戶提供更好的操作體驗,有助于增強用戶使用系統(tǒng)時的興趣。良好的動態(tài)頁面可以更好地服務(wù)于企業(yè)公司的用戶的需求。輸入輸出設(shè)計則是這其中的重要環(huán)節(jié),在本系統(tǒng)中,針對不同的用戶,其輸入輸出如下:⑴輸入設(shè)計:系統(tǒng)管理員用戶:可以進行庫房的設(shè)置以及理由的設(shè)置,其中對庫房的設(shè)置包括庫房名、庫房面積、最大貨物量、報警的上下限設(shè)置,理由的設(shè)置包括入庫、出庫、調(diào)度的設(shè)置。對倉庫管理員的設(shè)置包括可以添加新的用戶。對出入庫調(diào)度的管理包括審核出入庫訂單、審核內(nèi)部調(diào)入調(diào)出單據(jù)。對于動態(tài)庫存的管理包括動態(tài)庫查詢、出入庫的明細查詢、以及庫存的盤點統(tǒng)計。報警管理主要負責(zé)報警的查詢。倉庫管理員用戶:可以對產(chǎn)品進行管理,包括產(chǎn)品名、生產(chǎn)地址、供應(yīng)商等產(chǎn)品信息的設(shè)置。對產(chǎn)品的出入庫管理,包括產(chǎn)品的出入庫登記和查詢。對于出入庫調(diào)度管理,包括內(nèi)部調(diào)入調(diào)出申請、內(nèi)部調(diào)入調(diào)出查詢等。同樣包括動態(tài)庫存管理以及報警管理。⑵輸出設(shè)計:系統(tǒng)管理員用戶:管理公司總庫存情況的信息顯示,錄入更改后各個庫房庫存產(chǎn)品的結(jié)果顯示,可實時對庫房產(chǎn)品的調(diào)度進行跟蹤、統(tǒng)計,同時根據(jù)倉庫管理員提交的產(chǎn)品情況,準(zhǔn)確掌握產(chǎn)品庫存的各個方面的信息。倉庫管理員用戶:對自己負責(zé)對應(yīng)的庫房的產(chǎn)品進行實時的記錄,了解產(chǎn)品去向,并將相應(yīng)的結(jié)果反映在操作的頁面上,操作后顯示產(chǎn)品的剩余庫存、調(diào)撥的產(chǎn)品數(shù)量、以及其他庫房產(chǎn)品的剩余數(shù)量等信息。

第3章系統(tǒng)總體設(shè)計3.1總體功能模塊本程序主要分系統(tǒng)管理員和倉庫管理員兩個權(quán)限。總功能圖如圖3-1所示。圖3-1系統(tǒng)功能需求分析本系統(tǒng)最大的特點是使用操作簡單、友好的提示信息。本系統(tǒng)將實現(xiàn)以下基本功能:⑴系統(tǒng)具有簡潔大方的頁面,使用簡便,友好的錯誤操作提示。⑵系統(tǒng)管理員具有系統(tǒng)的庫存基礎(chǔ)信息管理、倉庫管理員管理、出入庫調(diào)度管理、動態(tài)庫存管理、報警管理功能。⑶倉庫管理員具有產(chǎn)品管理、入庫管理、出庫管理、出入庫調(diào)度管理、動態(tài)庫存管理、報警管理功能。⑷具有較強的安全性,避免用戶的惡意操作系統(tǒng)管理員功能模塊圖說明:。⑴庫存基礎(chǔ)信息管理模塊:在該模塊中定義了包括對庫房設(shè)置和理由設(shè)置等操作。⑵倉庫管理員管理模塊:在該模塊中定義了對倉庫管理員信息的管理,其功能包括倉庫管理員的添加,修改,刪除,查詢等操作。⑶出入庫調(diào)度管理模塊:在該模塊中定義了包括對審核入庫單,審核內(nèi)部調(diào)入單,審核出庫單,審核內(nèi)部調(diào)出單等操作。⑷動態(tài)庫存管理模塊:在該模塊中定義了包括對動態(tài)庫查詢,出入庫明細查詢,庫存盤點等操作。⑸報警管理模塊:在該模塊中定義了包括對查詢各種報警信息等操作。系統(tǒng)管理員的功能圖如圖3-2所示圖3-2系統(tǒng)管理員功能圖倉庫管理員功能模塊圖說明:。⑴產(chǎn)品管理模塊:在該模塊中定義了對產(chǎn)品的添加,修改,刪除,查詢等操作。⑵入庫管理模塊:在該模塊中定義了對包括入庫登記和入庫查詢等操作。⑶出庫管理模塊:在該模塊中定義了對包括出庫登記和出庫查詢等操作。⑷出入庫調(diào)度管理模塊:在該模塊中定義了對包括內(nèi)部調(diào)入申請登記,內(nèi)部調(diào)入查詢,內(nèi)部調(diào)出申請登記,內(nèi)部調(diào)出查詢等操作。⑸動態(tài)庫存管理模塊:在該模塊中定義了對包括動態(tài)庫查詢,出入庫明細查詢,庫存盤點等操作。⑹報警管理模塊:在該模塊中定義了對包括查詢各種報警信息等操作。倉庫管理員的功能圖如圖3-3所示圖3-3倉庫管理員的功能圖

第4章系統(tǒng)詳細設(shè)計與實現(xiàn)系統(tǒng)和數(shù)據(jù)庫的配置系統(tǒng)按通用的B/S(瀏覽器、服務(wù)器)模式進行設(shè)計(如圖4-1)圖4-1B/S結(jié)構(gòu)對于一個信息管理系統(tǒng)來說,數(shù)據(jù)庫在其中占有非常重要的位置,也即是說,數(shù)據(jù)庫是其基礎(chǔ)與核心的部分。只有在正確完善的數(shù)據(jù)庫系統(tǒng)的支持下,才能有效地進行信息的存儲、檢索、更新等操作。數(shù)據(jù)庫各個模型之間設(shè)計的好壞與合作連接的緊密程度將直接影響到整個應(yīng)用系統(tǒng)的質(zhì)量和效率。好的數(shù)據(jù)庫設(shè)計更有利于提高數(shù)據(jù)的查詢、檢索效率,對于保證數(shù)據(jù)的完整性與一致性同樣具有重要的意義。概念模型設(shè)計是指以數(shù)據(jù)分析為前提和基礎(chǔ),采用自底向上的方法建立整個系統(tǒng)的數(shù)據(jù)庫概念結(jié)構(gòu),對于視圖的設(shè)計,概念模型是從用戶的角度出發(fā)的,然后將視圖進行有效的集成,最后對集成的結(jié)構(gòu)進行分析,優(yōu)化得到最后結(jié)果。概念模型設(shè)計的典型方法是用E-R圖方法,即用實體-聯(lián)系模型表示。E-R方法是用E-R圖來描述顯示世界,E-R圖包含三個基本成分:實體、聯(lián)系、屬性。實體是用戶工作環(huán)境中概念模型設(shè)計是指以數(shù)據(jù)分析為前提和基礎(chǔ),采用自底向上的方法建立整個系統(tǒng)的數(shù)據(jù)庫概念結(jié)構(gòu),對于視圖的設(shè)計,概念模型是從用戶的角度出發(fā)的,然后將視圖進行有效的集成,最后對集成的結(jié)構(gòu)進行分析,優(yōu)化得到最后結(jié)果。概念模型設(shè)計的典型方法是用E-R圖方法,即用實體-聯(lián)系模型表示。E-R方法是用E-R圖來描述顯示世界,E-R圖包含三個基本成分:實體、聯(lián)系、屬性。圖4-2系統(tǒng)E-R圖E-R圖直觀易懂,能夠比較準(zhǔn)確地反映現(xiàn)實世界的信息聯(lián)系,從概念上表示一個數(shù)據(jù)庫的信息組織情況。數(shù)據(jù)庫邏輯模型相對來說,我們都應(yīng)該知道,數(shù)據(jù)庫概念模型是不隨數(shù)據(jù)庫系統(tǒng)的改變而改變,實體-聯(lián)系模型向關(guān)系模型轉(zhuǎn)換應(yīng)遵循下列原則:⑴每一個實體要轉(zhuǎn)換成一個關(guān)系⑵所有的主鍵必須定義為非空(NOTNULL)值⑶對于二元聯(lián)系應(yīng)按照一對多、弱對實、一對一、多對多等聯(lián)系來定義外鍵。根據(jù)E-R模型,企業(yè)庫存設(shè)計管理系統(tǒng)建立了以下邏輯數(shù)據(jù)結(jié)構(gòu)模型:報警表信息(主鍵、報警內(nèi)容)產(chǎn)品表信息(主鍵、報警上限、報警下限、添加時間、供應(yīng)商、庫存數(shù)量、商品名、是否刪除標(biāo)志、生產(chǎn)地址、關(guān)聯(lián)的用戶ID)出單表信息(主鍵、出庫單編號、是否刪除標(biāo)志、出庫數(shù)量、添加時間、審核反饋、審核狀態(tài)、關(guān)聯(lián)的庫存ID、關(guān)聯(lián)的庫房ID、關(guān)聯(lián)的理由ID、關(guān)聯(lián)的商品ID、關(guān)聯(lián)的用戶ID)調(diào)出表信息(主鍵、添加時間、是否刪除標(biāo)志、調(diào)出數(shù)量、調(diào)出單編號、審核反饋、審核狀態(tài)、調(diào)出庫房ID、調(diào)入庫房ID、關(guān)聯(lián)的商品ID、關(guān)聯(lián)的入庫理由ID、關(guān)聯(lián)的用戶ID)調(diào)入表信息(主鍵、添加時間、是否刪除標(biāo)志、調(diào)度數(shù)量、調(diào)度單編號、審核反饋、審核狀態(tài)、調(diào)出庫房的id、調(diào)入庫房的id、關(guān)聯(lián)的商品Id、關(guān)聯(lián)的入庫理由id、關(guān)聯(lián)的用戶id)庫存表信息(主鍵、數(shù)量、關(guān)聯(lián)的庫房ID、關(guān)聯(lián)的商品ID、關(guān)聯(lián)的用戶ID)庫房表信息(主鍵、最大報警數(shù)量、最小報警數(shù)量、備注、添加時間、庫房編號、是否刪除標(biāo)志、面積、庫房名、入庫數(shù)量、最大數(shù)量)理由表信息(主鍵、添加時間、類型、理由、是否刪除標(biāo)志)明細表信息(主鍵、產(chǎn)品、內(nèi)容、添加時間、類型、理由、數(shù)量、關(guān)聯(lián)的用戶ID)入庫表信息(主鍵、添加時間、編號、是否刪除標(biāo)志、入庫數(shù)量、審核反饋、審核狀態(tài)、關(guān)聯(lián)的庫存ID、關(guān)聯(lián)的庫房ID、關(guān)聯(lián)的理由ID、關(guān)聯(lián)的商品ID、關(guān)聯(lián)的用戶ID用戶表信息(主鍵、添加時間、密碼、用戶權(quán)限、真實姓名、是否刪除標(biāo)志、用戶名)本系統(tǒng)采用的是MySQL數(shù)據(jù)庫,設(shè)計了一個庫文件,根據(jù)平臺的需求分析和功能模塊的劃分,所涉及的實體包含報警,產(chǎn)品,出庫單,庫存,庫房,理由,明細,入庫,調(diào)出,調(diào)入,用戶共計11張表。其中含有:報警表t_baojing,產(chǎn)品表t_product,出庫單表t_chuku,庫存表t_kucun,庫房表t_kufang,理由表t_rukuliyou,明細表t_mingxi,入庫表t_ruku,調(diào)出表t_diaochu,調(diào)入表t_diaodu,用戶表t_user。下面是各數(shù)據(jù)表的詳細說明。⑴報警信息表主要是記錄了報警查詢的基本信息。表結(jié)構(gòu)如表4-1所示。表4-1報警表名稱類型空說明IdBigint(20)No主鍵contentVarchar(255)yes報警內(nèi)容⑵產(chǎn)品信息表主要是記錄了產(chǎn)品名稱、產(chǎn)品供應(yīng)商、生產(chǎn)地址等基本信息。表結(jié)構(gòu)如表4-2所示。表4-2產(chǎn)品表名稱類型空說明IdBigint(20)no主鍵BaojingshangxianInt(11)no報警上限BaojingxiaxianInt(11)no報警下限Createtimedatetimeyes添加時間GongyingshangVarchar(255)yes供應(yīng)商KucunshuliangInt(11)yes庫存數(shù)量NameVarchar(255)yes商品名ProductlockInt(11)no是否刪除標(biāo)志ShengchandizhiVarchar(255)yes生產(chǎn)地址useridBigint(20)yes關(guān)聯(lián)的用戶ID,外鍵⑶出單信息表主要是記錄了產(chǎn)品出庫數(shù)量、出庫單據(jù)編號等基本信息。表結(jié)構(gòu)如表4-3所示。表4-3出單表名稱類型空說明IdBigint(20)no主鍵BianbaoVarchar(255)yes出庫單編號ChukulockInt(11)no是否刪除標(biāo)志,0表示未刪除,1表示刪除ChukushuliangInt(11)no出庫數(shù)量續(xù)表4-3名稱類型空說明Createtimedatetimeyes添加時間ShenhefanhuiVarchar(255)yes審核反饋shenhezhuangtaiVarchar(255)yes審核狀態(tài)KucunidBigint(20)yes關(guān)聯(lián)的庫存ID,外鍵KufangidBigint(20)yes關(guān)聯(lián)的庫房ID,外鍵LiyouidBigint(20)yes關(guān)聯(lián)的理由ID,外鍵ProductidBigint(20)yes關(guān)聯(lián)的商品ID,外鍵useridBigint(20)yes關(guān)聯(lián)的用戶ID,外鍵⑷調(diào)出信息表主要是記錄了產(chǎn)品的調(diào)出數(shù)量、調(diào)出單據(jù)編號等基本信息。表結(jié)構(gòu)如表4-4所示。表4-4調(diào)出表名稱類型空說明IdBigint(20)no主鍵Createtimedatetimeyes添加時間diaochulockInt(11)no是否刪除的標(biāo)志DiaodushuliangInt(11)no調(diào)出數(shù)量rukudanbianhaoVarchar(255)yes調(diào)出單編號ShenhefanhuiVarchar(255)yes審核反饋shenhezhuangtaiVarchar(255)yes審核狀態(tài)Kufang1idBigint(20)yes調(diào)出庫房ID,外鍵Kufang2idBigint(20)yes調(diào)入庫房ID,外鍵productidBigint(20)yes關(guān)聯(lián)的商品ID,外鍵rukuliyouidBigint(20)yes關(guān)聯(lián)的入庫理由ID,外鍵useridBigint(20)yes關(guān)聯(lián)的用戶ID⑸調(diào)入信息表主要是記錄了產(chǎn)品調(diào)入數(shù)量、單據(jù)編號等基本信息。表結(jié)構(gòu)如表4-5所示。表4-5調(diào)入表名稱類型空說明IdBigint(20)no主鍵Createtimedatetimeyes添加時間diaodulockInt(11)no是否刪除的標(biāo)志DiaodushuliangInt(11)no調(diào)出數(shù)量rukudanbianhaoVarchar(255)yes調(diào)出單編號ShenhefanhuiVarchar(255)yes審核反饋shenhezhuangtaiVarchar(255)yes審核狀態(tài)Kufang1idBigint(20)yes調(diào)出庫房ID,外鍵Kufang2idBigint(20)yes調(diào)入庫房ID,外鍵productidBigint(20)yes關(guān)聯(lián)的商品ID,外鍵rukuliyouidBigint(20)yes關(guān)聯(lián)的入庫理由ID,外鍵useridBigint(20)yes關(guān)聯(lián)的用戶ID⑹庫存信息表主要是記錄了產(chǎn)品庫存數(shù)量、所處庫房編號等基本信息。表結(jié)構(gòu)如表4-6所示。表4-6庫存表名稱類型空說明IdBigint(20)no主鍵shuliangInt(11)no數(shù)量KufangidBigint(20)yes關(guān)聯(lián)的庫房ID,外鍵ProductidBigint(20)yes關(guān)聯(lián)的商品ID,外鍵useridBigint(20)yes關(guān)聯(lián)的用戶ID,外鍵⑺庫房信息表主要是記錄了儲存產(chǎn)品的庫房的基本信息。表結(jié)構(gòu)如表4-7所示。表4-7庫房表名稱類型空說明IdBigint(20)no主鍵BaojingzuidashuliangInt(11)no最大報警數(shù)量BaojingzuixiaoshuliangInt(11)no最小報警數(shù)量BeizhuVarchar(255)yes備注Createtimedatetimeyes添加時間KufangbianhaoVarchar(255)yes庫房編號KufanglockInt(11)no是否刪除標(biāo)志MianjiVarchar(255)yes面積NameVarchar(255)yes庫房名RushushuliangInt(11)no入庫數(shù)量zuidashuliangInt(11)no最大數(shù)量⑻理由信息表主要是記錄了產(chǎn)品進出庫理由的基本信息。表結(jié)構(gòu)如表4-8所示。表4-8理由表名稱類型空說明IdBigint(20)no主鍵Createtimedatetimeyes添加時間InfotypeVarchar(255)yes類型LiyouVarchar(255)yes理由rukuliyoulockInt(11)no是否刪除標(biāo)志⑼明細信息表主要是記錄了產(chǎn)品出入庫時間及庫房的基本信息。表結(jié)構(gòu)如表4-9所示。表4-9明細表名稱類型空說明IdBigint(20)no主鍵ChanpinVarchar(255)yes產(chǎn)品ContentVarchar(255)yes內(nèi)容Createtimedatetimeyes添加時間名稱類型空備注LeixingVarchar(255)yes類型LiyouVarchar(255)yes理由ShuliangInt(11)no數(shù)量useridBigint(20)yes關(guān)聯(lián)的用戶ID,外鍵⑽入庫信息表主要是記錄了入庫數(shù)量及時間的基本信息。表結(jié)構(gòu)如表4-10所示。表4-10入庫表名稱類型空說明IdBigint(20)no主鍵Createtimedatetimeyes添加時間RukudanbianhaoVarchar(255)yes編號rukulockInt(11)no是否刪除標(biāo)志rukushuliangInt(11)no入庫數(shù)量ShenhefanhuiVarchar(255)yes審核反饋shenhezhuangtaiVarchar(255)yes審核狀態(tài)KucunidBigint(20)yes關(guān)聯(lián)的庫存ID,外鍵KufangidBigint(20)yes關(guān)聯(lián)的庫房ID,外鍵LiyouidBigint(20)yes關(guān)聯(lián)的理由ID,外鍵ProductidBigint(20)yes關(guān)聯(lián)的商品ID,外鍵useridBigint(20)yes關(guān)聯(lián)的用戶ID,外鍵⑾用戶信息表主要是記錄了用戶的基本信息。表結(jié)構(gòu)如表4-11所示。表4-11用戶表名稱類型空說明IdBigint(20)no主鍵Createtimedatetimeyes添加時間passwordVarchar(255)yes密碼roleInt(11)no用戶權(quán)限TruenameVarchar(255)yes真實姓名UserlockInt(11)no是否刪除標(biāo)志usernameVarchar(255)yes用戶名

第5章系統(tǒng)功能實現(xiàn)在一個管理信息系統(tǒng)的生命周期中,經(jīng)過了需求分析、系統(tǒng)設(shè)計等階段之后,便進入了系統(tǒng)實施階段。5.1登陸頁面登陸代碼如圖5-1:圖5-1登陸頁面//用戶登錄操作 publicStringlogin()throwsIOException{ ServletRequestrequest=ServletActionContext.getRequest(); Stringusername=request.getParameter("username"); Stringpassword=request.getParameter("password"); Useruser=userDao.selectBean("whereusername='"+username +"'andpassword='"+password+"'anduserlock=0"); if(user!=null){ Sessionsession=request.getSession(); session.setAttribute("user",user); List<Baojing>baojings=baojingDao.selectBeanList(0,9999,"where1=1"); for(Baojingbaojing:baojings){ baojingDao.deleteBean(baojing); } Strings=""; if(user.getRole()==0){ s="anduser.id="+user.getId(); } List<Kufang>kufangs=kufangDao.selectBeanList(0,9999,"wherekufanglock=0"); for(Kufangkufang:kufangs){ if(kufang.getRushushuliang()<kufang.getBaojingzuixiaoshuliang()){ Baojingbaojing=newBaojing(); baojing.setContent(kufang.getName()+"的入庫數(shù)量小于該庫房的最小入庫數(shù)量。報警??!"); baojingDao.insertBean(baojing); } if(kufang.getRushushuliang()>kufang.getBaojingzuidashuliang()){ Baojingbaojing=newBaojing(); baojing.setContent(kufang.getName()+"的入庫數(shù)量大于該庫房的最大入庫數(shù)量。報警?。?); baojingDao.insertBean(baojing); } } List<Product>products=productDao.selectBeanList(0,9999,"whereproductlock=0"+s); for(Productproduct:products){gxiaxian()){ Baojingbaojing=newBaojing(); baojing.setContent(product.getUser().getUsername()+"添加的"+product.getName()+"的庫存數(shù)量小于該商品的最小庫存數(shù)量。報警??!"); baojingDao.insertBean(baojing); }ngxian()){ Baojingbaojing=newBaojing(); baojing.setContent(product.getUser().getUsername()+"添加的"+product.getName()+"的庫存數(shù)量大于該商品的最大庫存數(shù)量。報警??!"); baojingDao.insertBean(baojing); } }lectBeanList(0,9999,"where1=1")); this.setUrl("main.jsp"); return"redirect"; }else{ ServletResponseresponse=ServletActionContext.getResponse(); response.setCharacterEncoding("gbk"); response .getWriter() .print( "<scriptlanguage=javascript>alert('用戶名或者密碼錯誤');window.location.href='index.jsp';</script>"); } returnnull; }本段代碼是程序的登陸代碼,首先從獲取從頁面輸入的用戶名和密碼還,然后調(diào)用方法,從數(shù)據(jù)庫里取出該條記錄進行判斷,如果該條記錄存在,則說明用戶登陸成功,同時把用戶信息存在session里面方便調(diào)用,如果記錄為空,則跳轉(zhuǎn)到登陸頁面,同時提醒用戶錯誤信息。當(dāng)用戶登錄成功時,則通過baojingDao調(diào)用各種滿足信息的報警信息。5.2倉庫管理員主頁面代碼://倉庫管理員列表如圖5-2 圖5-2管理員主頁面publicStringuserlist(){ ServletRequestrequest=ServletActionContext.getRequest(); Stringusername=request.getParameter("username"); Stringtruename=request.getParameter("truename"); StringBuffersb=newStringBuffer(); sb.append("where"); if(username!=null&&!"".equals(username)){ sb.append("usernamelike'%"+username+"%'"); sb.append("and"); request.setAttribute("username",username); } if(truename!=null&&!"".equals(truename)){ sb.append("truenamelike'%"+truename+"%'"); sb.append("and"); request.setAttribute("truename",truename); } sb.append("userlock=0androle=0orderbyiddesc"); Stringwhere=sb.toString(); intcurrentpage=1; intpagesize=10; if(request.getParameter("pagenum")!=null){ currentpage=Integer.parseInt(request.getParameter("pagenum")); } inttotal=userDao.selectBeanCount("whereuserlock=0"); request.setAttribute("list",userDao.selectBeanList((current1) *pagesize,pagesize,where)); request.setAttribute("pagerinfo",Pager.getPagerNormal(total,pagesize, currentpage,"method!userlist","共有"+total+"條記錄")); request.setAttribute("url","method!userlist"); request.setAttribute("url2","method!user"); this.setUrl("user/userlist.jsp"); returnSUCCESS; }首先通過r("username"); Stringtruename=request.getParameter("truename");這句代碼從頁面獲取查詢的選項,,然后通過if(username!=null&&!"".equals(username)){,if(truename!=null&&!"".equals(truename)){通過這句條件語句分別判斷下這個值是否為空,當(dāng)不為空時則通過StingBuffer來疊加組裝查詢的sql語句,最后當(dāng)sql語句組裝好了之后,通過userDao.selectBeanList方法來調(diào)用數(shù)據(jù)庫的查詢方法來查到符合條件的記錄,在通過request.setAttribute方法把查詢到的記錄傳到顯示的頁面。同時通過this.setUrl("user/userlist.jsp");方法指定傳回到具體指定的是哪個JSP頁面。通過這樣實現(xiàn)對數(shù)據(jù)查詢功能的實現(xiàn),同時在該倉庫管理員列表頁面定義了對倉庫管理員信息的增加,修改,刪除等操作。5.3動態(tài)庫查詢主頁面代碼://動態(tài)庫查詢(管理員權(quán)限)如圖5-3 圖5-3管理員權(quán)限publicStringkucunlist7(){ ServletRequestrequest=ServletActionContext.getRequest(); Stringkufang=request.getParameter("kufang"); Stringproduct=request.getParameter("product"); StringBuffersb=newStringBuffer(); sb.append("where"); if(kufang!=null&&!"".equals(kufang)){ sb.append("like'%"+kufang+"%'"); sb.append("and"); request.setAttribute("kufang",kufang); } if(product!=null&&!"".equals(product)){ sb.append("like'%"+product+"%'"); sb.append("and"); request.setAttribute("product",product); } sb.append("1=1orderbykufang.iddesc"); Stringwhere=sb.toString(); intcurrentpage=1; intpagesize=10; if(request.getParameter("pagenum")!=null){ currentpage=Integer.parseInt(request.getParameter("pagenum")); } inttotal=kucunDao.selectBeanCount("where1=1"); request.setAttribute("list",kucunDao.selectBeanList((current1) *pagesize,pagesize,where)); request.setAttribute("pagerinfo",Pager.getPagerNormal(total,pagesize, currentpage,"method!kucunlist7","共有"+total+"條記錄")); request.setAttribute("url","method!kucunlist7"); request.setAttribute("url2","method!kucun"); this.setUrl("kucun/kucunlist7.jsp"); returnSUCCESS; }首先通過Stringkufang=request.getParameter("kufang"); Stringproduct=request.getParameter("product");這句代碼從頁面獲取查詢的選項,,然后通過if(kufang!=null&&!"".equals(kufang)){,if(product!=null&&!"".equals(product)){通過這句條件語句分別判斷下這個值是否為空,當(dāng)不為空時則通過StingBuffer來疊加組裝查詢的sql語句,最后當(dāng)sql語句組裝好了之后,通過kucunDao.selectBeanList方法來調(diào)用數(shù)據(jù)庫的查詢方法來查到符合條件的記錄,在通過request.setAttribute方法把查詢到的記錄傳到顯示的頁面。同時通過this.setUrl("kucun/kucunlist7.jsp");方法指定傳回到具體指定的是哪個JSP頁面。通過這樣實現(xiàn)對數(shù)據(jù)查詢功能的實現(xiàn)等操作。5.4入庫單管理主頁面代碼://入庫單列表如圖5-4publicStringrukulist(){ ServletRequestrequest=ServletActionContext.getRequest(); Stringkufang=request.getParameter("kufang"); Stringproduct=request.getParameter("product"); Stringshenhezhuangtai=request.getParameter("shenhezhuangtai"); StringBuffersb=newStringBuffer();sb.append("where"); if(kufang!=null&&!"".equals(kufang)){ sb.append("like'%"+kufang+"%'"); sb.append("and"); request.setAttribute("kufang",kufang); } 圖5-4入庫單頁面 if(product!=null&&!"".equals(product)){ sb.append("like'%"+product+"%'"); sb.append("and"); request.setAttribute("product",product); } if(shenhezhuangtai!=null&&!"".equals(shenhezhuangtai)){ sb.append("shenhezhuangtailike'%"+shenhezhuangtai+"%'"); sb.append("and"); request.setAttribute("shenhezhuangtai",shenhezhuangtai); } Sessionsession=request.getSession(); Useruser=(User)session.getAttribute("user"); sb.append("rukulock=0anduser.id="+user.getId()+"orderbyiddesc"); Stringwhere=sb.toString(); intcurrentpage=1; intpagesize=10; if(request.getParameter("pagenum")!=null){ currentpage=Integer.parseInt(request.getParameter("pagenum")); } inttotal=rukuDao.selectBeanCount("whererukulock=0"); request.setAttribute("list",rukuDao.selectBeanList((current1) *pagesize,pagesize,where)); request.setAttribute("pagerinfo",Pager.getPagerNormal(total,pagesize, currentpage,"method!rukulist","共有"+total+"條記錄")); request.setAttribute("url","method!rukulist"); request.setAttribute("url2","method!ruku"); this.setUrl("ruku/rukulist.jsp"); returnSUCCESS; }首先通過Stringkufang=request.getParameter("kufang");Stringproduct=request.getParameter("product");Stringshenhezhuangtai=request.getParameter("shenhezhuangtai");這句代碼從頁面獲取查詢的選項,,然后通過if(kufang!=null&&!"".equals(kufang)){,if(product!=null&&!"".equals(product)){if(shenhezhuangtai!=null&&!"".equals(shenhezhuangtai)){通過這句條件語句分別判斷下這個值是否為空,當(dāng)不為空時則通過StingBuffer來疊加組裝查詢的sql語句,最后當(dāng)sql語句組裝好了之后,通過rukuDao.selectBeanList方法來調(diào)用數(shù)據(jù)庫的查詢方法來查到符合條件的記錄,在通過request.setAttribute方法把查詢到的記錄傳到顯示的頁面。同時通過 this.setUrl("ruku/rukulist.jsp");方法指定傳回到具體指定的是哪個JSP頁面。通過這樣實現(xiàn)對數(shù)據(jù)查詢功能的實現(xiàn),同時在該入庫單列表頁面定義了對入庫單信息的增加,修改,刪除等操作。

第6章系統(tǒng)的調(diào)試與測試所要進行的測試主要包括以下幾個方面:系統(tǒng)能否正常運行;系統(tǒng)頁面之間的連接是否能夠跳轉(zhuǎn);管理員、普通成員是否能夠正常登錄;系統(tǒng)管理員是否能實現(xiàn)庫存基礎(chǔ)信息管理、倉庫管理員管理、出入庫調(diào)度管理、動態(tài)庫存管理、報警管理功能。倉庫管理員是否能實現(xiàn)產(chǎn)品管理、入庫管理、出庫管理、出入庫調(diào)度管理、動態(tài)庫存管理、報警管理功能。6.2軟件測試的任務(wù)在談到軟件測試時,僅憑字面意思理解這一觀點可能會產(chǎn)生誤導(dǎo),認為發(fā)現(xiàn)錯誤是軟件測試的唯一目的,查找不出錯誤的測試就是沒有價值的,事實并非如此。測試并不僅僅是為了要找出錯誤。通過分析錯誤產(chǎn)生的原因和錯誤的分布特征,可以幫助項目管理者發(fā)現(xiàn)當(dāng)前所采用的軟件過程的缺陷,以便改進。同時,這種分析也能幫助我們設(shè)計出有針對性地檢測方法。6.3測試環(huán)境Apache提供的Web服務(wù)器Tomcat6.0使得用戶可以在Windows2000以上操作系統(tǒng)下發(fā)布自己設(shè)計的動態(tài)網(wǎng)頁。因此對論壇的調(diào)試工作主要是利用Tomcat6.0的強大功能在本機下完成的。為了在本機下瀏覽Web頁面,首先在創(chuàng)建該系統(tǒng)的站點上(該系統(tǒng)使用的是Web圖6-1對話框的默認站點)將IP地址設(shè)定為,它的缺省域名值為localhost。然后向IE瀏覽器輸入本地動態(tài)網(wǎng)頁的URL,Web服務(wù)器在收到瀏覽器傳送的URL之后找到網(wǎng)頁文件,并在服務(wù)器端執(zhí)行該文件后將此文件以HTML文件的形式返回該瀏覽器。軟件測試本系統(tǒng)設(shè)計中出現(xiàn)以下問題:⑴出現(xiàn)的問題:mysql中文亂碼問題?在hibernate.cfg.xml配置文件中修改如下

環(huán)境:Hibernate3.2+MySQL5.0(MySQL的編碼已設(shè)置為utf8)

問題:通過Hibernate向MySQL寫入中文后,通過Hibernate取回數(shù)據(jù),在console中打印java對象顯示正常。但在MySQLQueryBrowser中看到的是亂碼,傳給前端的Flex也是亂碼。原因:Hibernate的基礎(chǔ)還是JDBC,所以一樣需要設(shè)置characterEncoding!解決方法:<property

name="connection.url">jdbc:mysql://localhost:3306/tst?>如果用perties

#hibernate.connection.urljdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8⑵host:3306/myeshop?useUnicode=true&characterEncoding=UTF-8"></property>⑶在Web.xml中配置encodingFilter過濾器,在web.xml中加入下面代碼

<filter>

<filter-name>encodingFilter</filter-name><filter-class></filter-class><init-param>

<param-name>encoding</param-name>

<param-value>UTF-8</param-value></init-param></filter><filter-mapping>

<filter-name>encodingFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>⑷mysql庫表要都以UTF-8編碼建表。⑸jsp頁面編碼形式:<%@pagelanguage="java"import="java.util.*"

pageEncoding=“UTF-8”%>出現(xiàn)的問題:將項目發(fā)布到MyEclipse自帶的Tomcat后,運行Tmocat服務(wù)器,運行成功后。在IE瀏覽器中輸入URL,進到登陸頁面,輸入用戶名和用戶密碼,無法連接??刂婆_出現(xiàn)“數(shù)據(jù)庫驅(qū)動無法加載”提示信息?出現(xiàn)問題的原因,是因為MyEclipse自帶的JDK版本低,與其自帶的Tomcat版本不兼容。又或者沒有在項目當(dāng)中加入MySql數(shù)據(jù)庫驅(qū)動包。解決方案:在電腦上安裝jdk6.0,然后配置環(huán)境變量在電腦上安裝Tomcat6.0,然后再MyEclipse中添加Tomcat服務(wù)器。在MyEclipse中配置JDK。從Preferences左側(cè)菜單下找到Java,打開該項中的InstalledJREs,點擊Add進行添加。在MyEclipse中配置Tomcat。從Preferences左側(cè)菜單下找到MyEclipseEnterpriseWorkbench,打開其中的Servers項,找到Tomcat,選擇自己安裝的版本,此處我選擇Tomcat6.x,將其設(shè)為Enable,在Browse..目錄下選擇Tomcat的安裝目錄。重新啟動Tomcat服務(wù)器,在IE中輸入URL,程序運行成功。

結(jié)論經(jīng)過了兩個多月的學(xué)習(xí)和工作,我終于完成了企業(yè)庫存管理信息系統(tǒng)的設(shè)計。由于時間倉促,對我這樣一個JSP新手而言所制作的模塊還有不完善的地方。數(shù)據(jù)庫的設(shè)計也比較簡單,所用到的JSP語言的知識也不夠全面,并且很多地方?jīng)]有完全的理解和掌握。通過這次設(shè)計我提升了許多。首先,由于畢業(yè)設(shè)計所用的JSP技術(shù)和其中用到JSP語言的其他部分是在課堂上沒有接觸過的,在對JSP等相關(guān)技術(shù)不了解的狀態(tài),我閱了相關(guān)的資料和書籍,讓自己頭腦中模糊的概念逐漸清晰,使自己非常稚嫩的作品一步步完善起來,每一次改進都是我學(xué)習(xí)的收獲,每一次試驗的成功都會讓我異常興奮。在這個過程中,不僅大大提高了我的自學(xué)能力而且讓我對JSP的學(xué)習(xí)有了進一步的認識。由于是獨立完成在畢業(yè)設(shè)計的過程遇到了很多的困難,我求教了不少老師和同學(xué),在這個過程中讓我體會到了,一個團隊的重要性。下面對該系統(tǒng)的特點以及不足之處進行總結(jié)和歸納來加以完善

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論