《仓库管理系统设计项目解决方案.docx》由会员分享,可在线阅读,更多相关《仓库管理系统设计项目解决方案.docx(43页珍藏版)》请在三一办公上搜索。
1、仓库管理系统设计项目解决方案目录一.需求分析31.1开发背景31.2开发意义5二. 总体概述62.1 系统功能62.1.1登录模块62.1.2管理员模块72.1.3系统管理员模块92.2 界面设计112.2.1 登录界面112.2.2 系统管理员界面112.2.3 管理员界面12三. 数据库设计123.1 数据库的概念设计123.2 数据表的设计与实现17四. 系统公共类部署21五. 主要功能模块实现235.1 管理员模块235.1.1 基本信息模块235.1.2 货物信息模块255.1.3 出库入库模块275.1.4 信息查询模块325.1.5 报警功能模块335.1.6 信息导出模块345
2、.2 系统管理员模块365.2.1 管理员信息模块365.2.2 采购员信息模块385.2.3 提货员信息模块39一. 需求分析1.1开发背景随着信息技术的发展和国内外互联网技术应用水平的逐步提高,在企业管理过程中,传统的工作方式和管理模式已经难以满足现代社会的必然需求,实现企业现代化综合管理已经是提高国家政府机关和企事业单位各部门工作效率、规范化管理的必然发展趋势。随着经济全球化、信息网络化和物流现代化进程的全面推进,仓储供需量呈现爆炸式的增长,传统的仓库管理模式和管理系统,已根本满足不了现代社会全面信息化的严峻挑战,如何加强以信息化为指导的现代仓库管理技术已成为物流现代化走向成功的有效途径
3、,如何将互联网技术和仓储物流的信息化技术紧密结合起来,开发出适应当前社会发展需要的、先进的现代化物流仓储管理技术平台,是现代化物流发展技术中一项基础的、又是很关键的、特别值得研究的子课题。ASP技术是面向对象编程的技术,可实现复杂数据库的操作;用ASP开发的Web应用程序安装在网络服务器上,运行在网络服务器上,因而ASP源程序的隐密安全系数性高;而ASP又是基于B/S模型架构的、开放式的Web服务器的应用程序开发技术,因此,采用ASP技术开发运行在服务器端的仓库管理信息系统平台是众多软件设计与开发人士的首要选择。本文比较全面地阐述了与ASP、ADO、B/S模式有关的理论技术,为构建Web仓库管
4、理信息系统提供了必要的理论支持。首先分析了ASP技术的优势、特点及其工作原理,剖析了ASP工作的核心内涵,搭建了ASP技术的工作环境,为开发系统功能提供的必需的技术运行环境;分析了目前Web数据库最佳访问组件ADO技术的对象与数据集之间的关系,直接搭建了Web应用程序与数据库访问的联系梁;根据现代仓储市场的需求特点,对拟开发系统的功能进行了细致地分析与设计,建立了仓储数据管理的E-R模型图、数据库结构,分析了B/S架构模式的三层框架,构建了以该框架为模型的仓库管理信息系统,重点分析介绍了有关功能模块的ASP实现过程,成功地实现了基于ASP运行环境的仓库管理信息系统的开发与设计;并对本系统的各项
5、功能进行了测试与分析,发现系统运行状态良好,人机交互友好,程序设计实现合理,达到了项目设计的目的和要求。最后,对本次的项目设计进行了总结与展望,发现了系统的构架模式关系着程序开发效率,对开发系统有着重要的影响意义,好马配好鞍,优秀的软件必然有优秀的构架。作为软件开发设计人员既要努力学好软件技术又要重视相关模式的学习,这样,就能达到事半功倍的效果,设计开发出更加优秀的应用系统来。1.2开发意义仓库管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护,以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库,而对于后者则要求应用程序功能完备、
6、易使用等特点。经过分析,我们使用Microsoft公司的数据库开发工具SQL Server2008和Microsoft Visual Studio 2010,利用其提供的各种面向对象的开发工具和数据库的结合比较方便,我们开发了这套库存管理系统,包括仓库管理、入库管理、出库管理、库存管理以及查询等模块。仓库管理可用于配置企业的仓库信息;出库、入库管理可以使管理人员管理各种类型的货物进出;库存管理可提供便捷的库存查询管理。仓库管理系统实现了企业对货物的管理,用来控制存储货物的数量,以保证稳定的货物支持正常的运转,但又最小限度地占用资本。它是一种相关的、动态的及真实的库存控制系统。它能够结合、满足相
7、关部门的需求,随时间变化动态地调整库存,精确地反映库存现状,加强库存环节管理,有效地控制货物收发,降低了库存,优化了库存结构;能够及时了解货物状态,全方位的仓库管理可以及时了解货物分布,避免了货物短缺、积压、过期变质,及时了解货物的收发成本,货物数据共享。二. 总体概述2.1 系统功能系统要具备如下功能:登录界面统一,用户登录系统时进行身份验证,如不是系统用户则禁止登录; 添加新员工时,通过系统管理员进行添加,并能采集员工的基本信息;仓库货品信息的管理,系统包括仓库管理、入库、出库和一些统计查询等几部分组成。仓库管理系统实现对货品信息的管理和总体的统计等,仓库信息,供货单位和操作员信息的查看及
8、维护。仓库管理人员可以浏览、查询、添加、删除等产品的基本信息。2.1.1登录模块登录模块可以分为系统管理员登录和管理员登录。如果用户要进行登陆时,系统会进去数据库进行帐号密码匹配,同时也要进行权限匹配,如果匹配成功才可以登录。根据其选择的用户不同,输入不同的用户与密码,接入不同的用户界面,管理不同的界面。2.1.2管理员模块 管理员登录:基本信息管理(仓库基本信息,客户基本信息,操作员基本信息) 货物信息管理(对货物信息的添加,删除,修改等功能) 仓库货物管理(进行出库和入库操作及其信息记录) 查询信息管理(对仓库,货物,客户等信息的查询) 仓库警报功能(当库存信息不足时进行提醒功能) 信息导
9、出功能(导出货物信息,入库信息,出库信息)2.1.3系统管理员模块系统管理员登录:管理员信息管理(对管理员信息的添加,修改,删除)采购员信息管理(对采购员信息的添加,修改,删除)提货员信息管理(对提货员信息的添加,修改,删除)2.2 界面设计2.2.1 登录界面2.2.2 系统管理员界面2.2.3 管理员界面三. 数据库设计3.1 数据库的概念设计1.E-R图设计方法 1).属性必须是不可分的数据项。2).属性不能与其他实体具有联系,联系只能发生在实体之间。2.全局E-R图3.2 数据流图 3.3 数据表的设计与实现(1)仓库表字段名称数据类型描述仓库编号nchar(10)仓库编号,主键仓库名
10、称nvarchar(50)仓库名称仓库地址nvarchar(50)仓库地址仓库大小Int仓库大小(2)入库表字段名称数据类型描述货物编号nchar(10)货物编号采购员编号nchar(10)采购员编号采购日期datetime采购日期采购数量Int采购数量管理员编号nchar(10)管理员编号仓库编号nchar(10)仓库编号(3)出库表字段名称数据类型描述货物编号nchar(10)货物编号提货员编号nchar(10)采购员编号出库日期datetime采购日期出库数量Int采购数量仓库编号nchar(10)仓库编号(4)客户表字段名称数据类型描述客户号varchar(10)客户号,主键客户名va
11、rchar(50)客户名客户类型varchar(50)客户类型联系地址varchar(50)联系地址邮政编号varchar(10)邮政编号联系电话varchar(30)联系电话备注varchar(100)备注(5)库存表字段名称数据类型描述货物编号nchar(10)货物编号仓库编号nchar(10)仓库编号货物数量Int货物数量清点时间timestamp清点时间(6)提货员表字段名称数据类型描述提货员编号nchar(10)提货员编号,主键提货员姓名nchar(10)提货员姓名提货员性别nchar(10)提货员性别提货员联系方式nvarchar(50)提货员联系方式提货员联系地址nvarchar
12、(50)提货员联系地址部门nvarchar(50)部门(7)用户表字段名称数据类型描述用户名nchar(10)用户名密码nchar(10)密码权限Int权限(8)管理员表字段名称数据类型描述管理员编号nchar(10)管理员编号,主键管理员姓名nchar(10)管理员姓名管理员性别nchar(10)管理员性别管理员联系方式nvarchar(50)管理员联系方式(9)货物表字段名称数据类型描述货物编号nchar(10)货物编号货物名称nchar(10)货物名称仓库编号nchar(10)仓库编号生产日期datetime生产日期生产厂家nvarchar(50)生产厂家采购员编号nchar(10)采购
13、员编号货物单价int货物单价入库时间datetime入库时间(10)采购员表字段名称数据类型描述采购员编号nchar(10)提货员编号,主键采购员姓名nchar(10)提货员姓名采购员性别nchar(10)提货员性别采购员联系方式nvarchar(50)提货员联系方式采购员联系地址nvarchar(50)提货员联系地址四. 系统公共类部署using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Data;using System.Data.SqlClient;pub
14、lic class Class1public Class1() public static SqlConnection myconn() return new SqlConnection(Server=.;DataBase=CangKu;Integrated Security=True;); 五. 主要功能模块实现5.1 管理员模块管理员模块是一个学校学生信息系统中最为关键的一个环节,管理员能操作操作系统内的任何信息,具体该系统的基本权限,是可以对系统内的信息进行维护的,对系统进行操作的。5.1.1 基本信息模块基本信息模块包含仓库基本信息,客户基本信息,操作员基本信息。仓库基本信息设置有修改
15、和删除的功能。客户基本信息设置了添加,删除和修改的功能。操作员基本信息设置了修改功能。因为客户信息为常变实体属性,因此设置了添加,修改和删除的功能。仓库信息为不常变实体属性,因此设置了修改和删除属性。操作员因为是管理员,不能修改同一等级权限的信息,因此只给添加了修改基本信息的功能。添加客户信息关键代码protected void Button1_Click(object sender, EventArgs e) SqlCommand mycomm = new SqlCommand(insert into 客户values( + this.TextBox1.Text.ToString() + ,
16、 + this.TextBox2.Text.ToString() + , + this.TextBox3.Text.ToString() + , + this.TextBox4.Text.ToString() + , + this.TextBox5.Text.ToString() + , + this.TextBox6.Text.ToString() + , + this.TextBox7.Text.ToString() + ), conn); conn.Open(); mycomm.ExecuteNonQuery(); conn.Close(); SqlCommand my = new Sq
17、lCommand(select * from 客户where 客户号= + this.TextBox1.Text.ToString() + , conn); conn.Open(); SqlDataReader recu = my.ExecuteReader(); if (recu.Read() Response.Write(alert(添加成功!);); else Response.Write(alert(添加失败! );); conn.Close(); 5.1.2 货物信息模块货物信息模块包含对货物信息的添加,货物信息的删除,货物信息的修改对应现实世界的引进新货物,货物信息的更新和清仓处理
18、。添加货物信息的关键代码protected void Button1_Click(object sender, EventArgs e) SqlCommand mycomm = new SqlCommand(insert into 货物 values( + this.TextBox1.Text.ToString() + , + this.TextBox2.Text.ToString() + , + this.TextBox3.Text.ToString() + , + this.TextBox4.Text.ToString() +, + this.TextBox5.Text.ToString(
19、)+, + this.TextBox6.Text.ToString()+, + this.TextBox7.Text.ToString()+, + this.TextBox8.Text.ToString()+), conn); conn.Open(); mycomm.ExecuteNonQuery(); conn.Close(); SqlCommand my = new SqlCommand(select * from 货物 where 货物编号= + this.TextBox1.Text.ToString() + , conn); conn.Open(); SqlDataReader rec
20、u = my.ExecuteReader(); if (recu.Read() Response.Write(alert(添加成功!);); else Response.Write(alert(添加失败! );); conn.Close(); 5.1.3 出库入库模块出库入库模块包含了货物出库和入库模块。对于入库信息来说,当系统开始入库时,先判断货物是否存在,如果不存在的话这直接将货物信息插入库存表,然后在入库表中插入记录,提示入库成功。如果货物存在的话则看对应的仓库是否存在如果存在的话则在原来的货物基础上只更新货物数量提示入库成功,如果仓库不匹配的话则插入该货物信息,然后在入库表中插入记录,
21、提示入库成功。出库信息,当系统开始出库时,先判断货物是否存在如果存在的话则看需要出货的仓库是否存在,如果存在的话再看货物数量是否满足出货数,如果满足则出库成功同时对库存表和出库表进行更新,提示出库成功,否则则出库失败。入库关键代码protected void Button1_Click(object sender, EventArgs e) SqlCommand my = new SqlCommand(select * from 库存where 货物编号= + this.TextBox1.Text.ToString() + and 仓库编号=+this.TextBox6.Text.ToStri
22、ng() + , conn); conn.Open(); SqlDataReader recu = my.ExecuteReader(); if (recu.Read() conn.Close(); SqlCommand my1 = new SqlCommand(update 库存 SET 货物数量=(货物数量+ + this.TextBox4.Text + ) where 货物编号= + this.TextBox1.Text.ToString() + and 仓库编号= + this.TextBox6.Text.ToString() + , conn); conn.Open(); my1.E
23、xecuteNonQuery(); conn.Close(); else conn.Close(); SqlCommand my2 = new SqlCommand(insert into 库存(货物编号,仓库编号,货物数量) values( + this.TextBox1.Text.ToString() + , + this.TextBox6.Text.ToString() + , + this.TextBox4.Text+ ), conn); conn.Open(); my2.ExecuteNonQuery(); conn.Close(); SqlCommand my3 = new Sql
24、Command(select * from 库存where 货物编号= + this.TextBox1.Text.ToString() + and 仓库编号= + this.TextBox6.Text.ToString() + , conn); conn.Open(); SqlDataReader recu1 = my.ExecuteReader(); if (recu1.Read() conn.Close(); SqlCommand mycomm = new SqlCommand(insert into 入库a values( + this.TextBox1.Text.ToString()
25、+ , + this.TextBox2.Text.ToString() + , + this.TextBox3.Text.ToString() + , + this.TextBox4.Text + , + this.TextBox5.Text.ToString() + , + this.TextBox6.Text.ToString() + ), conn); conn.Open(); mycomm.ExecuteNonQuery(); conn.Close(); Response.Write(alert(添加成功! );); else conn.Close(); Response.Write(
26、alert(添加失败!);); 出库关键代码protected void Button1_Click(object sender, EventArgs e) SqlCommand my = new SqlCommand(select * from 库存where ( 货物编号= + this.TextBox1.Text.ToString() + and 货物数量= + this.TextBox5.Text+ and 仓库编号= + this.TextBox2.Text.ToString() + ) , conn); conn.Open(); SqlDataReader recu = my.Ex
27、ecuteReader(); if (recu.Read() conn.Close(); SqlCommand mycomm = new SqlCommand(insert into 出库 values( + this.TextBox1.Text.ToString() + , + this.TextBox2.Text.ToString() + , + this.TextBox3.Text.ToString() + , + this.TextBox4.Text + , + this.TextBox5.Text.ToString() + , + this.TextBox6.Text.ToStrin
28、g() + ), conn); conn.Open(); mycomm.ExecuteNonQuery(); conn.Close(); SqlCommand my1 = new SqlCommand(update 库存 SET 货物数量=(货物数量- + this.TextBox5.Text + ) where (货物编号= + this.TextBox1.Text.ToString() + and 仓库编号= + this.TextBox2.Text.ToString() + ), conn); conn.Open(); my1.ExecuteNonQuery(); conn.Close(
29、); Response.Write(alert(出库成功!);); else conn.Close(); Response.Write(alert(货物不存在或者货物不出库失败!);); 5.1.4 信息查询模块信息查询模块包含货物信息查询,仓库信息查询,客户信息查询。通过对客户表,仓库表和货物表的主键进行匹配唯一的确定一行数据反回GridView进行显示。查询仓库信息关键代码 protected void BindGrid() SqlDataAdapter dataAdapter2 = new SqlDataAdapter(select * from 仓库 where 仓库编号= + Tex
30、tBox1.Text.ToString() + , myConn); DataSet setS = new DataSet(); dataAdapter2.Fill(setS, AAA); this.GridView1.DataSource = setS.TablesAAA; this.GridView1.DataBind(); 5.1.5 报警功能模块警报信息功能,是当库存中货物数量少于10的时候自动提醒管理员要进行及时的补货,以免货物短缺,造成损失。警报信息关键代码 protected void Button1_Click(object sender, EventArgs e) Label
31、1.Text = 以下货物库存不足,请及时补充; SqlDataAdapter dataAdapter2 = new SqlDataAdapter(select * from 库存 where 货物数量=10, conn); DataSet setS = new DataSet(); dataAdapter2.Fill(setS, AAA); this.GridView1.DataSource = setS.TablesAAA; this.GridView1.DataBind(); 5.1.6 信息导出模块信息导出模块包含了导出货物信息,导出出库信息,导出入库信息功能,方便仓库人员进行报表打印
32、和仓库流水信息。导出货物信息关键代码public override void VerifyRenderingInServerForm(Control control) protected void Button1_Click(object sender, EventArgs e) Response.Clear(); Response.BufferOutput = true; Response.Charset = GB2312; Response.AppendHeader(Content-Disposition, attachment;filename=Statement.doc); Respo
33、nse.ContentEncoding = System.Text.Encoding.GetEncoding(GB2312); Response.ContentType = application/ms-word; GridView1.EnableViewState = false; System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo(ZH-CN, true); System.IO.StringWriter stringWriter = new System.IO.StringW
34、riter(cultureInfo); System.Web.UI.HtmlTextWriter textWriter = new System.Web.UI.HtmlTextWriter(stringWriter); GridView1.RenderControl(textWriter); Response.Write(stringWriter.ToString(); Response.End(); 5.2 系统管理员模块系统管理员模块,是仓库管理系统的主要部分,他拥有系统的最高权限,能够管理系统的任何事物,能进行,管理员,采购员,提货员的添加,修改和删除。5.2.1 管理员信息模块管理员信
35、息模块包含对管理员的添加修改和删除的功能,因为仓库管理系统由管理员进行管理,因此当添加管理员信息时,在给管理员表添加基本信息的同时也给用户表中添加了信息,帐号为管理员编号,密码默认为123.添加管理员信息关键代码protected void Button1_Click(object sender, EventArgs e) SqlCommand mycomm = new SqlCommand(insert into 管理员values(+this.TextBox1.Text.ToString()+,+this.TextBox2.Text.ToString()+,+DropDownList1.S
36、electedValue.ToString()+,+this.TextBox3.Text.ToString()+),conn); SqlCommand mycomm1 = new SqlCommand(insert into 用户 values( + this.TextBox1.Text.ToString() + ,123,1), conn); conn.Open(); mycomm.ExecuteNonQuery(); mycomm1.ExecuteNonQuery(); conn.Close(); SqlCommand my = new SqlCommand(select * from 用
37、户where 用户名= + this.TextBox1.Text.ToString()+,conn); conn.Open(); SqlDataReader recu = my.ExecuteReader(); if (recu.Read() Response.Write(alert(添加成功! );); Else Response.Write(alert(添加失败! );); conn.Close(); 5.2.2 采购员信息模块采购员信息管理(对采购员信息的添加,修改,删除)5.2.3 提货员信息模块提货员信息管理(对提货员信息的添加,修改,删除)六. 网站的发布(1)用户登录界面(2)客户基本信息管理(3)客户信息的添加(4)仓库基本信息管理(5)操作员基本信息管理(6)货物信息的添加(7)货物修改和删除信息(8)入库出库操作(9)查询信息(10)警报信息(11)导出入库信息