庫存管理系統(tǒng)設(shè)計(jì)報(bào)告_第1頁
庫存管理系統(tǒng)設(shè)計(jì)報(bào)告_第2頁
庫存管理系統(tǒng)設(shè)計(jì)報(bào)告_第3頁
庫存管理系統(tǒng)設(shè)計(jì)報(bào)告_第4頁
庫存管理系統(tǒng)設(shè)計(jì)報(bào)告_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

PAGEPAGE12福建工程學(xué)院課程設(shè)計(jì)課程:數(shù)據(jù)庫應(yīng)用課程設(shè)計(jì)題目:庫存管理系統(tǒng)專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)班級:1110座號:28姓名:黃初鋼2012年6月

一、系統(tǒng)定義簡要說明本系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)意圖、目標(biāo)功能:該系統(tǒng)主要是一個小型的庫存管理系統(tǒng),提供了對人員的管理,對物料的管理,還有對物料進(jìn)出倉的管理和物料的統(tǒng)計(jì)。該系統(tǒng)分配了不同的權(quán)限(系統(tǒng)管理員、普通管理員、一般用戶)對系統(tǒng)進(jìn)行不同權(quán)限的管理。系統(tǒng)中可以實(shí)現(xiàn)對人員資料和物料資料的增加、按條件刪除、修改、按條件查找的操作。管理員還可以對物料進(jìn)行進(jìn)出倉的操作以及對進(jìn)出倉信息的查詢,從而了解在某段特定的時(shí)間內(nèi)物料進(jìn)出倉的狀況。該系統(tǒng)還能根據(jù)不同的時(shí)間對不同物料進(jìn)行統(tǒng)計(jì),并且算出最小流量的物料相關(guān)信息。還可以按照不同年份和月份進(jìn)行對進(jìn)出倉單的打印以及倉庫賬本信息的打印。二、需求分析1、回答“系統(tǒng)必須做什么”。確定對系統(tǒng)的綜合需求,如系統(tǒng)功能要求,性能要求,運(yùn)行要求等。軟件基本運(yùn)行環(huán)境為裝有flashbuilder4.6環(huán)境。硬件環(huán)境:服務(wù)器CPUPentiunmII300或更高配置內(nèi)存:1G以上硬盤:至少500M網(wǎng)絡(luò)適配器:10m或更快的網(wǎng)卡一個CD-ROM驅(qū)動器客戶機(jī)CPUPentiunm200或更高配置內(nèi)存64M以上硬盤至少100M至少一個工作站使用TCP/IP協(xié)議的局域網(wǎng)數(shù)據(jù)庫管理系統(tǒng):SQLSever2005運(yùn)行平臺:Windows2000/2003/XP/Vista/Win7分辨率:最佳效果1024×768像素 2、給出系統(tǒng)的邏輯模型:數(shù)據(jù)流程圖、數(shù)據(jù)字典。數(shù)據(jù)流圖:數(shù)據(jù)字典:<1:數(shù)據(jù)流名:人員信息管理說明:管理員通過對人員具體信息的增加、修改和刪除來實(shí)現(xiàn)對人員的一些管理的工作。 數(shù)據(jù)流來源:管理員 數(shù)據(jù)流去向:庫存管理系統(tǒng)人員信息表 數(shù)據(jù)流定義:人員信息管理=[人員信息增加|人員信息修改|人員信息刪除]<2:數(shù)據(jù)流名:物料信息管理說明:管理員可以通過對物料信息的增加,修改和刪除,來對倉庫中的物料進(jìn)行規(guī)范化的管理。 數(shù)據(jù)流來源:管理員 數(shù)據(jù)流去向:庫存管理系統(tǒng)物料信息表 數(shù)據(jù)流定義:物料信息管理=[物料信息增加|物料信息修改|物料信息查找|物料信息刪除]<3:數(shù)據(jù)流名:物料進(jìn)出倉信息管理 說明:管理實(shí)現(xiàn)對物料的進(jìn)倉操作和出倉的操作,以及根據(jù)物料的基本信息來查詢物料的進(jìn)出倉的信息。 數(shù)據(jù)流來源:管理員 數(shù)據(jù)流去向:庫存管理系統(tǒng)進(jìn)出倉表 數(shù)據(jù)流定義:物料進(jìn)出倉信息管理=[物料進(jìn)倉|物料出倉|物料信息查詢]<4:數(shù)據(jù)流名:權(quán)限分配 說明:管理員通過對權(quán)限的分配實(shí)現(xiàn)不同用戶登陸系統(tǒng)有不同的限制,允許做不同的操作,以使得系統(tǒng)安全。 數(shù)據(jù)流來源:管理員 數(shù)據(jù)流去向:庫存管理系統(tǒng)人員信息表 數(shù)據(jù)流定義:權(quán)限分配=[系統(tǒng)管理員|普通管理員|一般用戶]<5:數(shù)據(jù)流名:報(bào)表設(shè)計(jì)說明:管理員根據(jù)不用的月份以及物料的代碼進(jìn)行對物料的進(jìn)出倉統(tǒng)計(jì)以及對物料流量的統(tǒng)計(jì)。從而能更好的了解物料的流動情況。 數(shù)據(jù)流來源:管理員 數(shù)據(jù)流去向:庫存管理系統(tǒng)三、系統(tǒng)設(shè)計(jì)1、概念結(jié)構(gòu)設(shè)計(jì)2、邏輯結(jié)構(gòu)設(shè)計(jì)員工(人員代碼,姓名,性別,出生日期,身份證號,籍貫,家庭住址,聯(lián)系電話)物料(物料代碼,物料名稱,規(guī)格型號,計(jì)量單位,庫存數(shù)量,備注)庫存(單號,物料代碼,進(jìn)倉數(shù)量,出倉數(shù)量,進(jìn)出倉日期)3、系統(tǒng)功能模塊圖增加模塊:將輸入的信息存儲到數(shù)據(jù)庫中。修改模塊:先進(jìn)行搜索,找到相應(yīng)的人員或物料,再對其信息修改,存入數(shù)據(jù)庫。刪除模塊:先進(jìn)行搜索,找到相應(yīng)的人員或物料,再對其信息從數(shù)據(jù)庫中刪除。查找模塊:按代碼或名稱進(jìn)行查詢。進(jìn)出倉信息管理模塊:根據(jù)選擇的類型進(jìn)行進(jìn)倉或者出倉操作,出倉要對出倉數(shù)量判斷。進(jìn)出倉信息查詢模塊:根據(jù)日期,物料代碼,人員代碼進(jìn)行進(jìn)倉或出倉信息查詢。物料統(tǒng)計(jì)模塊:根據(jù)日期查詢相應(yīng)進(jìn)出倉物料的流量和最少流量物料的統(tǒng)計(jì)。打印進(jìn)出倉單模塊:根據(jù)年份和月份查詢相應(yīng)的進(jìn)出倉單。打印倉庫賬本模塊:根據(jù)年份和物料名稱查詢相應(yīng)的倉庫賬本。權(quán)限管理模塊:管理員根據(jù)名稱搜索相關(guān)用戶,在對其權(quán)限進(jìn)行重新分配,每個人都有默認(rèn)最低的權(quán)限。4、其它設(shè)計(jì)圖形工具利用MicrosoftVisio來設(shè)計(jì)E-R圖和數(shù)據(jù)流圖以及模塊的流程圖。四、詳細(xì)設(shè)計(jì)主要的SQL語句:增加:Insertintoc1110_28_staff(人員代碼,姓名,性別,出生日期,身份證號,籍貫,家庭住址,聯(lián)系電話)values('''+edit1.text+''','''+edit2.text+''','''+combobox1.text+''','''+FormatDateTime('yyyy-mm-dd',DateTimePicker1.DateTime)+''','''+edit3.text+''','''+edit4.text+''','''+edit5.text+''','''+edit6.text+''')');刪除(利用DBGrid1):ifapplication.MessageBox('確定要刪除記錄嗎?','刪除記錄',MB_OKCANCEL)=IDOKthenbeginADOQuery1.Delete;showmessage('已經(jīng)刪除!');end;修改:sql.Add('updatec1110_28_staffset姓名='''+Edit2.Text+''',性別='''+ComboBox1.Text+''',出生日期='''+FormatDateTime('yyyy-mm-dd',DateTimePicker1.DateTime)+''',身份證號='''+Edit3.Text+''',籍貫='''+Edit4.Text+''',家庭住址='''+Edit5.Text+''',聯(lián)系電話='''+Edit6.Text+'''');sql.Add('where人員代碼='''+Edit1.Text+'''');查找:SQL.Add('select人員代碼,姓名,性別,出生日期,身份證號,籍貫,家庭住址,聯(lián)系電話fromc1110_28_staff');SQL.Add('where人員代碼+姓名like''%'+edit7.text+'%''');進(jìn)出倉(使用存儲過程):sql.Add('declare@JG_DM char(4)');sql.Add('declare@JG_XX char(60)');sql.Add('execbillmanage:inoutdate,:userId,:remark,:WLid,:innumber,:outnumber,:flag,@JG_DMoutput,@JG_XXoutput');sql.Add('select@JG_DM''JG_DM'',@JG_XX''JG_XX''');進(jìn)出倉信息查詢:str:='select*fromc1110_28_billmanagewhere1=1';if(DatetoStr(findbill.DateTimePicker1.DateTime)<>'')thenstr:=str+'and進(jìn)出倉日期='''+DatetoStr(findbill.DateTimePicker1.DateTime)+'''';if(findbill.ComboBox1.Text<>'請選擇物料')and(findbill.ComboBox1.Text<>'')thenstr:=str+'and物料代碼='''+findbill.ComboBox1.Text+'''';if(findbill.ComboBox2.Text<>'請選擇操作人員')and(findbill.ComboBox2.Text<>'')thenstr:=str+'and操作人員代碼='''+findbill.ComboBox2.Text+'''';iffindbill.Edit3.Text<>''thenstr:=str+'and備注='''+findbill.Edit3.Text+'''';iffindbill.RadioButton1.Checkedthenstr:=str+'and進(jìn)倉數(shù)量<>0';ifRadioButton2.Checkedthenstr:=str+'and出倉數(shù)量<>0';物料統(tǒng)計(jì)(利用視圖):str2:='select物料名稱,流量fromminInoutwhere流量=(selectmin(流量)fromminInout)';if(radiogroup1.ItemIndex=0)thenbeginstr:='select物料名稱,sum(進(jìn)倉數(shù)量)as進(jìn)倉數(shù)量和fromc1110_28_material,c1110_28_billmanagewherec1110_28_material.物料代碼=c1110_28_billmanage.物料代碼';ifDateTimePicker2.DateTime>=DateTimePicker1.DateTimethenstr:=str+'and進(jìn)出倉日期between'''+datetostr(DateTimePicker1.DateTime)+'''and'''+datetostr(DateTimePicker2.DateTime)+'''';ifcombobox1.ItemIndex<>-1thenstr:=str+'andc1110_28_material.物料名稱='''+combobox1.Text+'''groupby物料名稱'elsestr:=str+'groupby物料名稱';進(jìn)出倉單:str:='selectyear(進(jìn)出倉日期)'''+'year'+''',month(進(jìn)出倉日期)'''+'month'+''',*frombillbymonthwhere1=1';if(printchart.ComboBox1.Text<>'請選擇相應(yīng)年份')and(printchart.ComboBox1.Text<>'')thenstr:=str+'andyear(進(jìn)出倉日期)='''+printchart.ComboBox1.Text+'''';if(printchart.ComboBox2.Text<>'請選擇相應(yīng)月份')and(printchart.ComboBox2.Text<>'')thenstr:=str+'andmonth(進(jìn)出倉日期)='''+printchart.ComboBox2.Text+'''';倉庫賬本:str:='selectc1110_28_material.物料代碼,物料名稱,規(guī)格型號,計(jì)量單位,進(jìn)出倉日期,進(jìn)倉數(shù)量,出倉數(shù)量,庫存數(shù)量fromc1110_28_material,c1110_28_billmanagewherec1110_28_material.物料代碼=c1110_28_billmanage.物料代碼';if(billbook.ComboBox1.Text<>'請選擇相應(yīng)年份')and(billbook.ComboBox1.Text<>'')thenstr:=str+'andyear(進(jìn)出倉日期)='''+billbook.ComboBox1.Text+'''';if(billbook.ComboBox2.Text<>'請選擇相應(yīng)物料')and(billbook.ComboBox2.Text<>'')thenstr:=str+'andc1110_28_material.物料代碼='''+billbook.ComboBox2.Text+'''';主要使用到的存儲過程和視圖代碼如下:********************************************************進(jìn)出倉存儲過程********************************************************createproc[dbo].[billmanage]( @inoutdatedatetime, --進(jìn)出倉日期 @userIdvarchar(20), --操作人員代碼 @remarkvarchar(200), --備注 @WLIdvarchar(20), --物料代碼 @inNumberint, --進(jìn)倉數(shù)量 @outNumberint, --出倉數(shù)量 @flagint, --標(biāo)識進(jìn)出倉0-進(jìn)倉,1-出倉 @JG_DM char(4)output,--運(yùn)行結(jié)果 @JG_XX char(60)output --運(yùn)行結(jié)果信息)ASBEGIN declare@numint declare@createidvarchar(20)--統(tǒng)計(jì)庫存量 select @num=庫存數(shù)量 from c1110_28_material where 物料代碼=@WLId if@inNumber<0or@outNumber<0 begin select@JG_DM='0001' select@JG_XX='進(jìn)倉或出倉數(shù)量必須大于或者等于零?。? return end--事物處理開始 begintransactionc111028--進(jìn)倉 if@flag=0 begin updatec1110_28_material set庫存數(shù)量=@num+@inNumber where 物料代碼=@WLId if@@error<>0or@@ROWCOUNT=0 begin select@JG_DM='0002' select@JG_XX='更新進(jìn)倉信息失敗,請檢查數(shù)據(jù)的合法性??!' rollbacktransactionc111028 return0 end--生成賬單號 select@createid=replace(replace(replace(replace(convert(varchar,getdate(),126),'-',''),':',''),'.',''),'T','') insertintoc1110_28_billmanage( 進(jìn)出倉單號, 進(jìn)出倉日期, 操作人員代碼, 備注, 物料代碼, 進(jìn)倉數(shù)量 ) values( @createid, @inoutdate, @userId, @remark, @WLId, @inNumber ) if@@error<>0or@@ROWCOUNT=0 begin select@JG_DM='0003' select@JG_XX='插入賬單表失敗,請檢查數(shù)據(jù)的合法性??!' rollbacktransactionc111028 return0 end end --出倉 if@flag=1 begin if@outNumber>@num begin select@JG_DM='0004' select@JG_XX='出倉數(shù)量不能大于庫存數(shù)量,請減少出倉量??!' rollbacktransactionc111028 return0 end updatec1110_28_material set庫存數(shù)量=@num-@outNumber where 物料代碼=@WLId if@@error<>0or@@ROWCOUNT=0 begin select@JG_DM='0005' select@JG_XX='更新出倉信息失敗,請檢查數(shù)據(jù)的合法性??!' rollbacktransactionc111028 return0 end --生成賬單號 select@createid=replace(replace(replace(replace(convert(varchar,getdate(),126),'-',''),':',''),'.',''),'T','') insertintoc1110_28_billmanage( 進(jìn)出倉單號, 進(jìn)出倉日期, 操作人員代碼, 備注, 物料代碼, 出倉數(shù)量 ) values( @createid, @inoutdate, @userId, @remark, @WLId, @outNumber ) if@@error<>0or@@ROWCOUNT=0 begin select@JG_DM='0006' select@JG_XX='插入賬單表失敗,請檢查數(shù)據(jù)的合法性??!' rollbacktransactionc111028 return0 end end select@JG_DM='0000' select@JG_XX='保存數(shù)據(jù)成功??!' committransactionc111028 return1END********************************************************按月份統(tǒng)計(jì)進(jìn)出倉信息用于形成報(bào)表的視圖********************************************************createview[dbo].[billbymonth]asselectmonth(進(jìn)出倉日期)'月份',*fromc1110_28_billmanage********************************************************倉庫賬本視圖********************************************************createview[dbo].[billbook]asselectc1110_28_material.物料代碼,物料名稱,規(guī)格型號,計(jì)量單位,進(jìn)出倉日期,進(jìn)倉數(shù)量,出倉數(shù)量,庫存數(shù)量as現(xiàn)有庫存量fromc1110_28_material,c1110_28_billmanagewherec1110_28_material.物料代碼=c1110_28_billmanage.物料代碼********************************************************最小進(jìn)出倉流量統(tǒng)計(jì)視圖********************************************************CREATEview[dbo].[minInout]asselect進(jìn)出倉日期,物料名稱,sum(進(jìn)倉數(shù)量)+sum(出倉數(shù)量)as流量fromc1110_28_billmanage,c1110_28_materialwherec1110_28_material.物料代碼=c1110_28_billmanage.物料代碼groupby進(jìn)出倉日期,物料名稱主要模塊程序流程圖如下:物料進(jìn)出倉流程圖登陸模塊流程圖物料

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論