仓库管理管理系统设计报告.docx
- 文档编号:10307509
- 上传时间:2023-02-10
- 格式:DOCX
- 页数:26
- 大小:360.27KB
仓库管理管理系统设计报告.docx
《仓库管理管理系统设计报告.docx》由会员分享,可在线阅读,更多相关《仓库管理管理系统设计报告.docx(26页珍藏版)》请在冰豆网上搜索。
仓库管理管理系统设计报告
《数据库原理及应用》课程设计
设计报告
院系
计算机科学与技术学院
班级
0804
学号
210808082
姓名
朱毓
指导教师
题目
仓库信息管理系统
2010
年
12
月
日
摘要:
仓库管理信息系统在企业的整个管理过程中起着至关重要的作用,仓库管理涉及大量的数据信息,而且对数据信息的准确性和实时性要求都非常高,单纯的人工管理的方法肯定有一定的难度,因此采用计算机技术实现仓库管理,提高仓库管理的效率。
本文描述了一个功能齐全的仓库管理软件,其功能包括采购申请,物品收发,库存管理,往来管理,人员管理等,文中描述了该系统的设计与实施方案,并对系统中的关键功能做了详细的介绍
Abstract:
Warehousemanagementinformationsystemsplaysavitalroleinbusinessthroughoutthemanagementprocess.Warehousemanagementinvolvesalotofdata,butalsotheaccuracyofdataandreal-timerequirementsareveryhigh.Ifonlymanualmanagementmethodsmusthavesomedifficulty.Sousingcomputertechnologymeasureupstoragemanagementinodertoimprovestoragemanagementefficiency.Thispaperdescribesafullyfunctionalsoftwareofwarehousemanagement.Therearefunctionsincludingpurchaserequests,sendandreceivegoods,inventorymanagement,demandmanagement,personnelmanagementandsoon.Thepaperalsodescribesthesystemdesignandimplementationoftheprogram,andthedetailsofthekeyfunctionsofthesystem.
朗读
显示对应的拉丁字符的拼音
字典-查看字典详细内容
关键词:
C#;SQLServer2005;数据共享
1.系统背景介绍
1.1概述
在仓库管理中,需要从大量的日常仓库存取中提取相关信息,以反映库存情况。
传统的手工操作方式,易发生数据丢失,统计错误,劳动强度高,且速度慢。
使用计算机可以高速,快捷地完成以上工作。
在计算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动,规范教学管理行为,从而提高了管理效率和水平。
1.2系统目标
仓库信息管理系统以计算机为工具,通过对出库、入库、库存等所需的信息管理,把管理人员从繁琐的数据计算处理中解脱出来,把仓库管理的井井有条,便于统计,结构清晰
1.3工作平台
本系统是运行在Windows2000、Windows2003、WindowsXP、Windows7等操作系统环境下的计算机上。
1.4系统需求分析
本系统的具体要求为:
a.通过使用计算机能方便地维护(包括插入、删除、修改)各信息表;
b.能组合查询基于某信息表的所需信息;
c.能方便地实现基于多个表的连接查询;
d.能方便地实现基于单个或多个表的统计功能;
e.系统具有操作方便、简捷等特点。
1.5功能需求分析
物资信息管理:
物资的一般信息
入库信息管理:
入库物资的所有信信息包括时间、价格、日期、型号等
出库信息管理:
出库物资的所有信信息包括时间、价格、日期、型号等
用户信息管理:
通过登录对仓库进行管理
2.系统概念模型描述
目前,在概念设计阶段实体联系模型是广泛使用的设计工具。
2.1构成系统的实体型
本系统包括管理员,出库,入库,仓库,物资,库存六个主要实体。
管理员实体型属性有用户名、密码、角色名。
物资实体型属性有物资编号、物资名称、物资型号、类型、单位
入库实体型属性有入库编号、物资编号、数量、单价、金额、入库时间、经办人、保管人、仓库
出库实体型属性有出库编号、物资编号、数量、单价、金额、入库时间、经办人、保管人、仓库
库存实体型属性有物资编号、物资名称、物资型号、类型、单位、金额、入库时间、经办人、保管人、仓库
2.2系统合成E-R图
系统的局部E-R图,只反映局部应用实体型之间的联系,但不能从整体上反映实体型之间的相互关系。
另外,对于一个较为复杂的应用而言,各部分是由多个分析人员合作完成的,画出的E-R图只能反映各局部应用。
各局部E-R图之间可能存在一些冲突和重复的部分。
为减少这些问题,必须根据实体联系在实际应用中的语义,进行综合、调整和优化,得到系统的合成优化E-R图,如下图所示:
1、实体间的E-r图
n
n
m
n
1
N
n
2、实体属性间的E-r图
3.系统的逻辑设计
逻辑设计阶段的主要任务,是把E-R图转化为所选用DBMS产品支持的数据模型。
由于该系统采用SQLServer关系型数据库系统,因此,应将概念设计的E-R模型转化为关系数据模型。
3.1数据库表的结构
得出数据表的各个关系模式后,需要给出是各数据表结构。
考虑系统的兼容性及编写程序的方便性,可将关系模式的属性对应为表字段的英文名。
同时,考虑到数据依赖关系和数据完整性,需要指出表的主码和外码,以及字段的值域约束和数据类型。
系统各表的结构如下所示:
用户表信息表(userinfo)
列名
数据类型
长度
说明
UID
char
10
用户名(主键)
PWD
char
10
密码
RoleName
char
10
角色名
物资信息表(materialinfo)
列名
数据类型
长度
说明
MID
char
10
物资编号(主键)
MName
char
10
物资名称
MModel
char
10
物资型号
MType
char
10
类型
MUnit
char
10
单位
入库信息表(ininfo)
列名
数据类型
长度
说明
IID
int
入库编号(自动编号,主键)
MID
char
10
物资编号
InAccount
int
数量
InPrice
int
单价
InValue
int
金额
InDate
Datetime
入库时间
InDealer
char
10
经办人
InSaver
char
10
保管人
InStore
char
10
仓库
Remark
char
40
备注
出库信息表(outinfo)
列名
数据类型
长度
说明
IID
int
出库编号(自动编号,主键)
MID
char
10
物资编号
OutAccount
int
数量
OutPrice
int
单价
OutValue
int
金额
OutDate
Datetime
入库时间
OutDealer
char
10
经办人
OutUser
char
10
领取人
OutStore
char
10
仓库
Remark
char
40
备注
4.系统功能模块图
5.系统数据流程图
6.部分程序源代码及其说明
登录界面:
用户通过用户名和密码登录
代码如下:
SqlCommandcmd=newSqlCommand();
stringstr="selectRoleNamefromuserinfowhereUID='"+textBoxname.Text.Trim()+"'andPWD='"+textBoxpwd.Text.Trim()+"'";
cmd.CommandText=str;
cmd.Connection=connection1;
connection1.Open();
SqlDataReaderdr=cmd.ExecuteReader();
if(dr.Read())
{
this.Hide();
mianzy=newmian();
zy.Show();
}
else
{
MessageBox.Show("用户名或密码错误!
");
}
添加用户:
登录主界面之后添加用户
添加代码如下:
if(textBoxname.Text.Trim()==""||textBoxpwd.Text.Trim()==""||textBoxquerenpwd.Text.Trim()==""||comboBoxjuese.Text.Trim()=="")
{
MessageBox.Show("请输入完整信息!
","警告");
}
else
{
if(textBoxpwd.Text.Trim()!
=textBoxquerenpwd.Text.Trim())
{
MessageBox.Show("两次密码输入不一致!
","警告");
}
else
{
cn.Open();
SqlCommandcmd=newSqlCommand("",cn);
stringsql="select*fromuserinfowhereUID='"+textBoxname.Text.Trim()+"'";
cmd.CommandText=sql;
if(null==cmd.ExecuteScalar())
{
stringsql1="insertintouserinfo(UID,PWD,RoleName)"+
"values('"+textBoxname.Text.Trim()+"','"+textBoxpwd.Text.Trim()+"','"+comboBoxjuese.Text.Trim()+"')";
cmd.CommandText=sql1;
cmd.ExecuteNonQuery();
MessageBox.Show("添加用户成功!
","提示");
this.Close();
}
else
MessageBox.Show("用户名"+textBoxname.Text.Trim()+"已经存在!
","提示");
cn.Close();
通过主页面进入物资管理点击添加物资出现如下:
代码如下:
if(textBoxaddwuzino.Text.Trim()=="")
MessageBox.Show("请输入物资编号!
","提示");
else
{
cn.Open();
SqlCommandcmd=newSqlCommand("",cn);
stringsql="select*frommaterialinfowhereMID='"+textBoxaddwuzino.Text.Trim()+"'";
cmd.CommandText=sql;
if(null==cmd.ExecuteScalar())
{
stringsql1="insertintomaterialinfovalues('"+textBoxaddwuzino.Text.Trim()+"','"+textBoxaddname.Text.Trim()+"',"+
"'"+model.Text.Trim()+"','"+type.Text.Trim()+"','"+unit.Text.Trim()+"')";
cmd.CommandText=sql1;
cmd.ExecuteNonQuery();
MessageBox.Show("添加物资信息成功!
","提示");
}
else
MessageBox.Show("物资编号"+textBoxaddwuzino.Text.Trim()+"已经存在!
","警告");
cn.Close();
}
通过主页面进入物资管理点击浏览物资出现如下:
则其中各个按钮的代码如下:
修改:
cn.Open();
stringsql1="updatematerialinfosetMName='"+textBoxupdatename.Text.Trim()+"',MModel='"+textBoxutypepdate.Text.Trim()+"',"+
"MType='"+textBoxupdateclass.Text.Trim()+"',MUnit='"+textBoxupdatedanwei.Text.Trim()+"'whereMID='"+textBoxupdatno.Text.Trim()+"'";
SqlCommandcmd=newSqlCommand("",cn);
cmd.CommandText=sql1;
cmd.ExecuteNonQuery();
MessageBox.Show("修改信息成功!
","提示");
this.Close();
cn.Close();
删除:
SqlCommandcmd=newSqlCommand();
cmd.CommandText=string.Format("deletefrommaterialinfowhereMID='{0}'",textBox1.Text.Trim());
cmd.Connection=cn;
try
{
cn.Open();
cmd.ExecuteNonQuery();
MessageBox.Show("删除成功");
}
catch(SqlExceptionex)
{
MessageBox.Show(ex.Message,"提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
finally
{
cn.Close();
}
displayDB();
通过主页面进入物资管理点击查询物资出现如下:
代码:
boolflag=true;
stringsql="selectMIDas物资编号,MNameas物资名称,MModelas物资型号,Mtypeas类型,MUnitas单位"+
"frommaterialinfowhere";
if(textboxwuzino.Text.Trim()==""&&textBoxwuziname.Text.Trim()==""&&textBoxwuzitype.Text.Trim()=="")
{
MessageBox.Show("请输入查询条件!
","警告");
return;
}
elseif(textboxwuzino.Text.Trim()!
="")
sql=sql+"MID="+"'"+textboxwuzino.Text+"'";
else
{
if(textBoxwuziname.Text.Trim()!
="")
{
sql=sql+"MName="+"'"+textBoxwuziname.Text+"'";
flag=false;
}
if(textBoxwuzitype.Text.Trim()!
="")
{
if(flag)
sql=sql+"MModel="+"'"+textBoxwuzitype.Text+"'";
else
sql=sql+"andMModel="+"'"+textBoxwuzitype.Text+"'";
}
通过主页进入入库管理点击添加入库信息出现如下界面:
if(comMID.Text.Trim()=="")
MessageBox.Show("请填写物资编号!
","提示");
else
{
cn.Open();
stringsql="select*fromininfowhereMID='"+comMID.Text.Trim()+"'";
SqlCommandcmd=newSqlCommand(sql,cn);
if(null==cmd.ExecuteScalar())
{
DateTimed1=Convert.ToDateTime(dateTimePicker1.Text);
stringsql1="insertintoininfo(MID,InAccount,InPrice,InValue,InDate,InDealer,InSaver,InStore,Remark)values"+
"('"+comMID.Text.Trim()+"','"+textAccount.Text.Trim()+"',"+
"'"+textPrice.Text.Trim()+"','"+textValue.Text.Trim()+"','"+d1+"','"+textDealer.Text.Trim()+"',"+
"'"+textSaver.Text.Trim()+"','"+textStore.Text.Trim()+"','"+richTextBox1.Text.Trim()+"')";
SqlCommandcmd1=newSqlCommand(sql1,cn);
cmd1.ExecuteNonQuery();
MessageBox.Show("添加入库信息成功!
","提示");
this.Close();
}
else
MessageBox.Show("物资编号"+comMID.Text.Trim()+"已经存在!
","警告");
cn.Close();
}
通过主页进入入库管理点击浏览入库信息出现如下界面:
删除按钮代码与上面删除代码类似。
当点击修改按钮是弹出新的页面如下:
代码如下:
cn.Open();
DateTimed1=Convert.ToDateTime(dateTimePicker1.Text);
stringsql="updateininfosetInAccount='"+textAccount.Text.Trim()+"',InPrice='"+textPrice.Text.Trim()+"',"+
"InValue='"+textValue.Text.Trim()+"',InDate='"+d1+"',InDealer='"+textDealer.Text.Trim()+"',"+
"InSaver='"+textSaver.Text.Trim()+"',InStore='"+textStore.Text.Trim()+"',Remark='"+richTextBox1.Text.Trim()+"'"+
"whereInID="+this.Tag.ToString().Trim()+"";
SqlCommandcmd=newSqlCommand("",cn);
cmd.CommandText=sql;
cmd.ExecuteNonQuery();
MessageBox.Show("修改进货信息成功!
","提示");
this.Close();
cn.Close();
当点击查询入库信息是出现如下页面:
点击查询代码如下:
stringsql="selectMNameas物资名称,MModelas物资型号,Mtypeas类型,MUnitas单位,InAccountas数量,"+
"InPriceas单价,InValueas金额,InDateas入库时间,InDealeras经办人,InSaveras保管人,InStoreas仓库,Remarkas备注,"+
"ininfo.MIDas物资编号,InIDas入库编号frommaterialinfo,ininfowherematerialinfo.MID=ininfo.MID";
if(textID.Text.Trim()==""&&texName.Text.Trim()==""&&textModel.Text.Trim()==""&&date1.Text.Trim()==""&&date2.Text.Trim()=="")
{
MessageBox.Show("请输入查询条件!
","警告");
return;
}
elseif(textID.Text.Trim()!
="")
sql=sql+"andininfo.MID="+"'"+textID.Text.Trim()+"'";
else
{
if(texName.Text.Trim()!
="")
sql=sql+"andMName="+"'"+texName.Text+"'";
if(textModel.Text.Trim()!
="")
sql=sql+"andMModel="+"'"+textModel.Text+"'";
if(date1.Text.Trim()!
=""&&date2.Text.Trim()!
="")
{
DateTimedt1=Convert.ToDateTime(date1.Text);
DateTimedt2=Convert.ToDateTime(date2.Text);
sql=sql+"andInDatebetween"+"#"+dt1+"#"+"and"+"#"+dt2+"#";
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 仓库 管理 系统 设计 报告