库存管理系统设计报告_第1页
库存管理系统设计报告_第2页
库存管理系统设计报告_第3页
库存管理系统设计报告_第4页
库存管理系统设计报告_第5页
已阅读5页,还剩13页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE12福建工程学院课程设计课程:数据库应用课程设计题目:库存管理系统专业:计算机科学与技术班级:1110座号:28姓名:黄初钢2012年6月

一、系统定义简要说明本系统的设计和实现意图、目标功能:该系统主要是一个小型的库存管理系统,提供了对人员的管理,对物料的管理,还有对物料进出仓的管理和物料的统计。该系统分配了不同的权限(系统管理员、普通管理员、一般用户)对系统进行不同权限的管理。系统中可以实现对人员资料和物料资料的增加、按条件删除、修改、按条件查找的操作。管理员还可以对物料进行进出仓的操作以及对进出仓信息的查询,从而了解在某段特定的时间内物料进出仓的状况。该系统还能根据不同的时间对不同物料进行统计,并且算出最小流量的物料相关信息。还可以按照不同年份和月份进行对进出仓单的打印以及仓库账本信息的打印。二、需求分析1、回答“系统必须做什么”。确定对系统的综合需求,如系统功能要求,性能要求,运行要求等。软件基本运行环境为装有flashbuilder4.6环境。硬件环境:服务器CPUPentiunmII300或更高配置内存:1G以上硬盘:至少500M网络适配器:10m或更快的网卡一个CD-ROM驱动器客户机CPUPentiunm200或更高配置内存64M以上硬盘至少100M至少一个工作站使用TCP/IP协议的局域网数据库管理系统:SQLSever2005运行平台:Windows2000/2003/XP/Vista/Win7分辨率:最佳效果1024×768像素 2、给出系统的逻辑模型:数据流程图、数据字典。数据流图:数据字典:<1:数据流名:人员信息管理说明:管理员通过对人员具体信息的增加、修改和删除来实现对人员的一些管理的工作。 数据流来源:管理员 数据流去向:库存管理系统人员信息表 数据流定义:人员信息管理=[人员信息增加|人员信息修改|人员信息删除]<2:数据流名:物料信息管理说明:管理员可以通过对物料信息的增加,修改和删除,来对仓库中的物料进行规范化的管理。 数据流来源:管理员 数据流去向:库存管理系统物料信息表 数据流定义:物料信息管理=[物料信息增加|物料信息修改|物料信息查找|物料信息删除]<3:数据流名:物料进出仓信息管理 说明:管理实现对物料的进仓操作和出仓的操作,以及根据物料的基本信息来查询物料的进出仓的信息。 数据流来源:管理员 数据流去向:库存管理系统进出仓表 数据流定义:物料进出仓信息管理=[物料进仓|物料出仓|物料信息查询]<4:数据流名:权限分配 说明:管理员通过对权限的分配实现不同用户登陆系统有不同的限制,允许做不同的操作,以使得系统安全。 数据流来源:管理员 数据流去向:库存管理系统人员信息表 数据流定义:权限分配=[系统管理员|普通管理员|一般用户]<5:数据流名:报表设计说明:管理员根据不用的月份以及物料的代码进行对物料的进出仓统计以及对物料流量的统计。从而能更好的了解物料的流动情况。 数据流来源:管理员 数据流去向:库存管理系统三、系统设计1、概念结构设计2、逻辑结构设计员工(人员代码,姓名,性别,出生日期,身份证号,籍贯,家庭住址,联系电话)物料(物料代码,物料名称,规格型号,计量单位,库存数量,备注)库存(单号,物料代码,进仓数量,出仓数量,进出仓日期)3、系统功能模块图增加模块:将输入的信息存储到数据库中。修改模块:先进行搜索,找到相应的人员或物料,再对其信息修改,存入数据库。删除模块:先进行搜索,找到相应的人员或物料,再对其信息从数据库中删除。查找模块:按代码或名称进行查询。进出仓信息管理模块:根据选择的类型进行进仓或者出仓操作,出仓要对出仓数量判断。进出仓信息查询模块:根据日期,物料代码,人员代码进行进仓或出仓信息查询。物料统计模块:根据日期查询相应进出仓物料的流量和最少流量物料的统计。打印进出仓单模块:根据年份和月份查询相应的进出仓单。打印仓库账本模块:根据年份和物料名称查询相应的仓库账本。权限管理模块:管理员根据名称搜索相关用户,在对其权限进行重新分配,每个人都有默认最低的权限。4、其它设计图形工具利用MicrosoftVisio来设计E-R图和数据流图以及模块的流程图。四、详细设计主要的SQL语句:增加:Insertintoc1110_28_staff(人员代码,姓名,性别,出生日期,身份证号,籍贯,家庭住址,联系电话)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('已经删除!');end;修改:sql.Add('updatec1110_28_staffset姓名='''+Edit2.Text+''',性别='''+ComboBox1.Text+''',出生日期='''+FormatDateTime('yyyy-mm-dd',DateTimePicker1.DateTime)+''',身份证号='''+Edit3.Text+''',籍贯='''+Edit4.Text+''',家庭住址='''+Edit5.Text+''',联系电话='''+Edit6.Text+'''');sql.Add('where人员代码='''+Edit1.Text+'''');查找:SQL.Add('select人员代码,姓名,性别,出生日期,身份证号,籍贯,家庭住址,联系电话fromc1110_28_staff');SQL.Add('where人员代码+姓名like''%'+edit7.text+'%''');进出仓(使用存储过程):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''');进出仓信息查询:str:='select*fromc1110_28_billmanagewhere1=1';if(DatetoStr(findbill.DateTimePicker1.DateTime)<>'')thenstr:=str+'and进出仓日期='''+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进仓数量<>0';ifRadioButton2.Checkedthenstr:=str+'and出仓数量<>0';物料统计(利用视图):str2:='select物料名称,流量fromminInoutwhere流量=(selectmin(流量)fromminInout)';if(radiogroup1.ItemIndex=0)thenbeginstr:='select物料名称,sum(进仓数量)as进仓数量和fromc1110_28_material,c1110_28_billmanagewherec1110_28_material.物料代码=c1110_28_billmanage.物料代码';ifDateTimePicker2.DateTime>=DateTimePicker1.DateTimethenstr:=str+'and进出仓日期between'''+datetostr(DateTimePicker1.DateTime)+'''and'''+datetostr(DateTimePicker2.DateTime)+'''';ifcombobox1.ItemIndex<>-1thenstr:=str+'andc1110_28_material.物料名称='''+combobox1.Text+'''groupby物料名称'elsestr:=str+'groupby物料名称';进出仓单:str:='selectyear(进出仓日期)'''+'year'+''',month(进出仓日期)'''+'month'+''',*frombillbymonthwhere1=1';if(printchart.ComboBox1.Text<>'请选择相应年份')and(printchart.ComboBox1.Text<>'')thenstr:=str+'andyear(进出仓日期)='''+printchart.ComboBox1.Text+'''';if(printchart.ComboBox2.Text<>'请选择相应月份')and(printchart.ComboBox2.Text<>'')thenstr:=str+'andmonth(进出仓日期)='''+printchart.ComboBox2.Text+'''';仓库账本:str:='selectc1110_28_material.物料代码,物料名称,规格型号,计量单位,进出仓日期,进仓数量,出仓数量,库存数量fromc1110_28_material,c1110_28_billmanagewherec1110_28_material.物料代码=c1110_28_billmanage.物料代码';if(billbook.ComboBox1.Text<>'请选择相应年份')and(billbook.ComboBox1.Text<>'')thenstr:=str+'andyear(进出仓日期)='''+billbook.ComboBox1.Text+'''';if(billbook.ComboBox2.Text<>'请选择相应物料')and(billbook.ComboBox2.Text<>'')thenstr:=str+'andc1110_28_material.物料代码='''+billbook.ComboBox2.Text+'''';主要使用到的存储过程和视图代码如下:********************************************************进出仓存储过程********************************************************createproc[dbo].[billmanage]( @inoutdatedatetime, --进出仓日期 @userIdvarchar(20), --操作人员代码 @remarkvarchar(200), --备注 @WLIdvarchar(20), --物料代码 @inNumberint, --进仓数量 @outNumberint, --出仓数量 @flagint, --标识进出仓0-进仓,1-出仓 @JG_DM char(4)output,--运行结果 @JG_XX char(60)output --运行结果信息)ASBEGIN declare@numint declare@createidvarchar(20)--统计库存量 select @num=库存数量 from c1110_28_material where 物料代码=@WLId if@inNumber<0or@outNumber<0 begin select@JG_DM='0001' select@JG_XX='进仓或出仓数量必须大于或者等于零!!' return end--事物处理开始 begintransactionc111028--进仓 if@flag=0 begin updatec1110_28_material set库存数量=@num+@inNumber where 物料代码=@WLId if@@error<>0or@@ROWCOUNT=0 begin select@JG_DM='0002' select@JG_XX='更新进仓信息失败,请检查数据的合法性!!' rollbacktransactionc111028 return0 end--生成账单号 select@createid=replace(replace(replace(replace(convert(varchar,getdate(),126),'-',''),':',''),'.',''),'T','') insertintoc1110_28_billmanage( 进出仓单号, 进出仓日期, 操作人员代码, 备注, 物料代码, 进仓数量 ) values( @createid, @inoutdate, @userId, @remark, @WLId, @inNumber ) if@@error<>0or@@ROWCOUNT=0 begin select@JG_DM='0003' select@JG_XX='插入账单表失败,请检查数据的合法性!!' rollbacktransactionc111028 return0 end end --出仓 if@flag=1 begin if@outNumber>@num begin select@JG_DM='0004' select@JG_XX='出仓数量不能大于库存数量,请减少出仓量!!' rollbacktransactionc111028 return0 end updatec1110_28_material set库存数量=@num-@outNumber where 物料代码=@WLId if@@error<>0or@@ROWCOUNT=0 begin select@JG_DM='0005' select@JG_XX='更新出仓信息失败,请检查数据的合法性!!' rollbacktransactionc111028 return0 end --生成账单号 select@createid=replace(replace(replace(replace(convert(varchar,getdate(),126),'-',''),':',''),'.',''),'T','') insertintoc1110_28_billmanage( 进出仓单号, 进出仓日期, 操作人员代码, 备注, 物料代码, 出仓数量 ) values( @createid, @inoutdate, @userId, @remark, @WLId, @outNumber ) if@@error<>0or@@ROWCOUNT=0 begin select@JG_DM='0006' select@JG_XX='插入账单表失败,请检查数据的合法性!!' rollbacktransactionc111028 return0 end end select@JG_DM='0000' select@JG_XX='保存数据成功!!' committransactionc111028 return1END********************************************************按月份统计进出仓信息用于形成报表的视图********************************************************createview[dbo].[billbymonth]asselectmonth(进出仓日期)'月份',*fromc1110_28_billmanage********************************************************仓库账本视图********************************************************createview[dbo].[billbook]asselectc1110_28_material.物料代码,物料名称,规格型号,计量单位,进出仓日期,进仓数量,出仓数量,库存数量as现有库存量fromc1110_28_material,c1110_28_billmanagewherec1110_28_material.物料代码=c1110_28_billmanage.物料代码********************************************************最小进出仓流量统计视图********************************************************CREATEview[dbo].[minInout]asselect进出仓日期,物料名称,sum(进仓数量)+sum(出仓数量)as流量fromc1110_28_billmanage,c1110_28_materialwherec1110_28_material.物料代码=c1110_28_billmanage.物料代码groupby进出仓日期,物料名称主要模块程序流程图如下:物料进出仓流程图登陆模块流程图物料

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论