NET的仓库管理系统设计与实现论文_第1页
NET的仓库管理系统设计与实现论文_第2页
NET的仓库管理系统设计与实现论文_第3页
NET的仓库管理系统设计与实现论文_第4页
NET的仓库管理系统设计与实现论文_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

45/60本科生毕业设计(论文)基于.NET的仓库管理系统设计与实现基于.NET的仓库管理系统设计与实现XXX08053320计07-X题目:姓名:学号:班级:二〇一一年六月本科生毕业论文姓名:XXXX学号:xxx学院:计算机科学与技术专业:计算机科学与技术论文题目:基于.NET的仓库管理系统设计与实现专题:指导教师:xxx职称:xxx毕业论文任务书学院计算机专业年级xxx学生姓名xxx任务下达日期:20XX年XX月XX日毕业论文日期:20XX年XX月XX日至20XX年XX月XX日毕业论文题目:基于.NET的仓库管理系统设计与实现毕业论文专题题目:毕业论文主要内容和要求:使用C#语言,在VisualStudio2010.NET平台下进行开发使用.NETFramework4类库使用SQLServer2008数据库并采用存储过程实现统计图的绘制和数据导出院长签字:指导教师签字:

毕业论文指导教师评阅书指导教师评语(①基础理论及基本技能的掌握;②独立解决实际问题的能力;③研究内容的理论依据和技术方法;④取得的主要成果及创新点;⑤工作态度及工作量;⑥总体评价及建议成绩;⑦存在问题;⑧是否同意答辩等):成绩:指导教师签字:年月日毕业论文评阅教师评阅书评阅教师评语(①选题的意义;②基础理论及基本技能的掌握;③综合运用所学知识解决实际问题的能力;③工作量的大小;④取得的主要成果及创新点;⑤写作的规范程度;⑥总体评价及建议成绩;⑦存在问题;⑧是否同意答辩等):成绩:评阅教师签字:年月日

