企业物资管理系统doc.docx
《企业物资管理系统doc.docx》由会员分享,可在线阅读,更多相关《企业物资管理系统doc.docx(35页珍藏版)》请在冰豆网上搜索。
企业物资管理系统doc
设计题目:
企业物资管理系统
一、开发平台:
C#+SQLSERVER2005
二、功能要求:
1、设计内容
设计一个企业物资管理系统,该系统的用户由一般用户和管理员组成,不同的用户拥有不同的权限,各自完成各自的管理功能。
首先是欢迎界面,然后选择登录,登录的时候首先要判断用户的身份,合法的用户然后进入到系统主界面中,不同的用户看到不同的系统功能。
用SQLSERVER2005创建后台数据库,然后利用程序设计语言(C#)编写程序实现对数据库的操作,按照要求完成所有的功能和模块。
2、企业物资管理系统主要功能
它包括编制采购计划、物资入库管理、物资出库管理、物资采购管理、清点库存、物资信息统计等功能。
(1)登录界面、用户注册界面。
(2)用户管理:
物资入库界面(增)、物资出库界面(增)、物资信息查询界面、本用户密码的修改界面、部门信息查询界面
(3)管理员管理:
计划管理界面(包含物资需求、库存、采购的增、删、改、查询)、物资管理界面(包含出库和入库的增、删、改、查询)、参数维护界面(对物资和部门的种类增、删、改、查询)、用户信息管理界面
3、物资管理信息系统数据库表单(表单和字段可以按照需求增、删、改)
(1)用户信息表单,主要字段有:
用户名、密码、用户身份(管理员和普通用户)
(2)物资需求表单,主要字段:
部门编号(外码)、物资编号(外码)、需求数量
(3)物资库存表单,主要字段:
物资编号(主码,外码)、物资名称、规格号、库存数量、仓库
(4)采购计划表单,主要字段有:
物资编号(主码,外码)、采购日期、采购数量
(5)物资表单,主要字段有:
物资编号、名称、单价、单位、供应商
(6)部门信息表单,主要字段有:
部门编号、部门名称、备注
(7)物资入库表单,主要字段有:
物资编号(主码,外码)、物资名称、入库数量、入库时间、经办人、仓库
(8)物资出库表单,主要字段有:
物资编号(外码)、部门编号(外码)、物资名称、出库数量、出库时间、经办人
三、课程设计报告主要内容:
1企业物资管理系统需求分析(给出系统的功能模块图,对各功能作出详细介绍)
2企业物资管理系统界面设计(给出界面截图及其主要控件的属性设置表格)
3企业物资管理系统数据库设计(给出数据库各个表单中数据的字段名,数据类型及其相应的说明)
4企业物资管理系统程序设计(功能模块给出详细的代码,重点语句的注释)
1.企业物资管理系统需求分析
图1.1企业物资管理系统功能模块图
1.1欢迎界面
选中欢迎界面中管理员登录按钮便以管理员身份登录,选中用户登录按钮便以用户身份登录,选中用户注册按钮便可以注册,然后再进行用户登录。
1.2用户管理界面
以用户身份登陆后就可以进入用户管理界面。
用户可以进行物资入库、物资出库、物资信息查询、部门信息查询、本用户密码修改等操作。
1.2.1物资入库界面
用户可以对要入库的物资进行增加操作。
1.2.2物资出库界面
用户可以对要出库的物资进行增加操作。
1.2.3物资信息查询界面
用户可以通过对物资名称的模糊查询和物资编号的查询进行对物资信息的查询操作。
1.2.4部门信息查询界面
用户可以通过对部门名称的模糊查询和部门编号的查询进行对物资信息的查询操作。
1.2.5本用户密码修改界面
本用户密码修改分别由账户、密码、新密码、确认新密码等组成。
用户首先要输入自己的账号和密码,然后进行密码修改。
如果账户和密码不正确,其文本框会自动清空,并提示错误。
若新密码和确认新密码不相同,其文本框也会清空,系统会报出错误要求重新输入。
1.3管理员管理界面
进行管理员登陆正确后便可以进入管理员管理界面。
在这个界面中,管理员可以进行物资需求、库存、采购、出库、入库、物资和部门的增、删、查、改等操作以及用户界面的查询操作。
1.3.1物资需求界面
管理员可以通过对物资需求信息的增、删、查、改来管理企业的物资需求。
1.3.2库存界面
管理员可以通过对库存信息的增、删、查、改来管理企业的库存。
1.3.3采购界面
管理员可以通过对采购信息的增、删、查、改来管理企业的采购。
1.3.4出库界面
管理员可以通过对出库信息的增、删、查、改来管理企业的出库。
1.3.5入库界面
管理员可以通过对入库信息的增、删、查、改来管理企业的入库。
1.3.6物资界面
管理员可以通过对物资信息的增、删、查、改来管理企业的物资。
1.3.7部门界面
管理员可以通过对部门信息的增、删、查、改来管理企业的部门。
1.3.8用户界面
管理员可以通过对用户信息的查询来查看企业的用户情况。
2.企业物资管理系统界面设计
2.1欢迎界面
图2.1.1欢迎界面
图2.1.2管理员登录界面
图2.1.3用户登录界面
图2.1.4用户注册界面
2.2用户管理界面
图2.2.1用户管理界面
图2.2.2物资入库界面
图2.2.3物资出库界
图2.2.4物资信息查询界面
图2.2.5部门信息查询界面
图2.2.6本用户密码修改界面
2.3管理员管理界面
图2.3.1管理员管理界面
图2.3.1物资需求管理界面
图2.3.2库存信息管理界面
图2.3.3采购信息管理界面
图2.3.4管理员管理界面
图2.3.5入库信息管理界面
图2.3.6物资信息管理界面
图2.3.7部门信息管理界面
图2.3.8用户信息管理界面
2.4界面主要空间属性
表2.1登陆界面主要控件属性表
对象
属性名
属性值
Label1
Text
账户
Label2
Text
密码
Button1
Text
确定
Button2
Text
退出
表2.2增删改查管理页面属性
Name
属性
设置值
Label1
Text
**信息管理
DataGridView1
Text
从数据库导入表
Button1
Text
增
Button2
Text
删
Button3
Text
改
Button4
Text
查
Button5
Text
退出
表2.3本用户密码修改界面页面属性
Name
属性
设置值
Label1
Text
账户
Label2
Text
密码
Label3
Text
新密码
Label4
Text
确认新密码
Button1
Text
确认
Button2
Text
退出
3.企业物资管理系统数据库设计
企业物资管理系统总共涉及8张表,分别是用户信息表单、物资需求表单、物资库存表单、采购计划表单、物资表单、物资表单、物资入库表单、物资出库表单。
表3.1用户信息表单
字段名称
字符类型
长度
是否为空
完整性
用户名
nchar
10
否
密码
nchar
10
否
非空
身份
nchar
10
否
非空
表3.2物资需求表单
字段名称
字符类型
长度
是否为空
完整性
部门编号
nchar
10
否
物资编号
nchar
10
否
需求数量
int
否
非空
表3.3物资库存表单
字段名称
字符类型
长度
是否为空
完整性
物资编号
char
10
否
物资名称
varchar
12
否
非空
规格号
char
10
否
非空
库存数量
int
否
非空
仓库
varchar
30
否
非空
表3.4采购计划表单
字段名称
字符类型
长度
是否为空
完整性
物资编号
nchar
10
否
采购时期
datetime
否
非空
采购数量
int
否
非空
表3.5物资表单
字段名称
字符类型
长度
是否为空
完整性
物资编号
nchar
10
否
非空
名称
nchar
10
否
非空
单位
nchar
10
否
非空
单价
nchar
10
否
非空
供应商
nchar
10
否
非空
表3.6部门信息表单
字段名称
字符类型
长度
是否为空
完整性
部门编号
nchar
10
否
非空
部门名称
nchar
10
否
非空
备注
nchar
10
是
表3.7物资入库表单
字段名称
字符类型
长度
是否为空
完整性
物资编号
nchar
10
否
物资名称
nchar
10
否
非空
入库数量
int
否
非空
入库时间
datetime
否
非空
经办人
nchar
10
否
非空
仓库
nchar
10
否
非空
表3.8物资出库表单
字段名称
字符类型
长度
是否为空
完整性
物资编号
nchar
10
否
部门编号
nchar
10
否
物资名称
nchar
10
否
非空
出库数量
nchar
10
否
非空
出库时间
nchar
10
否
非空
经办人
nchar
10
否
非空
4.企业物资管理系统程序设计(部分代码)
因为界面中的代码有很多都是相同的代码,所需实现的功能也相同,所以在写界面代码之前首先要定义一个类,把相同的代码写入,以便写界面代码时的调用。
通用代码及注释如下:
classDBOperation
{
SqlConnectionconn=null;
SqlCommandcmd=null;
DataSetds=newDataSet();
SqlDataAdaptersda=null;
publicDBOperation()//打开数据库
{
stringurl=@"server=.\sql2005;database=qiyemanagement;uid=sa;pwd=whkjdx";
try
{
conn=newSqlConnection(url);
conn.Open();
}
catch
{
Console.WriteLine("数据库打开失败,请检查连接字符串!
");
}
}
publicvoidClose()//关闭数据库
{
if(conn.State!
=ConnectionState.Closed)
{
conn.Close();
}
}
publicobjectgetSingle(Stringsql)//验证登陆是否成功
{
cmd=newSqlCommand(sql,conn);
objecto=cmd.ExecuteScalar();
returno;
}
publicDataTablequery(stringsql)//用于查询填充
{
sda=newSqlDataAdapter(sql,conn);
sda.Fill(ds);
returnds.Tables[0];
}
publicboolupdate(stringsql)//验证增加、删除、修改等操作是否成功
{
cmd=newSqlCommand(sql,conn);
intn=cmd.ExecuteNonQuery();
returnn>0;
}
}
4.1欢迎界面
进入欢迎界面后,用户可以选择用户登录按钮进入用户管理界面,没有账户和密码的用户可以选择用户注册按钮,注册成功后直接进入用户登录界面进行用户登录,进而进入用户管理界面。
管理员要选择管理员登录按钮,输入账号和密码正确后才能进入管理员管理界面。
重要代码及注释如下:
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringname=textBox1.Text.Trim();
stringpwd=textBox2.Text.Trim();
stringidetity="普通用户";
//在数据库中验证身份
stringsql="selectcount(*)from用户信息表单where用户名='"+name+"'and密码='"+pwd+"'and用户身份='"+idetity+"'";
DBOperationdbcon=newDBOperation();
intn=Convert.ToInt32(dbcon.getSingle(sql));
if(n>=1)
{
MessageBox.Show("登录成功!
");
Frmusermanagementg=newFrmusermanagement();
g.Show();
this.Close();
}
else
{
MessageBox.Show("登录失败!
");
txtUserName.Clear();
txtPwd.Clear();
}
dbcon.Close();
}
4.2用户管理界面程序设计
原理:
用户管理界面可以进行物资入库、物资出库、物资信息查询、部门信息查询和本用户密码修改等操作。
选择不同的按钮进入不同界面以实现不同的模块功能,进行操作后可以点击每个界面的退出按钮退出当前界面以进行其他界面操作。
重要代码及注释如下:
1、物资入库
privatevoidbtnoutput_Click(objectsender,EventArgse)
{
Try//排错
{
stringwuzibianhao=textBox1.Text.Trim();
stringwuzimingcheng=textBox2.Text.Trim();
intrukushuliang=Convert.ToInt32(textBox3.Text.Trim());
stringrukushijian=dateTimePicker1.Value.ToString();
stringjingbanren=textBox5.Text.Trim();
stringcangku=textBox6.Text.Trim();
//将输入的数据添加到表单中
stringsql="insertinto物资入库表单values('"+wuzibianhao+"','"+wuzimingcheng+"',"+rukushuliang+",'"+rukushijian+"','"+jingbanren+"','"+cangku+"')";
DBOperationdbcon=newDBOperation();
if(dbcon.update(sql))
{
MessageBox.Show("添加物资成功!
");
this.Close();
}
else
{
MessageBox.Show("添加物资失败!
");
}
dbcon.Close();
}
catch
{
MessageBox.Show("输入不能为空,且物资编号不能重复,请重新输入!
");
}
}
2、物资出库
privatevoidbtninput_Click(objectsender,EventArgse)
{
try
{
stringwuzibianhao=textBox1.Text.Trim();
stringbumenbianhao=textBox2.Text.Trim();
stringwuzimingcheng=textBox3.Text.Trim();
intchukushuliang=Convert.ToInt32(textBox4.Text.Trim());
stringchukushijian=dateTimePicker1.Value.ToString();
stringjingbanren=textBox6.Text.Trim();
stringsql="insertinto物资出库表单values('"+wuzibianhao+"','"+bumenbianhao+"','"+wuzimingcheng+"',"+chukushuliang+",'"+chukushijian+"','"+jingbanren+"')";
DBOperationdbcon=newDBOperation();
if(dbcon.update(sql))
{
MessageBox.Show("添加物资成功!
");
this.Close();
}
else
{
MessageBox.Show("添加物资失败!
");
}
dbcon.Close();
}
catch
{
MessageBox.Show("输入不能为空,且物资编号不能重复,请重新输入!
");
}
}
3、物资信息查询
privatevoidbtnquerry_Click_1(objectsender,EventArgse)
{
stringwuzimingcheng=textBox1.Text.Trim();
//按文本框中输入的文字在数据库中模糊查询
stringsql="select*from物资表单where名称like'%"+wuzimingcheng+"%'";
DBOperationdbcon=newDBOperation();
dataGridView1.DataSource=dbcon.query(sql);
dbcon.Close();
}
privatevoidbtnnumquerry_Click(objectsender,EventArgse)
{
stringwuzibianhao=textBox3.Text.Trim();
//按文本框中输入的编号在数据库中查询
stringsql="select*from物资表单where物资编号='"+wuzibianhao+"'";
DBOperationdbcon=newDBOperation();
dataGridView1.DataSource=dbcon.query(sql);
dbcon.Close();
}
privatevoidFrmMaterialInfo_Load(objectsender,EventArgse)
{
//TODO:
这行代码将数据加载到表“qiyemanagementDataSet19.物资表单”中。
this.物资表单TableAdapter.Fill(this.qiyemanagementDataSet19.物资表单);
}
4、本用户密码修改
privatevoidbtnUserModify_Click(objectsender,EventArgse)
{
stringname=txtUserName.Text.Trim();
stringpwd=txtPwd.Text.Trim();
//验证输入的账户和密码是否正确
stringsql=@"selectcount(*)from用户信息表单where用户名='"+name+"'and密码='"+pwd+"'";
DBOperationdbcon=newDBOperation();
intn=Convert.ToInt32(dbcon.getSingle(sql));
if(n<1)
{
MessageBox.Show("账户或密码不正确,请重新输入!
");
txtUserName.Clear();
txtPwd.Clear();
return;
}
//验证新密码与却确认新密码是否相同
stringpwd1=txtNewPwd.Text.Trim();
stringpwd2=txtNewPwdDefault.Text.Trim();
if(pwd1!
=pwd2)
{
MessageBox.Show("密码确认失败,请重新输入!
");
txtNewPwd.Clear();
txtNewPwdDefault.Clear();
return;
}
stringsql1="update用户信息表单set密码='"+pwd1+"'where用户名='"+name+"'";
if(dbcon.update(sql1))
{
MessageBox.Show("密码更改成功!
");
this.Close();
}
else
{
MessageBox.Show("密码更改失败!
");
}
dbcon.Close();
}
4.3管理员管理界面
原理:
用户管理界面可以进行物资需求、库存、采购、出库、入库的增、删、改、查询和物资、部门的种类增、删、改、查询以及用户信息查询等操作。
选择不同的按钮进入不同界面以实现不同的模块功能,进行操作后可以点击每个界面的退出按钮退出当前界面以进行其他界面操作。
管理员管理界面的代码主要实现的就是增删查改等功能,下面举例物资库存的增删查改,代码及注释如下:
1、物资库存主界面代码
//将数据加载到数据库的“物资库存表单”中。
privatevoidFrmRestore_Load(objectsender,EventArgse)
{
this.物资库存表单TableAdapter1.Fill(this.qiyemanagementDataSet7.物资库存表单);
}
//表中数据刷新
privatevoidbindDGV()
{
DBOperationdbcon=newDBOperation();
stringsql1="select*from物资库存表单";
//绑定数据到表格
dataGridView1.DataSource=dbcon.query(sql1);
dbcon.Close();
}
//点击“增”按钮显示物资库存增加界面
privatevoidbtnadd_Click(ob