收藏 分销(赏)

物资管理系统详细设计说明书.doc

上传人:快乐****生活 文档编号:2517169 上传时间:2024-05-31 格式:DOC 页数:27 大小:203.54KB 下载积分:10 金币
下载 相关 举报
物资管理系统详细设计说明书.doc_第1页
第1页 / 共27页
物资管理系统详细设计说明书.doc_第2页
第2页 / 共27页


点击查看更多>>
资源描述
(完整版)物资管理系统详细设计说明书 详细设计 1.引言 2 1.1编写目的 2 1.2项目背景 2 1.3定义 2 1.4参考资料 2 2.总体设计 3 2.1需求概述 3 2。2实现功能 3 3.主要界面设计 4 3.1物资管理系统首页 4 3。2物资信息维护页面 4 3.3添加物资基本信息页面 5 3.4仓库信息维护页面 5 3.5物资信息修改页面 5 3.6存放规则维护页面 6 3。7修改密码页面 6 3。8人员信息维护页面 7 3。9修改员工信息页面 7 3。10余额查询页面 8 3.11添加仓库信息页面 8 3。12添加员工信息页面 9 3.13物资进出记录页面 9 4.功能模块设计与代码实现分析 10 4.1物资管理系统首页 10 4。2物资信息维护页面 11 4.3添加物资基本信息页面 12 4.4仓库信息维护页面 13 4.5物资信息修改页面 15 4.6存放规则维护页面 17 4.7修改密码页面 18 4.8人员信息维护页面 20 4.9修改员工信息页面 20 4.10余额查询页面 22 4。11添加仓库信息页面 23 4.12添加员工信息页面 25 4.13物资进出记录页面 25 1.引言 1。1编写目的 物资管理系统的总目标是:在数据库和先进的开发平台上,利用现有资源,开发一个体系结构完善的、易扩充的、易维护的、具有良好人机交互界面的物资管理系统,实现物资的计算机管理,提供完善的功能,为物资管理人员提供便利的工作方式.需求分析的目的是对问题进行分析,以及根据对所选择的开发工具的了解,分析系统的总体需求,较好地完成任务。 1.2项目背景 为了适应日趋激烈的市场竞争,不论是企业还是其他具有物资储备的公司都需要对自身的储备状况有充分的了解,并通过有效的管理不断提高效率。因此,对物资的管理也成为提高生产效率的一个重要途径。 本物资管理系统是针对物资的基本信息管理和出入库登记和查询统计等方面工作而开发的管理软件,是一个实用的管理信息系统,针对企业的实际需要,分析了物资管理系统的功能,并以入库管理和出库管理为重点,描述了两子系统的模块结构设计及实施过程中的技术要点,实现物资的基本信息管理、出入库管理、查询管理及用户管理等功能。同时,还对代码维护及库存余额管理等做了设计。 用户可以通过相应的模块,对物资基本情况进行更新、删除和查询,对物资出库和入库进行管理,对出入库明细进行查询,对出库,入库,和材料的库存余额进行报表生成,对使用该系统的用户进行更新、删除和查询,对库存数量进行查询,还有操作员管理,权限设置,密码修改,数据备份与系统恢复等其他系统管理功能. 1.3定义 物资管理系统 1.4参考资料 Visual C#编程技术与实例 软件工程 2.总体设计 2。1需求概述 1。物资供应管理软件的最终目标是在保证企业生产经营管理正常进行的前提下,最大限度地简化日常事务,降低原材料成本和运营成本,降低库存和占用资金,增加企业的流动资金,减少财务收支差错或延误,使物资管理人员把更多的精力集中在诸如供应商选择、合同谈判和效益分析等战略性决策任务上。 2。用计算机管理物资不能照搬照抄人工管理模式,变成人工管理的翻版,而是要根据物资管理的目标对人工管理的业务流程进行优化、合理化、科学化,要超越当前的业务,抽象出业务中的管理思想和规律。 3。要让物流、资金流、数据流、控制流畅通并形成一个完整的闭环反馈系统.整个物资供应管理系统要以计划和控制为主线,充分体现物流、资金流、信息流、控制流有机集成的管理思想。同时,物资的管理效率就体现在对信息的采集、传递、处理加工过程中,信息流是物资供应管理过程的影象. 4.要有丰富的监控、考核、管理功能,做到事先有计划,事中有控制,事后有核算,要求每一个业务过程都要为领导(综合管理)提供丰富的决策信息和考核数据。 2。2实现功能 需要实现的功能如下: u 有关物资基本信息的输入。 u 物资基本信息的查询与修改。 u 入库物资信息的输入. u 入库物资信息的查询与修改。 u 出库物资信息的输入。 u 出库物资信息的查询与修改。 u 物资余额信息的查询. u 物资余额信息的浏览. 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集成开发环境,依照所给界面设计方案可以完成。 主要代码如下: private void btn_login_Click(object sender, System。EventArgs e) { //从文件Web.config中读取连接字符串 string strconn= ConfigurationSettings.AppSettings[”dsn”]; //连接本地计算机的物资管理数据库 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 ()方法 SqlDataReader dr=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”); } else if(Session[”Ugrade"].ToString ()=="2") { //进入仓库管理员界面 Response。Redirect (”iomanage.aspx”); } else if(Session["Ugrade"]。ToString ()==”3”) { //进入仓库采购员界面 Response。Redirect ("orderlist。aspx”); } } else { lbl_message.Text ="对不起,您的用户名/密码不正确,请重新输入"; } 4。2物资信息维护页面 物资信息维护页面是物资管理系统中的主要部分,主要负责所有物资信息的浏览,以及物资维护其他页面的链接,用户也可以根据物资号直接查到该货物详单。 物资信息维护页面后台支持类(wzmanage.aspx.cs)主要代码如下: public void DataGrid_Delete(Object sender,DataGridCommandEventArgs E) { try { //从文件Web.config中读取连接字符串 string strconn= ConfigurationSettings.AppSettings["dsn”]; //连接本地计算机的WMS数据库 SqlConnection cn= new SqlConnection (strconn); cn。Open (); SqlCommand cm=new SqlCommand (”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 (); } } 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="+vargid); } 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中读取连接字符串 string strconn= ConfigurationSettings。AppSettings[”dsn”]; //连接本地计算机的物资管理数据库 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 Vargid; if(dr[0].ToString ()==””) Vargid=1;//表初始为空的情况 else Vargid=Convert。ToInt32 (dr[0].ToString())+1 ;//表中已有数据的情况 cm0。Connection 。Close (); //利用Command对象调用存储过程 SqlCommand cm=new SqlCommand ("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)主要代码如下: public void DataGrid_Update(Object sender,DataGridCommandEventArgs E) { //从文件Web。config中读取连接字符串 string strconn= ConfigurationSettings.AppSettings["dsn”]; //连接本地计算机的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.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(); } public void DataGrid_Delete(Object sender,DataGridCommandEventArgs E) { try { //从文件Web。config中读取连接字符串 string strconn= ConfigurationSettings。AppSettings["dsn"]; //连接本地计算机的WMS数据库 SqlConnection cn= new SqlConnection (strconn); cn。Open (); SqlCommand cm=new 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 { Response。Write ("删除仓库基本信息错误!请先把该仓库其他相关信息删除!"); Response。End (); } } 4.5物资信息修改页面 本页面增加了支持这两个空间的数据库操作代码,由于这是一个信息修改界面,系统必须提供原始数据记录,在Page_Load函数里,添加了实现各个文本框初始数据绑定的程序代码。 以下是物资信息修改页的后台支持类(wzmodify。aspx.cs)的主要相关代码: private void Page_Load(object sender, System。EventArgs e) { // 在此处放置用户代码以初始化页面 if(!IsPostBack) { //从文件Web.config中读取连接字符串 string strconn= ConfigurationSettings.AppSettings["dsn”]; //连接本地计算机的物资管理数据库 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"].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.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。AppSettings["dsn"]; //连接本地计算机的WMS数据库 SqlConnection cn= new SqlConnection (strconn); 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”,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”]。Value =Convert.ToDouble (tbx_price.Text 。ToString ()); cm。ExecuteNonQuery (); //关闭连接 cn。Close(); Response.Redirect("wzmanage。aspx”); } } private void btn_delete_Click(object sender, System。EventArgs e) { try { //从文件Web。config中读取连接字符串 string strconn= ConfigurationSettings.AppSettings["dsn"]; //连接本地计算机的物资管理数据库 SqlConnection cn= new SqlConnection (strconn); cn.Open (); SqlCommand cm=new SqlCommand ("wzdelete",cn); cm.CommandType =CommandType.StoredProcedure ; cm.Parameters .Add ("@GID",SqlDbType.BigInt ); //从lbl_gid取得GID值 cm.Parameters ["@GID"].Value =Convert。ToInt32 (lbl_id .Text .ToString ()); cm.ExecuteNonQuery (); //关闭连接 cn。Close(); Response。Redirect(”wzmanage。aspx”); } catch { Response.Write (”删除物资基本信息错误!请先把该物资其他相关信息删除!”); Response.End (); } } 4.6存放规则维护页面 物资存放规则维护页面与物资信息维护页面功能上差不多,只是对信息的修改方式不同,物资信息有专门的页面负责信息修改.存放规则维护是对“关系”的维护,而物资关系维护是对“实体"的维护。 在程序中使用了一个比较简单的方法总体判断输入的有效性,try-catch方法只要有一个输入无效,则try{}程序中的转换代码将产生catch中断,可以在catch{}语句中加入提示输入码,完成总体有效性检查. 以下是存放规则维护页面的后台支持类(gzanage.aspx。cs)的主要相关代码: public void DataGrid_Edit(Object sender,DataGridCommandEventArgs E) { dgd_gzmanage.EditItemIndex =(int)E。Item .ItemIndex ; BindGrid(); } public void DataGrid_Cancel(Object sender,DataGridCommandEventArgs E) { dgd_gzmanage.EditItemIndex =—1; BindGrid(); } public void DataGrid_Update(Object sender,DataGridCommandEventArgs E) { string strconn= ConfigurationSettings.AppSettings[”dsn”]; SqlConnection cn= new SqlConnection (strconn); cn。Open (); SqlCommand cm=new SqlCommand (”gzmodify",cn); //将命令类型转为存储类型 cm。CommandType =CommandType。StoredProcedure ; //往cm中添加参数 cm。Parameters 。Add (”@ID",SqlDbType.Int ); cm.Parameters .Add (”@MAX",SqlDbType。Int ); cm。Parameters .Add ("@MIN”,SqlDbType.Int ); //总体判断是否输入有误 try { //从DateGrid中取得更新内容,Cells [0]为WID列,以下照此 cm。Parameters ["@ID”].Value =E。Item.Cells[0].Text 。ToString (); cm.Parameters [”@MAX"]。Value =Convert。ToInt32 (((TextBox)E。Item.Cells[4].Controls [0])。Text .ToString ()); cm。Parameters ["@MIN"]。Value =Convert.ToInt32 (((TextBox)E。Item.Cells[5]。Controls [0]).Text .ToString ()); //从DateGrid中取得更新内容 cm。ExecuteNonQuery (); } catch { Response。Write (”输入数据有误,请确定或重输"); Response.End (); } dgd_gzmanage.EditItemIndex =-1; BindGrid(); } public void DataGrid_Page(Object sender,DataGridPageChangedEventArgs E) { dgd_gzmanage.CurrentPageIndex =E.NewPageIndex ; BindGrid(); } 4.7修改密码页面 修改密码页面在Page_oad函数中绑定到相应控件上,主要负责用户名的数据绑定操作。btn_submit_Click函数则负责在用户单击“提交"按钮后检查用户名和密码是否匹配,需要修改的密码适合合法后往数据库中更新人员信息的操作。 以下是修改密码页面的后台支持类(mmmodify。aspx.cs)的主要相关代码: private void btn_submit_Click(object sender, System.EventArgs e) { //从文件Web.config中读取连接字符串 string strconn= ConfigurationSettings.AppSettings["dsn"]; //连接本地计算机的WMS数据库 SqlConnection cn= new SqlConnection (strconn); cn.Open (); //构造SQL语句,该语句在Users表中检查用户名和密码是否正确 string mysql= "select * from 管理员 where id=’"+lbl_uid。Text +"'and 密码='"+tbx_upassword.Text +"’"; //创建Command对象 SqlCommand cm=new SqlCommand (mysql,cn); //执行ExecuteReader ()方法 SqlDataReader dr=cm.ExecuteReader (); if(dr.Read ()) { //修改密码 SqlConnection cn1= new SqlConnection (strconn); cn1.Open (); SqlCommand cm1=new SqlCommand (”userspasswdmodify”,cn1); cm1.CommandType =CommandType 。StoredProcedure ; cm1。Parameters 。Add (”@UID",SqlDbType.VarChar ); cm1.Parameters .Add ("@UPassword",SqlDbType。VarChar ); cm1.Parameters [”@UID”]。Value =lbl_uid.Text .ToString (); cm1。Parameters [”@UPassword”]。Value =tbx_newpassword.Text .ToString (); cm1.ExecuteNonQuery (); cn1。Close (); lbl_message。Text=" 密码修改成功,请返回后验证新密码”; } else { lbl_message。Text =”对不起,您输入的原密码不正确,请重新输入"; } 4.8人员信息维护页面 人员信息维护页面是物资管理系统中的一个部分,主要负责所有人员信息的浏览,还可以根据用户编号来查找用户详细情况,还可以通过链接添加新的人员信息。 人员信息维护页面的后来支持类(useradd.aspx.cs)主要代码如下: private void btn_submit_Click(object sender, System.EventArgs e) { if(Page.IsValid ) {//从文件Web。config中读取连接字符串 string strconn= ConfigurationSettings。AppSettings[”dsn"]; //连接本地计算机的WMS数据库 SqlConnection cn= new SqlConnection (strconn); cn。Open (); //利用Command对象调用存储过程 SqlCommand cm=new SqlCommand ("usersadd”,cn); //将命令类型转为存储类型 cm.CommandType =CommandType。StoredProcedure ; //往存储过程中添加参数 cm。Parameters 。Add ("@UID",SqlDbType。VarChar); cm。Parameters 。Add (”@UPassword”,SqlDbType.VarChar); cm.Parameters
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 应用文书 > 技术指导

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服