1、物资管理系统详细设计说明书样本详细设计1引言1.1编写目的物资管理系统的总目标是: 在数据库和先进的开发平台上, 利用现有资源, 开发一个体系结构完善的、 易扩充的、 易维护的、 具有良好人机交互界面的物资管理系统, 实现物资的计算机管理, 提供完善的功能, 为物资管理人员提供便利的工作方式。需求分析的目的是对问题进行分析, 以及根据对所选择的开发工具的了解, 分析系统的总体需求, 较好地完成任务。1.2项目背景为了适应日趋激烈的市场竞争, 不论是企业还是其它具有物资储备的公司都需要对自身的储备状况有充分的了解, 并经过有效的管理不断提高效率。因此, 对物资的管理也成为提高生产效率的一个重要途
2、径。 本物资管理系统是针对物资的基本信息管理和出入库登记和查询统计等方面工作而开发的管理软件, 是一个实用的管理信息系统, 针对企业的实际需要, 分析了物资管理系统的功能, 并以入库管理和出库管理为重点, 描述了两子系统的模块结构设计及实施过程中的技术要点, 实现物资的基本信息管理、 出入库管理、 查询管理及用户管理等功能。同时, 还对代码维护及库存余额管理等做了设计。 用户能够经过相应的模块, 对物资基本情况进行更新、 删除和查询, 对物资出库和入库进行管理, 对出入库明细进行查询, 对出库, 入库, 和材料的库存余额进行报表生成, 对使用该系统的用户进行更新、 删除和查询, 对库存数量进行
3、查询, 还有操作员管理, 权限设置, 密码修改, 数据备份与系统恢复等其它系统管理功能。1.3定义物资管理系统1.4参考资料Visual C#编程技术与实例软件工程2总体设计2.1需求概述1.物资供应管理软件的最终目标是在保证企业生产经营管理正常进行的前提下, 最大限度地简化日常事务, 降低原材料成本和运营成本, 降低库存和占用资金, 增加企业的流动资金, 减少财务收支差错或延误, 使物资管理人员把更多的精力集中在诸如供应商选择、 合同谈判和效益分析等战略性决策任务上。 2.用计算机管理物资不能照搬照抄人工管理模式, 变成人工管理的翻版, 而是要根据物资管理的目标对人工管理的业务流程进行优化、
4、 合理化、 科学化, 要超越当前的业务, 抽象出业务中的管理思想和规律。 3.要让物流、 资金流、 数据流、 控制流畅通并形成一个完整的闭环反馈系统。整个物资供应管理系统要以计划和控制为主线, 充分体现物流、 资金流、 信息流、 控制流有机集成的管理思想。同时, 物资的管理效率就体现在对信息的采集、 传递、 处理加工过程中, 信息流是物资供应管理过程的影象。 4.要有丰富的监控、 考核、 管理功能, 做到事先有计划, 事中有控制, 事后有核算, 要求每一个业务过程都要为领导( 综合管理) 提供丰富的决策信息和考核数据。2.2实现功能需要实现的功能如下: 有关物资基本信息的输入。 物资基本信息的
5、查询与修改。 入库物资信息的输入。 入库物资信息的查询与修改。 出库物资信息的输入。 出库物资信息的查询与修改。 物资余额信息的查询。 物资余额信息的浏览。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物资管理系统首页物资管理系统首页具有自动导航的功能, 不同用户登录, 根据其不同的身份, 将进入不同的系统
6、功能页, 系统分3类用户: 系统管理员、 仓库管理员、 采购员。在用户身份验证经过后, 系统由Session变量记录其用户号、 用户身份, 伴随用户对系统进行操作的整个生命周期。以下给出物资管理系统首页( login.aspx.cs) 的后台支持类的主要代码。前台脚本代码login.aspx能够经过.NET集成开发环境, 依照所给界面设计方案能够完成。主要代码如下: private void btn_login_Click(object sender, System.EventArgs e) /从文件Web.config中读取连接字符串 string strconn= Configuratio
7、nSettings.AppSettingsdsn; /连接本地计算机的物资管理数据库 SqlConnection cn= new SqlConnection (strconn); cn.Open (); /构造SQL语句, 该语句在Users表中检查用户名和密码是否正确 string mysql= select * from 管理员 where id=+tbx_uid.Text +and 密码=+tbx_upassword.Text +; /创立Command对象 SqlCommand cm=new SqlCommand (mysql,cn); /执行ExecuteReader ()方法 Sq
8、lDataReader dr=cm.ExecuteReader (); if(dr.Read () lbl_message.Text= ; /保存当前用户名及用户权限 SessionUid=drid.ToString (); SessionUgrade=dr权限.ToString (); lbl_message.Text=欢迎您! +Sessionuid; if(SessionUgrade.ToString ()=1) /进入系统管理员界面 Response.Redirect (wzmanage.aspx); else if(SessionUgrade.ToString ()=2) /进入仓库
9、管理员界面 Response.Redirect (iomanage.aspx); else if(SessionUgrade.ToString ()=3) /进入仓库采购员界面 Response.Redirect (orderlist.aspx); else lbl_message.Text =对不起, 您的用户名/密码不正确, 请重新输入; 4.2物资信息维护页面物资信息维护页面是物资管理系统中的主要部分, 主要负责所有物资信息的浏览, 以及物资维护其它页面的链接, 用户也能够根据物资号直接查到该货物详单。物资信息维护页面后台支持类( wzmanage.aspx.cs) 主要代码如下: pu
10、blic void DataGrid_Delete(Object sender,DataGridCommandEventArgs E) try /从文件Web.config中读取连接字符串 string strconn= ConfigurationSettings.AppSettingsdsn; /连接本地计算机的WMS数据库 SqlConnection cn= new SqlConnection (strconn); cn.Open (); SqlCommand cm=new SqlCommand (wzdelete,cn); cm.CommandType =CommandType.Stor
11、edProcedure ; 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 (
12、); public void DataGrid_Page(Object sender,DataGridPageChangedEventArgs E) dgd_goodsmanage.CurrentPageIndex =E.NewPageIndex ; BindGrid();private void btn_search_Click(object sender, System.EventArgs e) try int vargid=Convert.ToInt32 (tbx_gid.Text .ToString (); Response.Redirect (wzmodify.aspx?gid=+v
13、argid); catch Response.Write (输入的物资编号不正确! ); Response.End (); 4.3添加物资基本信息页面物资信息添加页面主要负责往数据库中添加数据, 后台使用btn-submit-Click函数进行处理, 负责当用户单击”添加”按钮后的数据库添加操作。以后是物资信息添加页面的后台支持类( wzadd.aspx.cs) 的主要相关代码。private void btn_submit_Click(object sender, System.EventArgs e) if(Page.IsValid ) /从文件Web.config中读取连接字符串 str
14、ing strconn= ConfigurationSettings.AppSettingsdsn; /连接本地计算机的物资管理数据库 SqlConnection cn= new SqlConnection (strconn); cn.Open (); /先取得GOODS表上表示列的初始值 string getInsertID=select Max(物资编号) from 物资基本信息; SqlCommand cm0=new SqlCommand (getInsertID,cn); SqlDataReader dr=cm0.ExecuteReader (); dr.Read (); int Va
15、rgid; if(dr0.ToString ()=) Vargid=1;/表初始为空的情况 else Vargid=Convert.ToInt32 (dr0.ToString()+1 ;/表中已有数据的情况 cm0.Connection .Close (); /利用Command对象调用存储过程 SqlCommand cm=new SqlCommand (wzadd,cn); /将命令类型转为存储类型 cm.CommandType =CommandType.StoredProcedure ; try /添加并给参数付值 cm.Parameters .Add (Gid,SqlDbType.Big
16、Int ); 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.T
17、ext.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.ExecuteNonQ
18、uery (); catch Response.Write (对不起输入信息中存在不合要求信息, 请重输! ); Response.End (); 4.4仓库信息维护页面仓库信息维护页面是物资管理系统中的一个部分, 主要负责所有仓库信息的浏览、 编辑、 更新以及删除, 用户也能够经过链接来添加新仓库信息, 即跳转到chadd.aspx页面。物资信息维护页面后台支持类( wzmanage.aspx.cs) 主要代码如下: public void DataGrid_Update(Object sender,DataGridCommandEventArgs E) /从文件Web.config中读取连
19、接字符串 string strconn= ConfigurationSettings.AppSettingsdsn; /连接本地计算机的WMS数据库 SqlConnection cn= new SqlConnection (strconn); cn.Open (); SqlCommand cm=new SqlCommand (ckmodify,cn); /将命令类型转为存储类型 cm.CommandType =CommandType.StoredProcedure ; /往cm中添加参数 cm.Parameters .Add (WID,SqlDbType.Int ); cm.Parameter
20、s .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.Cells0.Text .ToString (); cm.Parameters WName.Value =(TextBox)E.Item.Ce
21、lls1.Controls 0).Text .ToString (); cm.Parameters WArea.Value =Convert.ToInt32 (TextBox)E.Item.Cells2.Controls 0).Text .ToString (); cm.Parameters WAddress.Value =(TextBox)E.Item.Cells3.Controls 0).Text .ToString (); /从DateGrid中取得更新内容cm.ExecuteNonQuery (); catch Response.Write (输入数据有误, 请确定或重输); Resp
22、onse.End (); dgd_ckmanage.EditItemIndex =-1; BindGrid();public void DataGrid_Delete(Object sender,DataGridCommandEventArgs E) try /从文件Web.config中读取连接字符串 string strconn= ConfigurationSettings.AppSettingsdsn; /连接本地计算机的WMS数据库 SqlConnection cn= new SqlConnection (strconn); cn.Open (); SqlCommand cm=new
23、SqlCommand (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 Re
24、sponse.Write (删除仓库基本信息错误! 请先把该仓库其它相关信息删除! ); Response.End (); 4.5物资信息修改页面本页面增加了支持这两个空间的数据库操作代码, 由于这是一个信息修改界面, 系统必须提供原始数据记录, 在Page_Load函数里, 添加了实现各个文本框初始数据绑定的程序代码。以下是物资信息修改页的后台支持类( wzmodify.aspx.cs) 的主要相关代码: private void Page_Load(object sender, System.EventArgs e) / 在此处放置用户代码以初始化页面 if(!IsPostBack) /从
25、文件Web.config中读取连接字符串 string strconn= ConfigurationSettings.AppSettingsdsn; /连接本地计算机的物资管理数据库 SqlConnection cn= new SqlConnection (strconn); cn.Open (); SqlCommand cm=new SqlCommand (wzdetail,cn); cm.CommandType =CommandType .StoredProcedure ; cm.Parameters .Add (Gid,SqlDbType.Int );cm.Parameters Gid.
26、Value =Convert.ToInt32 (Request.QueryString gid.ToString (); SqlDataReader dr=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
27、.Text=dr单价.ToString (); else Response.Write (对不起, 没有该产品信息); Response.End (); private void btn_modify_Click(object sender, System.EventArgs e) if(Page.IsValid ) /从文件Web.config中读取连接字符串 string strconn= ConfigurationSettings.AppSettingsdsn; /连接本地计算机的WMS数据库 SqlConnection cn= new SqlConnection (strconn);
28、cn.Open (); /利用Command对象调用存储过程 SqlCommand cm=new SqlCommand (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
29、,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.V
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1