毕业论文答辩及综合成绩答辩情况提出问题回答问题答辩委员会评语及建议成绩:答辩委员会主任签字:年月日学院领导小组综合评定成绩:学院领导小组负责人:年月日摘要随着经济的不断繁荣以及加入WTO后市场环境的变化,对企业的生产经营提出了更高的要求,企业必须综合利用各种先进制造技术,在网络与信息技术的支持下,改进现在的生产经营模式和组织结构,才能在市场竞争中赢得更多的份额。随着企业规模的扩大,仓库管理系统将发挥越来越重要的作用。高效方便的仓库管理系统,可以为企业的生产和经营提供坚强的后盾和有力的支持。本文所设计的仓库管理系统以标准的仓库管理模式为蓝本,基于.NET+Sqlserver开发出一个可以用于一般单位的仓库管理系统,实现了仓库管理的高效性与安全性。系统主要提供一个仓库业务及其作业管理的信息存储和检索系统。通过入库管理、出库管理、仓库人员管理等功能模块来实现仓库的综合管理。系统的测试表明,本系统可以方便快捷地实现仓库管理中的货物登记、出库入库、货物盘点等工作,使企业的仓库管理井井有条,为企业的健康发展创造良好的条件。关键词:C#;SQlServer;仓库管理目录1绪论 11.1 开发背景 11.2 开发意义 12相关技术分析 32.1 设计概述 32.1.1 实现目标 32.1.2 VS2010简介 32.1.3 SQLServer2008简介 42.2 开发相关技术简介 52.2.1 网络通信技术 52.2.2 C#Winform技术 92.2.3 NHibernate数据持久化 102.3可行性分析 112.3.1 技术可行性分析 112.3.2经济可行性分析 112.3.3 操作可行性分析 123系统分析与设计 133.1 引言 133.2 系统分析 133.2.1系统需求分析 133.2.2系统功能设置 144数据库设计 164.1 引言 164.2数据关系图 164.3 数据表 165系统功能界面与实现 185.1 系统主界面 185.2用户管理模块 195.3 商品管理模块 215.4 订单管理模块 265.5文件管理模块 275.6统计分析 27总结 29参考文献 301绪论开发背景Microsoft在推出.NETFramework时推出了C#语言,一种全新的面向对象的语言。C#语言在对于windows应用程序的方面有着良好的支持,用c#编写windowsApplication方便快捷,而且程序的健壮性也很高。C#也从刚开始的1.0到1.1,2.0,3.0,4.0不断的发展强大,到如今的WPF,WCF等等。SQLServer是一个关系数据库管理系统。它最初是由MicrosoftSybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本。在WindowsNT推出后,Microsoft与Sybase在SQLServer的开发上就分道扬镳了,Microsoft将SQLServer移植到WindowsNT系统上,专注于开发推广SQLServer的WindowsNT版本。Sybase则较专注于SQLServer在UNIX操作系统上的应用。SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统,该版本继承了SQLServer7.0版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用。使用C#语言作为开发语言,SqlServer为数据库,两者之间能够实现良好的支持和组合,能使系统的效率发挥到最大。开发意义物流是有形物品从出发点到最终消费点的流动存储活动,具体包括运输、保管、包装、装卸、搬运、流通加工及信息处理,从职能上可以分为:供应物流、生成物流、销售物流、回收物流和废弃物流五个职能。从70年代开始,计算机技术开始应用到物流领域。随着物流市场和物流信息化的发展,物流软件市场也应运而生并迅速发展起来,国内外出现了一大批物流软件供应商和物流软件。“物流软件作为管理软件,较其它应用软件呈现先进性、高效性、可靠性和安全性等特点;较其它管理软件,如ERP(EnterpriseResourcePlanning),具有以下特点:实施风险小,实施迅速;效益显著、见效快。根据物流软件结构分类,就目前物流软件所使用的应用范围来说,物流软件包括如下几个子系统:WMS(WarehouseManagementSystem,仓库管理系统)、TMS(TransportationManagementSystem,运输管理系统)。OMS(OrderManagementSystem,定单管理系统)、SMS(ServiceManagementSystem,服务管理系统)。其中,WMS主要提供了一整套仓库业务以及作业管理系统。通过仓库管理系统可以实现库位分配自动化和智能化;提高仓库作业效率和速度,提供准确的库存信息,并使之与实际库存变化同步。仓库管理系统是通过入库业务、出库业务、库存调拨、库存调整,结合批次管理、物料对应、库存盘点、质检管理、实时库存管理等功能综合运用的管理系统,对库存业务的物流和成本管理全过程进行有效控制和跟踪,实现完善的企业仓库信息管理。仓库管理系统的投入,将使仓库的管理更加正规化,为产品的出入库管理部门和销售部门提供了方便,降低了仓库的损耗。企业可以对售出的产品进行跟踪服务,同时也免去了销售人员按以往惯例亲自前往用户处去核实货物情况的麻烦,提高了办事效率,节省了费用,而且还避免了不必要的业务纠纷,维护了企业长期与用户建立的良好信誉。2相关技术分析设计概述实现目标本论文以标准的仓库管理模式为蓝本,根据软件工程的理论,开发出基于JSP的适用于中小单的位仓库管理系统。论文首先研究了系统开发的可行性,然后进行了需求分析,然后根据需求分析采用了结构化分析方法进行了系统分析设计,并进行了数据库的建模工作,根据模型构建了数据库。后台数据库采用MYSQL完成。基于开放的开发架构JSP实现了系统登录模块、主窗口模块、仓库人员管理模块、入库模块、出库模块等。最后对全文进行了总结,对今后的工作提出了展望。VS2010简介VisualStudio是微软公司推出的开发环境。是目前最流行的Windows平台应用程序开发环境。VisualStudio2010版本于2010年4月12日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。VisualStudio2010同时带来了NETFramework4.0、MicrosoftVisualStudio2010CTP(CommunityTechnologyPreview--CTP),并且支持开发面向Windows7的应用程序。除了MicrosoftSQLServer,它还支持IBMDB2和Oracle数据库。.NETFramework提供了用于解决常见编程任务的构建基块(预制的软件),从而能够快速构造具有出色的最终用户体验的紧密联系的应用程序。在.NETFramework模型业务流程上有效构建的紧密联系的应用程序有利于在异类环境中实现系统集成。VisualStudio是微软公司推出的开发环境,VisualStudio可以用来创建Windows平台下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件。VS2010特点:支持WindowsAzure,微软云计算架构迈入重要里程碑;助力移动与嵌入式装置开发,三屏一云商机无限;实践当前最热门的Agile/Scrum开发方法,强化团队竞争力;升级的软件测试功能及工具,为软件质量严格把关;搭配Windows7,Silverlight4与Office,发挥多核并行运算威力;创建美感与效能并重的新一代软件;支持最新C++标准,增强IDE,切实提高程序员开发效率。VisualC#2010VisualC#2010(版本号:4.0)是微软开发的一种面向对象的编程语言,是微软.NET开发环境的重要组成部分。它是为生成在.NETFramework上运行的多种应用程序而设计的。C#简单、功能强大、类型安全,而且是面向对象的。C#凭借它的许多创新,在保持C样式语言的表示形式和优美的同时,实现了应用程序的快速开发。[4]系统要求支持的体系结构x86x64(WOW)支持的操作系统Windows7;WindowsServer2003R2(32-Bitx86);WindowsServer2003R2x64editions;WindowsServer2003ServicePack2;WindowsServer2008R2;WindowsServer2008ServicePack2;WindowsVistaServicePack2;WindowsXPServicePack3硬件要求最低要求:1.6GHzCPU,192MB内存,1024x768显示器,5400RPM硬盘建议配置:2.2GHz或更快的CPU,384MB或更大的内存,1280x1024显示器,7200RPM或更快的硬盘SQLServer2008简介SQLServer是一个关系数据库管理系统,其中数据库引擎是SQLServer的核心服务,功能是负责完成数据存储、数据处理和数据安全管理。微软公司先后推出了SQLServer2000,SQLServer2005,目前最新版本,也是最强大的版本是SQLServer2008。SQLServer2008推出了许多新的特性和关键的改进,这也使得它成为目前为止的功能最强大和全面的SQLServer版本。SQLServer2008优点是能够降低管理系统、.NET架构和VisualStudioTeamSystem的时间和成本,使得开发人员可以方便开发强大的下一代数据库应用程序。SQLServer2008推出陈述式管理架构(DMF),陈述式管理架构是一种全新的用于SQLServer数据库引擎的管理框架,它是基于策略的。具有以下几方面优点:遵从系统配置的政策,监控和防止通过创建不符合配置的政策来改变系统,通过简化管理工作来减少公司的总成本,使用SQLServer管理套件查找遵从性问题;改进了安装,对SQLServer的服务生命周期提供显著改进,将计算机上的安装与SQLServer软件的配置分离;加速了开发过程,同时提供了集成开发环境和更高级的数据提取功能,使可创建下一代数据应用程序,并且简化了对数据的访问。开发相关技术简介网络通信技术网络通信协议、接口和服务概述协议网络设计体系中的个体(每一台host),形象地理解为都包含一个“一堆相互叠加的层”。当两台在同一个网络设计体系中的主机要进行相互通信时,即一台机器上的第n层要与另一台机器上的第n层交流,在计算机对话中用到的规则和约定合起来称为第n层的协议(protocol)。就像人与人之间相互交流是需要遵循一定的规矩一样,计算机之间的相互通信需要共同遵守一定的规律原则,这些规则就称为网络协议。常见的协议有TCP/IP(传输控制协议/网际协议)、IPX/SPX、NetBEUI等。在局域网中用得比较多的是IPX/SPX。用户如果访问Internet,则必须在网络协议中添加TCP/IP。接口两台主机之间通信的传输数据不是从一台计算机上直接传递到另一台计算机上的同一层中,虽然在我们平时的印象中,计算机在执行网络通信时确实是采用“直接”的方式,但事实上,这只是给我们的“虚拟”印象。事实上,每一个网络层都将数据的控制信息传递到它的下一层,这样一直传递到最底下的一层。最底下的一层的传递数据的介质,即物理介质,如光缆,通过它我们才可以进行实际的通信。网络系统的每一个实体中,联系相邻两层的通路就是接口(interface)。在接口的规范里,定义了下层向上层提供哪些网络服务和操作。图2-1网络分层结构图服务从实现的细节来看,下层向上层提供的服务分为两种形式:面向连接的服务和无连接的服务。面向连接的服务是一种基于电话模型的服务。在连接过程中,必须要经过三个步骤来完成数据通信、建立连接、使用连接、释放连接的工作。如下图演示了面向连接服务的通信模型。图2-2面向连接服务模型无连接的服务是一种基于邮政系统的模型。用户所发送的数据被分成相应的份数,每一条报文都携有完整的目标地址。其特点是每一条报文都相对独立,系统独立地进行路由。各个报文到达目的地的顺序可能是乱序。如下图所示的为无连接服务的通信模型。图2-3无连接服务模型事实上,“有连接”的服务方式需要一定的代价来维护这条“通信信道”,所以,它比“无连接”的服务方式要耗费更多的网络通信资源。虽然它能提高通信数据传输的可靠性,但如果在“需重点考虑通信代价”的在线游戏数据传输的应用程序里,“无连接”服务方式的可行度就要比“有连接”的好。TCP/IP网络架构概述TCP/IP是一种网络通信协议,优点在于规范了网络上的所有通信设备,尤其是一个主机与另一个主机之间的数据往来格式以及传送方式。TCP/IP是Internet的基础协议,也是电脑数据打包和寻址的标准设备。在数据传送中,可以形象地理解为有两个信封,TCP和IP就像是信封,要传递的信息被划分成若干段,每一段塞入一个TCP信封,并在该信封面上记录有分段号的信息,再将TCP信封塞入IP大信封,发送上网。而在接收端,一个TCP软件包负责收集信封,抽出数据,把这些数据按发送前的顺序还原,并加以校验,若发现差错,根据协议,接收端会发出“重发该数据”的请求。因此,TCP/IP在Internet中几乎可以无差错地传送数据。如下图所示为TCP/IP参考模型。图2-4TCP/IP网络分层示意图从上图来看,网络接口层是TCP/IP模型的底层。它的功能是控制网络硬件,并发送IP数据报。实际上,网络接口层可以用来管理网络介质里的诸多协议,定义如何使用实际网络来传送数据。互联网层是将整个网络体系结构贯穿在一起的关键层,它负责提供基本的封包传送功能,将信息分组传送到目标端,各个分组相互独立。互联网层定义了正式的分组格式和协议,就是我们所说的IP。传输层是提供对等实体件的数据传送服务,确定数据已被送达并接受。主要的协议有传输控制协议(TCP)和用户数据报协议(UDP)。应用层是应用程序件沟通的协议,包括所有的高层协议。从使用的角度来看,高层协议包含虚拟终端协议(Telnet)、文本传输协议(FTP)、电子邮件协议(SMTP)、现在的DNS域名系统、HTTP超文本传输协议等。这些协议和实际应用密切相关。IP地址与端口IP地址是网络上标识主机的编号。而所谓的端口号则标识的是哪一个具体的应用程序。IP地址IP地址包括网络号和主机号,网络号和主机号是IP地址唯一的组合。IP地址由4部分数字组成,每部分数字对应8位二进制数字,各部分之间用小数点分开。同一个物理网络上的所有主机都用同一个网络标识,网络上的一个主机(包括网络上工作站、服务器和路由器等)都是一个主机标识与其对应的IP地址。IP地址的4个字节划分为2部分,一部分用以表明具体的网络段,即网络号;另一部分用以表明具体的节点,即主机号。根据每个网络中所包含的主机的多少,有的网络可能含有较多的计算机,也有的网络包含较少的计算机。按照网络规模的大小,为了便于寻址和层次化的构造网络,IP地址被分为A、B、C、D、E五类。如下图所示为IP地址分类图。图2-5IPv4地址分段分割图端口端口是通过端口号来唯一标记的,端口号只有整数,它的范围是0~65535。一台拥有IP地址的主机可以提供许多服务,如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过一个IP地址来实现。那么,这么多网络服务主机怎样才能区别开呢?显然不能只靠IP地址,因为IP地址与网络服务的关系是一对多的关系。实际上是通过“IP地址+端口号”来区分不同的服务的。逻辑意义上的端口号有多种分类标准,按对应的协议类型,端口有两种:TCP端口和UDP端口。由于TCP和UDP两个协议是独立的,因此各自的端口号也相互独立。例如,TCP有256端口,UDP也可以有256端口,两者并不冲突。C#Winform技术WinForm是。Net开发平台中对WindowsForm的一种称谓。Windows窗体的一些重要特点如下:1.简单强大:Windows窗体可用于设计窗体和可视控件,以创建丰富的基于Windows的应用程序。2.新的数据提供程序管理:数据提供程序管理提供易于连接OLEDB和ODBC数据源的数据控件,包括MicrosoftSQLServer、MicrosoftAccess、Jet、DB2以及Oracle等。3.安全:Windows窗体充分利用公共语言运行库的安全特性。这就意味着,一切都可以通过Windows窗体来实现,包括在浏览器中运行的不可信控件和用户硬盘上安装的完全可信的应用程序。4.灵活的控件:Windows窗体提供了一套丰富的控件,并且开发人员可以定义自己有特色的新的控件。WinForm控件[1]是指以输入或操作数据的对象。比如ComponentOne是.net平台下对数据和方法的封装。有自己的属性和方法。属性是控件数据的简单访问者。方法则是控件的一些简单而可见的功能。包含在.NETFramework中的Windows窗体类旨在用于GUI开发。您可以轻松创建具有适应多变的商业需求所需的灵活性的命令窗口、按钮、菜单、工具栏和其他屏幕元素。方便的数据显示和操作:应用程序开发中最常见的情形之一是在窗体上显示数据。Windows窗体对数据库处理提供全面支持。可以访问数据库中的数据,并在窗体上显示和操作数据。5.向导:向用户提供创建窗体、数据处理、打包和部署等的分布指导。NHibernate数据持久化NHibernate是一个面向.NET环境的对象/关系数据库映射工具。对象/关系数据库映射(object/relationalmapping,ORM)这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。在今日的企业环境中,把面向对象的软件和关系数据库一起使用可能是相当麻烦和浪费时间的NHibernate不仅仅管理.NET类到数据库表的映射(包括.NET数据类型到SQL数据类型的映射),还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL和ADO.NET处理数据的时间。NHibernate的目标主要是用于与数据持久化相关的编程任务,能够使开发人员从原来枯燥的SQL语句的编写中解放出来,解放出来的精力可以让开发人员投入到业务逻辑的实现上。对于以数据为中心的程序,开发人员往往是在数据库中使用存储过程来实现商业逻辑,这种情况下NHibernate可能不是最好的解决方案,但对于那些基于.NET,并且能够实现OO业务模型和商业逻辑的中间层应用,NHibernate是最有用的。NHibernate可以帮助用户消除或者包装那些针对特定厂商的SQL代码,并且帮用户把结果集从表格式的表示形式转换成一系列的对象。Hibernate是一个目前应用的最广泛的开放源代码的对象关系映射框架,它对Java的JDBC(类似于ADO.Net)进行了非常轻量级的对象封装,使得程序员可以随心所欲的使用对象编程思维来操纵数据库,目前在国内Java开发界已经颇为流行,Hibernate+Spring往往是很多Java公司招聘的要求。而NHibernate,顾名思义,如同NUnit,NAnt一样,是基于.Net的Hibernate实现,但是目前介绍NHibernate的资料非常少,缺少一个系统完整的教程来全面的展现和深入NHibernate,而且现在NHibernate的文档又残缺不全,少的可怜,很多NHibernate的学习者往往都是通过Hibernate的文档来学习,但是毕竟不是所有的.Net开发者都熟悉Java,也不是所有的人都有精力有时间去学习Java,所以,我准备开始一个StepbyStep的NHibernate教程,以便有兴趣的朋友能够快速的熟悉NHibernate,能够更快地体验NHibernate的开发乐趣。NHibernate是一个基于.Net的针对关系型数据库的对象持久化类库。Nhibernate来源于非常优秀的基于Java的Hibernate关系型持久化工具。NHibernate从数据库底层来持久化你的.Net对象到关系型数据库。NHibernate为你处理这些,远胜于你不得不写SQL去从数据库存取对象。你的代码仅仅和对象关联,NHibernat自动产生SQL语句,并确保对象提交到正确的表和字段中去。2.3可行性分析可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。它的目的不是解决问题,而是确定问题是否值得去解决。技术可行性分析根据需求分析提出的系统功能、性能及实现系统的各项约束条件,根据新系统目标来衡量所需的技术是否具备,本系统是一个数据库管理和查询的系统,现有的技术以较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,估计利用现有技术条件应完全可以达到该系统的功能目标。同时考虑给予的开发期限也较为充裕,预计系统是可以在规定期限内完成开发。2.3.2经济可行性分析估算新系统的成本效益分析,其中包括估计项目开发的成本,开发费用和今后的运行、维护费用,估计新系统将获得的效益,估算开发成本是否回高于项目预期的全部经费。并且,分析系统开发是否会对其它产品或利润带来一定影响。1.支出:基础投资:硬件设备:PC机软件设备:VS2010和SQLServer2008试用版,无太多支出。2.效益:系统的效益可以从经济效益和社会效益两方面考虑。对于仓库管理系统则应着重分析其社会效益。例如,系统投入运行后可以使仓库管理实现科学化、规范化。曾强了工作人员对仓库管理能力、提高了工作效率。3.运行可行性新系统的研制和开发是充分得考虑工作人员对仓库的易于管理,管理者方便查询设备信息效率。从而能完全满足使用者的要求。4.法律可行性新系统的研制和开发,将不会侵犯他人、集体和国家的利益,不会违反国家政策和法律。操作可行性分析由于该工具所面向的是广大具有一定上网经验的互联网用户,所以在设计中采用简洁的GUI界面。也因为简洁的界面设计使得系统在操作方式上很容易让用户接受。并且操作行为具有用户自主的可设置性,和用户有良好的可交互性,在操作上对一没有计算机操作经验的人来说也不会有难度,因此在操作上也是行得通的。3系统分析与设计引言在设计软件系统之前,首先必须确定用户究竟要求软件系统完成什么任务,所以分析阶段的基本任务是了解用户的需求,并将用户的需求用书面形式表达出来。这个阶段还不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。系统分析的结果是系统开发的基础,关系到工程的成败和软件产品的质量。在全面客观的系统分析的基础上,根据用户提出的系统功能进行相应的功能设计。系统分析3.2.1系统需求分析1.货物入库和出库的管理仓库是用来存放货物的,货物进入仓库要进行登记记录,货物从仓库出库也要进行登记记录,这是仓库管理的主要内容。货物进入仓库,从入库申请的人员向执行货物入库的仓库保管员提交货物开始。入库申请人向仓库管理员提交货物和入库申请单,入库申请单记录本次入库的货物名称、数量、提交货物的单位、执行提交货物的人员以及货物注意事项等信息。库管依据送货人员提供的入库申请单对待入库货物进行检查。若待入库货物与入库申请单信息一致,则允许入库;若不一致,则禁止入库,请提交货物的单位重新出具入库申请单。对允许入库的货物,执行库管要对货物的信息进行登记,这些信息包括入库货物名称、入库数量、入库时间、送货入库人员的信息、执行货物入库的执行人。进行登记后,将货物存入仓库。货物存入仓库后,执行入库操作的库管给提出入库申请的入库人员开具入库单,入库流程结束。货物从仓库中出库,是从需求货物的出库单位出库人员向执行出库操作的库管提交出库申请开始的。首先,出库人员向库管提交出库申请单。出库申请记录申请出库的货物名称、申请出库的数量、申请出库的单位、执行出库申请的人员等信息。执行出库的库管首先对出库单的真伪进行检验。对有效的出库单,依据其要求出库的货物名称查找仓库库存货物的信息和此货物的库存数量。如果有此货物,并且其库存数量满足出库申请单的数量,则执行出库操作的库管保存出库申请单并进行出库登记。在出库登记中,执行库管要记录出库货物的名称、出库数量、出库后剩余数量、出库时间、货物去向、出库的仓库、执行出库的库管名称等信息。进行出库登记后,将货物出库。出库结束后,执行库管给提出出库申请的出库人员开具出库单,出库流程结束。2.出库入库记录的查询仓库的管理人员要对仓库存储的货物信息、入库记录和出库记录等及时掌握,这样才能及时了解仓库的运行现状,才有可能会使仓库处在良好的运行状态。所以,一般仓库管理过程中要能提供仓库的入库、出库记录的查询功能,供管理人员使用,所以,对入库、出库记录的查询是仓库管理系统的重要功能之一。3.货物信息的管理仓库要存放货物,关于这些货物本身的信息,对货物的正常存储是非常重要的,例如,哪些货物需要防潮,哪些货物需要轻搬轻放等,所以,对货物本身的信息的登记、管理是仓库管理的重要内容。4.其他信息的管理除了以上提到的一些功能外,仓库管理系统还应该能对一些其他的信息进行管理。例如,对每个仓库来说,都有一些存储位置用来存放货物,仓库管理过程中包括对这些存储位置进行的管理;每个仓库都有一些仓库管理员,对这些仓库管理员的管理也是仓库管理系统的功能之一。3.2.2系统功能设置图3-1系统功能设置图商品管理模块:包括商品的增删改查四个模块,对商品进行管理。订单管理:订单管理是根据商品以及收到的订单对订单表进行的管理。销售预测:销售预测则是根据对商品表和订单表进行分析,得到的统计图,和统计数据。报表输出报表输出是指根据已有的数据表对报表实现导出功能,如导出Excel等等。用户管理:用户管理是指对仓库管理系统中的用户进行增删等的管理。4数据库设计引言数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息,即数据库就是相关信息的集合。本章从E-R模型的分析设计为切入点,重点介绍了数据库的设计。根据仓库管理系统的功能,将其E-R图转化为个数据库表,为系统的实现奠定了基础。4.2数据关系图图4-1数据表关系图数据表用户表:列名数据类型长度允许空默认值备注Idint8自增主键Accountvarchar50Pwdvarchar100商品表:列名数据类型长度允许空默认值备注Idint8主键自增Namevarchar50Areavarchar50Statevarchar50Mountint80Pricemoney0InDatedategetdate()Typevarchar50订单表:列名数据类型长度允许空默认值备注Idint8自增主键Namevarchar50Mountint80ProductIdint8商品表外键InDatedategetate()5系统功能界面与实现系统主界面图5-1系统主界面关系图图5-2主要文件视图5.2用户管理模块用户表是对仓库管理系统的使用人员进行控制的表,主要涉及到了对用户的增加和删除,以及查看功能。并且通过用户表的控制对系统的访问做一定的访问控制。图5-3登录界面图5-4用户管理界面用户管理主要涉及到用户的增加和删除,以及主界面的登陆控制三个部分,这三个部分都和数据库紧密的联系在一起,主要是后台数据库中的操作。主要的实现代码如下:登陆控制实现(界面实现):if(textBox_mima.Text.Trim()==string.Empty||textBox_zhanghao.Text.Trim()==string.Empty){MessageBox.Show("请输入用户名和密码");return;}try{if(!dbHelper.IsExistsUser(textBox_zhanghao.Text.Trim(),textBox_mima.Text.Trim())){MessageBox.Show("错误的用户名密码请重新输入");}else{this.userName=textBox_zhanghao.Text.Trim();this.DialogResult=DialogResult.OK;}}catch(Exceptionex){MessageBox.Show(ex.Message);}登陆控制实现(数据库实现):SqlConnectionconn=Connect.CreatConnection();try{StringBuilderstrSql=newStringBuilder();strSql.Append("selectcount(1)fromdbo.Users");strSql.Append("whereAccount='"+userName+"'"+"andPwd='"+userPwd+"'");SqlCommandcommand=conn.CreateCommand();command.CommandType=CommandType.Text;command.CommandText=strSql.ToString();conn.Open();objectn=command.ExecuteScalar();intr=Convert.ToInt32(n);if(r==1)returntrue;//loginsuccesselseif(r==0)returnfalse;//loginfailedhavenothisaccountelsereturnfalse;}catch(Exceptionex){//TODO:logtheeroormessagethrowex;}finally{if(conn.State==ConnectionState.Open)conn.Close();}商品管理模块图5-5商品管理界面商品管理模块主要是对商品信息的增删改查等操作,但是还涉及到一个主键外键想关联的删除问题,因为表的完整性是独立于表而存在的,如果没有在数据库中添加相应的触发操作那么就必须在程序中对此进行处理,否则在含有其他表外键的数据表删除数据将会失败。增加操作(主界面部分):this.dataGridView_ItemsShow.SelectionChanged-=newSystem.EventHandler(this.dataGridView_ItemsShow_SelectionChanged);shangpintianjiaproductAdd=newshangpintianjia();if(DialogResult.OK==productAdd.ShowDialog()){initData();}else{this.dataGridView_ItemsShow.SelectionChanged+=newSystem.EventHandler(this.dataGridView_ItemsShow_SelectionChanged);}增加操作(增加界面部分):if(string.IsNullOrEmpty(textBox_mingcheng.Text)||string.IsNullOrEmpty(textBox_jiage.Text)||string.IsNullOrEmpty(textBox_quyu.Text)||string.IsNullOrEmpty(textBox_shuliang.Text)||string.IsNullOrEmpty(textBox_shuxing.Text)||string.IsNullOrEmpty(textBox_zhuangtai.Text)){MessageBox.Show("请填充数据后再添加");return;}try{intshuliang=Convert.ToInt32(textBox_shuliang.Text);doublejiage=Convert.ToDouble(textBox_jiage.Text);if(dbHelper.AddNewProduct(textBox_mingcheng.Text,textBox_quyu.Text,textBox_zhuangtai.Text,textBox_shuxing.Text,shuliang,jiage)){this.DialogResult=DialogResult.OK;}else{MessageBox.Show("添加失败");return;}}catch(Exceptionex){MessageBox.Show(ex.Message);}finally{//donothing}删除操作(界面):this.dataGridView_ItemsShow.SelectionChanged-=newSystem.EventHandler(this.dataGridView_ItemsShow_SelectionChanged);if(DialogResult.OK==MessageBox.Show("确信删除本条数据","删除",MessageBoxButtons.OKCancel,MessageBoxIcon.Warning)){try{intid=Convert.ToInt32(textBox_bianhao.Text);dbHelper.RemoveProductById(id);}catch(Exceptionex){MessageBox.Show(ex.Message);}finally{initData();}删除操作(数据库):///<summary>///表的完整性约束,删除主键时先删除相关联外键表///</summary>///<paramname="id"></param>///<returns></returns>privateboolRemoveOrderByProductId(intid){SqlConnectionconn=Connect.CreatConnection();try{SqlCommandcommand=conn.CreateCommand();command.CommandType=CommandType.Text;command.CommandText=string.Format("DELETEFROMdbo.OrdersWHEREProductId={0}",id);conn.Open();command.ExecuteNonQuery();returntrue;}catch(Exceptionex){//returnfalse;throwex;}finally{if(conn.State==ConnectionState.Open)conn.Close();}}///<summary>///Removeproductbyit'sidfromDB///</summary>///<paramname="id"></param>///<returns></returns>publicboolRemoveProductById(intid){RemoveOrderByProductId(id);SqlConnectionconn=Connect.CreatConnection();try{SqlCommandcommand=conn.CreateCommand();command.CommandType=CommandType.Text;command.CommandText=string.Format("DELETEFROMdbo.ProductWHEREId={0}",id);conn.Open();inti=command.ExecuteNonQuery();if(i==1)returntrue;elsereturnfalse;}catch(Exceptionex){//returnfalse;throwex;}finally{if(conn.State==ConnectionState.Open)conn.Close();}}更改操作(主界面部分):this.dataGridView_ItemsShow.SelectionChanged-=newSystem.EventHandler(this.dataGridView_ItemsShow_SelectionChanged);if(DialogResult.OK==MessageBox.Show("确信更改本条数据","删除",MessageBoxButtons.OKCancel,MessageBoxIcon.Warning)){try{intid=Convert.ToInt32(textBox_bianhao.Text);intshuliang=Convert.ToInt32(textBox_shuliang.Text);doublejiage=Convert.ToDouble(textBox_jiage.Text);dbHelper.UpdateProductItem(id,textBox_quyu.Text,textBox_zhuangtai.Text,textBox_shuxing.Text,shuliang,jiage);}catch(Exceptionex){MessageBox

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论