物资管理系统详细设计说明书.docx
- 文档编号:9954696
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:36
- 大小:78.66KB
物资管理系统详细设计说明书.docx
《物资管理系统详细设计说明书.docx》由会员分享,可在线阅读,更多相关《物资管理系统详细设计说明书.docx(36页珍藏版)》请在冰豆网上搜索。
物资管理系统详细设计说明书
详细设计
1.引言
1.1编写目的
物资管理系统的总目标是:
在数据库和先进的开发平台上,利用现有资源,开发一个体系结构完善的、易扩充的、易维护的、具有良好人机交互界面的物资管理系统,实现物资的计算机管理,提供完善的功能,为物资管理人员提供便利的工作方式。
需求分析的目的是对问题进行分析,以及根据对所选择的开发工具的了解,分析系统的总体需求,较好地完成任务。
1.2项目背景
为了适应日趋激烈的市场竞争,不论是企业还是其他具有物资储备的公司都需要对自身的储备状况有充分的了解,并通过有效的管理不断提高效率。
因此,对物资的管理也成为提高生产效率的一个重要途径。
本物资管理系统是针对物资的基本信息管理和出入库登记和查询统计等方面工作而开发的管理软件,是一个实用的管理信息系统,针对企业的实际需要,分析了物资管理系统的功能,并以入库管理和出库管理为重点,描述了两子系统的模块结构设计及实施过程中的技术要点,实现物资的基本信息管理、出入库管理、查询管理及用户管理等功能。
同时,还对代码维护及库存余额管理等做了设计。
用户可以通过相应的模块,对物资基本情况进行更新、删除和查询,对物资出库和入库进行管理,对出入库明细进行查询,对出库,入库,和材料的库存余额进行报表生成,对使用该系统的用户进行更新、删除和查询,对库存数量进行查询,还有操作员管理,权限设置,密码修改,数据备份与系统恢复等其他系统管理功能。
1.3定义
物资管理系统
1.4参考资料
VisualC#编程技术与实例
软件工程
2.总体设计
2.1需求概述
1.物资供应管理软件的最终目标是在保证企业生产经营管理正常进行的前提下,最大限度地简化日常事务,降低原材料成本和运营成本,降低库存和占用资金,增加企业的流动资金,减少财务收支差错或延误,使物资管理人员把更多的精力集中在诸如供应商选择、合同谈判和效益分析等战略性决策任务上。
2.用计算机管理物资不能照搬照抄人工管理模式,变成人工管理的翻版,而是要根据物资管理的目标对人工管理的业务流程进行优化、合理化、科学化,要超越当前的业务,抽象出业务中的管理思想和规律。
3.要让物流、资金流、数据流、控制流畅通并形成一个完整的闭环反馈系统。
整个物资供应管理系统要以计划和控制为主线,充分体现物流、资金流、信息流、控制流有机集成的管理思想。
同时,物资的管理效率就体现在对信息的采集、传递、处理加工过程中,信息流是物资供应管理过程的影象。
4.要有丰富的监控、考核、管理功能,做到事先有计划,事中有控制,事后有核算,要求每一个业务过程都要为领导(综合管理)提供丰富的决策信息和考核数据。
2.2实现功能
需要实现的功能如下:
◆有关物资基本信息的输入。
◆物资基本信息的查询与修改。
◆入库物资信息的输入。
◆入库物资信息的查询与修改。
◆出库物资信息的输入。
◆出库物资信息的查询与修改。
◆物资余额信息的查询。
◆物资余额信息的浏览。
3.主要界面设计
3.1物资管理系统首页
3.2物资信息维护页面
3.3添加物资基本信息页面
3.4仓库信息维护页面
3.5物资信息修改页面
3.6存放规则维护页面
3.7修改密码页面
3.8人员信息维护页面
3.9修改员工信息页面
3.10余额查询页面
3.11添加仓库信息页面
3.12添加员工信息页面
3.13物资进出记录页面
4.功能模块设计与代码实现分析
4.1物资管理系统首页
物资管理系统首页具有自动导航的功能,不同用户登录,根据其不同的身份,将进入不同的系统功能页,系统分3类用户:
系统管理员、仓库管理员、采购员。
在用户身份验证通过后,系统由Session变量记录其用户号、用户身份,伴随用户对系统进行操作的整个生命周期。
以下给出物资管理系统首页(login.aspx.cs)的后台支持类的主要代码。
前台脚本代码login.aspx可以通过.NET集成开发环境,依照所给界面设计方案可以完成。
主要代码如下:
privatevoidbtn_login_Click(objectsender,System.EventArgse)
{
//从文件Web.config中读取连接字符串
stringstrconn=ConfigurationSettings.AppSettings["dsn"];
//连接本地计算机的物资管理数据库
SqlConnectioncn=newSqlConnection(strconn);
cn.Open();
//构造SQL语句,该语句在Users表中检查用户名和密码是否正确
stringmysql="select*from管理员whereid='"+tbx_uid.Text+"'and密码='"+tbx_upassword.Text+"'";
//创建Command对象
SqlCommandcm=newSqlCommand(mysql,cn);
//执行ExecuteReader()方法
SqlDataReaderdr=cm.ExecuteReader();
if(dr.Read())
{
lbl_message.Text="";
//保存当前用户名及用户权限
Session["Uid"]=dr["id"].ToString();
Session["Ugrade"]=dr["权限"].ToString();
lbl_message.Text="欢迎您!
"+Session["uid"];
if(Session["Ugrade"].ToString()=="1")
{//进入系统管理员界面
Response.Redirect("wzmanage.aspx");
}
elseif(Session["Ugrade"].ToString()=="2")
{//进入仓库管理员界面
Response.Redirect("iomanage.aspx");
}
elseif(Session["Ugrade"].ToString()=="3")
{//进入仓库采购员界面
Response.Redirect("orderlist.aspx");
}
}
else
{
lbl_message.Text="对不起,您的用户名/密码不正确,请重新输入";
}
4.2物资信息维护页面
物资信息维护页面是物资管理系统中的主要部分,主要负责所有物资信息的浏览,以及物资维护其他页面的链接,用户也可以根据物资号直接查到该货物详单。
物资信息维护页面后台支持类(wzmanage.aspx.cs)主要代码如下:
publicvoidDataGrid_Delete(Objectsender,DataGridCommandEventArgsE)
{
try
{
//从文件Web.config中读取连接字符串
stringstrconn=ConfigurationSettings.AppSettings["dsn"];
//连接本地计算机的WMS数据库
SqlConnectioncn=newSqlConnection(strconn);
cn.Open();
SqlCommandcm=newSqlCommand("wzdelete",cn);
cm.CommandType=CommandType.StoredProcedure;
cm.Parameters.Add("@GID",SqlDbType.Int);
//从DateGrid中取得更新内容
//Cells[1]为GID列
cm.Parameters["@GID"].Value=Convert.ToInt32(E.Item.Cells[1].Text.ToString());
cm.ExecuteNonQuery();
dgd_goodsmanage.EditItemIndex=-1;
BindGrid();
}
catch
{
Response.Write("删除物资基本信息错误!
请先把该物资其他相关信息删除!
");
Response.End();
}
}
publicvoidDataGrid_Page(Objectsender,DataGridPageChangedEventArgsE)
{
dgd_goodsmanage.CurrentPageIndex=E.NewPageIndex;
BindGrid();
}
privatevoidbtn_search_Click(objectsender,System.EventArgse)
{
try
{
intvargid=Convert.ToInt32(tbx_gid.Text.ToString());
Response.Redirect("wzmodify.aspx?
gid="+vargid);
}
catch
{
Response.Write("输入的物资编号不正确!
");
Response.End();
}
}
4.3添加物资基本信息页面
物资信息添加页面主要负责往数据库中添加数据,后台使用btn-submit-Click函数进行处理,负责当用户单击“添加”按钮后的数据库添加操作。
以后是物资信息添加页面的后台支持类(wzadd.aspx.cs)的主要相关代码。
privatevoidbtn_submit_Click(objectsender,System.EventArgse)
{
if(Page.IsValid)
{//从文件Web.config中读取连接字符串
stringstrconn=ConfigurationSettings.AppSettings["dsn"];
//连接本地计算机的物资管理数据库
SqlConnectioncn=newSqlConnection(strconn);
cn.Open();
//先取得GOODS表上表示列的初始值
stringgetInsertID="selectMax(物资编号)from物资基本信息";
SqlCommandcm0=newSqlCommand(getInsertID,cn);
SqlDataReaderdr=cm0.ExecuteReader();
dr.Read();
intVargid;
if(dr[0].ToString()=="")Vargid=1;//表初始为空的情况
elseVargid=Convert.ToInt32(dr[0].ToString())+1;//表中已有数据的情况
cm0.Connection.Close();
//利用Command对象调用存储过程
SqlCommandcm=newSqlCommand("wzadd",cn);
//将命令类型转为存储类型
cm.CommandType=CommandType.StoredProcedure;
try
{
//添加并给参数付值
cm.Parameters.Add("@Gid",SqlDbType.BigInt);
cm.Parameters.Add("@Gname",SqlDbType.Char);
cm.Parameters.Add("@Gguige",SqlDbType.Char);
cm.Parameters.Add("@Gkind",SqlDbType.Char);
cm.Parameters.Add("@Gdanwei",SqlDbType.Char);
cm.Parameters.Add("@Gprice",SqlDbType.Money);
cm.Parameters["@Gid"].Value=Vargid;
cm.Parameters["@Gname"].Value=tbx_name.Text.ToString();
cm.Parameters["@Gguige"].Value=tbx_guige.Text.ToString();
cm.Parameters["@Gkind"].Value=tbx_kind.Text.ToString();
cm.Parameters["@Gdanwei"].Value=tbx_danwei.Text.ToString();
cm.Parameters["@Gprice"].Value=Convert.ToDouble(tbx_price.Text.ToString());
cm.Connection.Open();
cm.ExecuteNonQuery();
}
catch
{
Response.Write("对不起输入信息中存在不合要求信息,请重输!
");
Response.End();
}
4.4仓库信息维护页面
仓库信息维护页面是物资管理系统中的一个部分,主要负责所有仓库信息的浏览、编辑、更新以及删除,用户也可以通过链接来添加新仓库信息,即跳转到chadd.aspx页面。
物资信息维护页面后台支持类(wzmanage.aspx.cs)主要代码如下:
publicvoidDataGrid_Update(Objectsender,DataGridCommandEventArgsE)
{//从文件Web.config中读取连接字符串
stringstrconn=ConfigurationSettings.AppSettings["dsn"];
//连接本地计算机的WMS数据库
SqlConnectioncn=newSqlConnection(strconn);
cn.Open();
SqlCommandcm=newSqlCommand("ckmodify",cn);
//将命令类型转为存储类型
cm.CommandType=CommandType.StoredProcedure;
//往cm中添加参数
cm.Parameters.Add("@WID",SqlDbType.Int);
cm.Parameters.Add("@WName",SqlDbType.VarChar);
cm.Parameters.Add("@WArea",SqlDbType.Float);
cm.Parameters.Add("@WAddress",SqlDbType.VarChar);
//总体判断是否输入有误
try
{//从DateGrid中取得更新内容,Cells[0]为WID列,以下照此
cm.Parameters["@WID"].Value=Convert.ToInt32(E.Item.Cells[0].Text.ToString());
cm.Parameters["@WName"].Value=((TextBox)E.Item.Cells[1].Controls[0]).Text.ToString();
cm.Parameters["@WArea"].Value=Convert.ToInt32(((TextBox)E.Item.Cells[2].Controls[0]).Text.ToString());
cm.Parameters["@WAddress"].Value=((TextBox)E.Item.Cells[3].Controls[0]).Text.ToString();
//从DateGrid中取得更新内容
cm.ExecuteNonQuery();
}
catch
{
Response.Write("输入数据有误,请确定或重输");
Response.End();
}
dgd_ckmanage.EditItemIndex=-1;
BindGrid();
}
publicvoidDataGrid_Delete(Objectsender,DataGridCommandEventArgsE)
{
try
{
//从文件Web.config中读取连接字符串
stringstrconn=ConfigurationSettings.AppSettings["dsn"];
//连接本地计算机的WMS数据库
SqlConnectioncn=newSqlConnection(strconn);
cn.Open();
SqlCommandcm=newSqlCommand("ckdelete",cn);
cm.CommandType=CommandType.StoredProcedure;
cm.Parameters.Add("@WID",SqlDbType.VarChar);
//从DateGrid中取得更新内容
//Cells[0]为WID列
cm.Parameters["@WID"].Value=Convert.ToInt32(E.Item.Cells[0].Text.ToString());
cm.ExecuteNonQuery();
dgd_ckmanage.EditItemIndex=-1;
BindGrid();
}
catch
{
Response.Write("删除仓库基本信息错误!
请先把该仓库其他相关信息删除!
");
Response.End();
}
}
4.5物资信息修改页面
本页面增加了支持这两个空间的数据库操作代码,由于这是一个信息修改界面,系统必须提供原始数据记录,在Page_Load函数里,添加了实现各个文本框初始数据绑定的程序代码。
以下是物资信息修改页的后台支持类(wzmodify.aspx.cs)的主要相关代码:
privatevoidPage_Load(objectsender,System.EventArgse)
{
//在此处放置用户代码以初始化页面
if(!
IsPostBack)
{
//从文件Web.config中读取连接字符串
stringstrconn=ConfigurationSettings.AppSettings["dsn"];
//连接本地计算机的物资管理数据库
SqlConnectioncn=newSqlConnection(strconn);
cn.Open();
SqlCommandcm=newSqlCommand("wzdetail",cn);
cm.CommandType=CommandType.StoredProcedure;
cm.Parameters.Add("@Gid",SqlDbType.Int);
cm.Parameters["@Gid"].Value=Convert.ToInt32(Request.QueryString["gid"].ToString());
SqlDataReaderdr=cm.ExecuteReader();
if(dr.Read())//存在对应项
{
lbl_id.Text=dr["物资编号"].ToString();
tbx_name.Text=dr["物资名称"].ToString();
tbx_guige.Text=dr["规格型号"].ToString();
tbx_kind.Text=dr["种类"].ToString();
tbx_danwei.Text=dr["计量单位"].ToString();
tbx_price.Text=dr["单价"].ToString();
}
else
{
Response.Write("对不起,没有该产品信息");
Response.End();
}
}
}
privatevoidbtn_modify_Click(objectsender,System.EventArgse)
{
if(Page.IsValid)
{//从文件Web.config中读取连接字符串
stringstrconn=ConfigurationSettings.AppSettings["dsn"];
//连接本地计算机的WMS数据库
SqlConnectioncn=newSqlConnection(strconn);
cn.Open();
//利用Command对象调用存储过程
SqlCommandcm=newSqlCommand("wzmodify",cn);
//将命令类型转为存储类型
cm.CommandType=CommandType.StoredProcedure;
//添加并给参数付值
cm.Parameters.Add("@Gid",SqlDbType.BigInt);
cm.Parameters.Add("@Gname",SqlDbType.Char);
cm.Parameters.Add("@Gguige",SqlDbType.Char);
cm.Parameters.Add("@Gkind",SqlDbType.Char);
cm.Parameters.Add("@Gdanwei",SqlDbType.Char);
cm.Parameters.Add("@Gprice",SqlDbType.Money);
cm.Parameters["@Gid"].Value=Convert.ToInt32(lbl_id.Text.ToString());
cm.Parameters["@Gname"].Value=tbx_name.Text.ToString();
cm.Parameters["@Gguige"].Value=tbx_guige.Text.ToString();
cm.Parameters["@Gkind"].Value=tbx_kind.Text.ToString();
cm.Parameters["@Gdanwei"].Value=tbx_danwei.Text.ToString();
cm.Parameters["@Gprice"].Val
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 物资 管理 系统 详细 设计 说明书