




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 项目背景11课题背景及研究意义随着经济的迅猛发展和市场竞争的日趋激烈,越来越多的企业经营者发现,一个生产企业再没有足够的时间和资金来完成经营的全过程,他们急需一个长期且巩固的合作伙伴来分担这种压力,从而取得共同的发展和盈利,于是,第三方物流这种服务性的行业发展迅速。仓储管理在物流管理中占据着核心的地位。从物流的发展史可以看出,物流的研究最初是从解决“牛鞭效应”开始的,即在多环节的流通过程中,由于每个环节对于需求的预测存在误差,因此随着流通环节增加,误差被放大,库存也就越来越偏离实际的最终需求,从而带来保管成本和市场风险的提高。解决这个问题的思路,从研究合理的安全库存开始,到改变流程,建立集
2、中的配送中心,以致到改变生产方式,实行订单生产,将静态的库存管理转变为动态的JIT配送,实现降低库存数量和周期的目的。在这个过程中,尽管仓库越来越集中,每个仓库覆盖的服务范围越来越大,仓库吞吐的物品越来越多,操作越来越复杂,但是仓储的周期越来越短,成本不断递减的趋势一直没有改变。从发达国家的统计数据来看,现代物流的发展历史就是库存成本在总物流成本中所占比重逐步降低的历史15。 仓储管理系统是现代仓储企业进行货物管理和业务处理的系统。它可以实现本地仓库的精细化管理,也可实现制造企业、物流企业、连锁业在全国范围内、异地多点仓库的管理;它可以对货物存储和出货等进行动态安排,可以对仓储作业流程的全过程
3、进行电子化操作;可以与客服中心建立数据接口使客户通过互联网实现远程货物管理,可以与企业的ERP系统实现无缝连接。 仓储总是出现在物流各环节的接合部,例如采购与生产之间,生产的初加工与精加工之间,生产与销售之间,批发与零售之间,不同运输方式转换之间等等。仓储是物流各环节之间存在不均衡性的表现,仓储也正是解决这种不均衡性的手段。仓储环节集中了上下游流程整合的所有矛盾,仓储管理就是在实现物流流程的整合。如果借用运筹学的语言来描述仓储管理在物流中的地位,可以说就是在运输条件为约束力的情况下,寻求最优库存(包括布局)方案作为控制手段,使得物流达到总成本最低的目标。在许多具体的案例中,物流的整合、优化实际
4、上归结为仓储的方案设计与运行控制。12国内外相关研究情况WMS(Warehouse management system)是仓储管理系统的简称,它在20世纪70年代中期问世的,此后发展迅速。它源于传统的进销存库存管理系统,在此基础上拓展并增加了各种新型功能。目前WMS国内外应用情况大致可以总结为以下几点: (一)用户日益增多,大中小企业各占一定比例 通过比较1993年和1998年一套包括软硬件和安装WMS的价格可以知道,WMS价格已经有了大幅下降。1993年平均价51万美元,1998年10月调查51家WMS供应商,这一价格为万美元,下跌接近46%,这主要是由于市场竞争和电子技术的降价。 据英国I
5、HS杂志报导,英国某洁具生产厂的配送中心,使用WMS后,仓储费用年节约万镑,其全部总投资在14个月内回收。美国杂志认为一般能在2年内获得回报,还有人估计:3500平方米以上仓库用户,可望在1年内回收。在题为“原料处理实践考察”一文中,他指出适当实施WMS的使用者能将生产力提高20%-30%,库存准确率超过99%,劳动成本节约达到25%甚至更多。基于上述WMS价格下跌及其带来的经济效益,WMS的用户日益增多,同时WMS价格的下跌也使其用户从大企业向中小企业发展。据美国ARC集团的资料,1998年WMS全球销售亿美元,购买对象中大型企业(年收入10亿美元)占41%,中型企业(10亿美元)占%,小型
6、企业(亿美元)占%。有关人士预测,至2003年小型企业客户将大幅度增加13。(二)未来市场需求前景良好根据快步易捷对其客户的调查显示,其中已经实施了专业WMS的企业占18%,准备实施WMS的企业占到64%左右。同时,与其他软件相比较,准备实施专业WMS的企业所占比重最多,这也进一步说明了WMS良好的市场前景。2 开发平台及相关技术介绍开发平台的选择2.1.1开发工具的选择Internet的普及,网络带宽不断增大和价格不断下降;浏览器成为广泛接受的图形界面应用程序,越来越多的B/S(浏览器/服务器)应用系统不断推出,使得整个系统减少了工作量;复杂的电子商务解决方案需要投入巨资解决诸如安全性和可靠
7、性等问题,所以,电子商务的巨大动力其实也在推动ASP的前进。由于自己的技术优势和运营模式,ASP允许小的公司也可以享受一些诸如客户关系管理(CRM)以及供应链管理(SCM)这样的复杂应用。而目前,这些应用只有那些大企业才有能力负担并管理。我所开发的是面向中小型物流公司的仓储管理软件,ASP技术能够满足需求,并且使ASP技术的优势充分发挥。2.1.2 数据库的选择现在市场上有各种各样的数据库,而且每一种数据库都有其自身的特点,不能说哪一种更好,只能在其中寻找一种能更好地适应系统需求、更好地满足用户的要求以及适应开发人员的习惯。物流仓储管理系统是一个中等规模的应用系统,它所产生和处理的数据量一般,
8、没有必要选用Oracle、Sybase等大型数据库。Microsoft Access作为一个桌面数据库,它简单易学,功能丰富,在计算机上的应用比较普及,使用时不需要另外配置运行环境,是开发中小型数据库系统的比较理想的选择,所以,在本系统中,选择了Access作为后台数据库。 ASP技术介绍ASP全名为(Active Server Pages),它是微软公司推出IIS的一个组件,ASP实际是一种在服务器端开发脚本语言的环境。利用它可以开发出动态、交互、高性能Web服务器端的应用,且能较容易实现复杂的Web应用。 ASP文件包括文本、HTML标记和ASP文件特有的脚本语句。制作ASP文件同HTML
9、文件一样,可以用任何纯文本编辑器进行编辑。 ASP可以使用任何脚本语言,只需提供其相应的脚本引擎就可,ASP自身提供VBScriPt和Javascript两种脚本引擎,缺省为VBScript。ASP包括了5个内置对象:(1)Request对象,从浏览器获取信息;(2)Response对象,发送信息到浏览器;(3)Server对象,控制ASP执行情况,对服务器端ActiveX控件起作用;(4)Session对象,存储用户任务的信息;(5)APPlication对象,使多用户共享一个程序的信息。ASP还包括了5个内置组件:(1)数据库存取组件:ASP提供ADO来存取具有ODBC标准的数据库(2)广
10、告轮显组件:用来维护、构建Internet广告(3)浏览器兼容组件:将浏览器的功能数据提供给服务器,以便送出适合于各种浏览器的Web页面(4)文件存取组件:提供文件读写的工具(5)文件超链接组件:提供对Web页面的管理14。网站内容的动态化、数据库化是Internet网站发展的必然趋势,ASP以其简单、高效的开发方式及丰富的控制手段为Internet网站的开发应用提供了强有力的支持。2.2.1 ASP的工作原理图显示了ASP的工作原理,当浏览器通过HTTP协议向web服务器申请一个由*.asp定义的页面时,web服务器响应HTTP请求,用ASP引擎解释被申请文件。当遇到ASP脚本命令时,ASP
11、引擎调用相应的脚本引擎(脚本引擎以组件的形式驻留在web服务器上)进行处理。ASP提供两种脚本引擎,即VBScript引擎和VJScript引擎,若要使用其他脚本语言,需要在web服务器上另外安装相应的脚本引擎;当遇到基于COM标准的组件(组件本身是经过编译的可重用二进制码)时,ASP引擎启动相应的组件完成指定的功能。若ASP文件含有访问数据库的请求,ASP内置组件ADO(ActiveX Date Object) 通过ODBC与数据库连接,对数据库进行访问,并将访问结果返回web服务器。ASP引擎将脚本和组件的运行结果生成相应的HTML语法成分,与文件中原有的文本和HTML标记一起组成标准HT
12、ML页面送至客户端浏览器。图 ASP工作原理图2.2.2 ASP的技术特点 在使用ASP技术时应遵循这样一个原则:即ASP脚本必须与基于COM标签的组件配合使用才能开发出具有实用价值的动态web应用程序。 基于组件,可以把应用程序的开发分成两大类任务:一类是开发能被很多程序使用的核心组件;另一类是集成这些核心组件提供的服务,构造出实现特定功能的应用程序。Microsoft及一些“中间件”厂商已针对不同的应用领域提供了许多组件产品,组件的使用者只需要理解组件的接口,不需要知道组件的内部结构和组件使用的数据。 在ASP技术中,ASP脚本相当于一种粘合剂,把一个个具有特定功能的组件集成在一起,以形成
13、最终的软件产品。利用组件,开发人员可以专门做自己最擅长的工作,从而减少开发难度;利用组件,还有助于开发人员将用户界面与应用逻辑、数据服务分开,快速开发出可重性高的基于三层客户服务器结构的web应用程序。综上所述,ASP具有如下一些特点:(1)使用普通的文本编辑器(如记事本)即可进行编辑设计;(2)ASP脚本无需编译,容易编写,可在服务器端直接解释执行;(3)与浏览器无关,用户端只要使用可执行HHML码的浏览器,即可浏览ASP所设计的页面; (4)面向对象,在ASP脚本中可以方便地引用系统组件和ASP内置组件,还能通过定制ActiveX Server Component(ActiveX服务器组件
14、)来扩充功能; (5)ASP的源程序不会被传到客户端,因而可以避免所写的源程序故他人窃取,也提高了程序的安全性;(6)与任何ActiveX Scripting语言兼容, 除了可使用VBScript和JScript语言进行设计外,还可通过Plug_in的方式,使用由第三方提供的其它Scripting语言来扩充功能。 VBSscript脚本语言简介BVScript(Microsoft Visusl Basic Script Edition )是程序开发语言Visusl Basic家族的最新成员,是一种基于对象的编程语言。用户在HTML文件中可以直接潜入VBScript脚本,从而扩展了HTML,使其
15、不仅仅是一种页面格式语言,而且还可以对用户的操作做出反映。VBScript是目前流行的脚本语言同时也是ASP的宿主语言。它以简单的语法、完善的功能,既作可为客户端编程语言,也可作为服务器端编程语言3。 Microsoft Access 2000 简介数据库的建立有多种样式,这里采用Microsoft Access, Microsoft Access不仅功能强大,而且还有为Windows提供的用户友好的数据库管理系统。在存储和检索方面提供了标准数据库功能,但是在 Windows环境下使用图形工具时,应尽可能完成简单的任务。和其它数据库管理类似,Access也是存储和管理数据库信息的方法。Micr
16、osoft将Access指定为关系数据库产品,因为Access允许关联不同来源的产品。Access存储在表中的数据按行和列组成。一个数据库包含一个或多个表。其它对象如报表表单查询宏和程序模块都被看作是按照表形成的数据库的一部分。用户还可以根据表在数据库得到其它对象,既可以从一开始就包含他们,也可以等到需要时再加入1。表是把信息列成表格的形式。“列”代表信息的域,或者是一条特定的信息,这条信息能被表中的每一个实体存储。表的“行”包括记录。一条记录包括数据库的每一个域。虽然一个域可以被空缺,数据库中的每条记录都可以对表中每一信息进行存取。对数据库的基本查询至少需要一个表。所有其他对象都是可选项。在
17、同一文件中存储的相关对象被看作是一个表。这样可以轻而易举地把所需的每件事组织在同一文件名下的同一位置,还可以加快至关重要的后备存储,以安全保护投资的数据。这方法意味着提高数据库软件之间相连的完整性。它也还存在一些缺陷,比如不能对于较长或较难的数据进行覆盖和数据库优化。自从一个Access数据库包含了许多其他表和数据对象,就可以生成一个涉及整个公司信息查询的数据库,用户能逐步建立这样的数据库,只要有时间就可以为各种应用领域增加信息和报表,并能限定表中多条信息的相互关系。在Access中能建立多个数据库,每个数据库拥有自己的表和其他对象。用户可以使用移动和拷贝命令将一个数据库移动或拷贝到另一个数据
18、库中,虽然仅限于一次只能有一个数据库正在工作。当考虑建立更为复杂的数据库时,用户则会用到Access所支持的所有对象。 ASP访问数据库访问Web数据库的技术有以下几种方式:公共网关接口CGI(Common Gateway Interface)、Internet Server 应用程序编程接口ISAPI(Internet Server Application Programming Interface)、Java、Plug-in(插件)和ASP技术。这些技术都是为了克服HTML静态页面发展起来的。ASP是一个基于Web服务器的脚本开发环境,在ASP平台上可开发和运行动态的、交互的、高性能的We
19、b服务器应用程序。图说明了ASP访问数据库工作原理。ASP程序在Web服务器端工作,当前端用户请求一个ASP主页时,Web服务器响应HTTP请求并调用ASP引擎执行该文件并解释执行其中的脚本,若脚本中有访问数据库请求,立刻通过ODBC或ILE DB与相应的后台数据库相连,同数据库访问组件ADO完成操作,最后,ASP根据访问数据库的结果生成HTML语言的主页返回给前端用户,用户看到的只是HTML网页,而看不到ASP程序代码,增强了保密性。在本系统的开发中,关键的技术就是用ADO链接数据库和操作数据库。下面对ADO作简单的介绍。2.5.1 ADO介绍Active Data Objects (ADO
20、) 是微软最新的数据访问技术。它被设计用来同新的数据访问层OLEDB Provider一起协同工作,以提供通用数据访问(Universal Data Access)。OLEDB是一个低层的数据访问接口,用它可以访问各种数据源,包括传统的关系型数据库,以及电子邮件系统及自定义的商业对象。 ADO向我们提供了一个熟悉的,高层的对OLEDB的Automation封装接口。对那些熟悉RDO的程序员来说,你可以把OLE DB比作是ODBC驱动程序。如同RDO对象是ODBC驱动程序接口一样,ADO对象是OLEDB的接口;如同不同的数据库系统需要它们自己的ODBC驱动程序一样,不同的数据源要求它们自己的OL
21、E DB提供者(OLEDB provider)。目前,虽然OLEDB提供者比较少,但微软正积极推广该技术,并打算用OLEDB取代ODBC。使用不同的连接技术的应用程序结构主要差别就是提供数据源的方式不相同。在BDE应用程序中,数据库组件对象利用BDE为数据集组件对象提供数据源,从而应用程序就可以与数据库建立连接。而ADO应用程序则不同,它由连接对象通过ADO为数据集组件对象提供数据源,从而应用程序就可以从数据库中获取数据。ADO有很多属性和方法,例如ConnectionString属性、RecordSource属性Locktype属性、Recordset属性、UpdateControls方法、
22、Refresh方法等。2.5.2 ADO链接和操作数据库通过OLEDB 存取数据库之前,必须先做连接的动作。连接时,必须做提供以下信息:提供者(provider):指定通过那个OLEDB提供者连接及存取数据库内容。不同类型的数据库系统,如SQL Server,Informix,Oracle或ODBC数据库等,通常会有厂商提供对应的OLE DB驱动程序,通过此程序,(可以根据该系统所定义的方式)去作实际的数据库连接及存取动作。这样的驱动程序,称为OLE DB提供者(provider)。连接(Connection):此信息随数据库系统的类型而定,如果是SQL数据库服务器,如SQL Server,I
23、nformix,Oracle等,通常是指定服务器名称,用户帐号及密码等。这些连接信息以文字的形式表示,称为“连接字串(connection string)”。使用者可以在程序中产生此连接字串,也可以事先建立此连接字串,并存成Microsoft Data Link(.ud1)文件格式。让多个应用程序可共享。连接字串的建立可通过“数据链接(Data link)”对话盒来达成。本系统所用的开发工具为ASP和 Microsoft Access2000,下面就介绍一下在ASP中怎样用ADO连接和操作Microsoft Access数据库。1连接数据库。其语法如下:Public DBcnn As New
24、Dim SqlStr As StringSqlStr = Provider= Source= & _ & database;Persist Security Info=False SqlStr其中,第一条语句建立了连接对象DBcnn。Provider=是指所用的数据库驱动程序为。Data Source表示数据库的路径,在这里我用的是相对路径,用相对路径的优点是在不同的计算机上运行本系统时,不需要改变数据库的路径。Persist Security Info=False表示不需要保存数据库密码。执行“ SqlStr”语句后,数据库就和Visual basic程序连接上了。2. 创建数据对象和查询数
25、据。举例说明:Dim SqlStr As StringDim check As New SqlStr = select * from user where uid = & SqlStr, DBcnn, adOpenStatic, adLockReadOnly, -1第一句是定义一个字符串变量SqlStr,用来存放将要执行的SQL语句,例子中的SQL语句的作用是在user表中检索出会员卡号和文本框Text1中的内容相同的会员的所有信息,第二句是定义一个ADO Recordset对象,最后一句是用执行这条SQL语句,结果保存在变量check中。可以用().Value来显示记录中某个字段的数据3操作
26、数据库。我们通过调用链接对象的Execute方法来将查询结果返回给一个数据对象或进行插入,删除等操作。例如:Dim str As Stringrs=“INSERT INTO user (uid,pwd,ulx) VALUES(1,2,3)”(rs)执行语句后,就可以在UserInfo表中添加一条记录。3 系统总体设计 需求分析针对物流仓储管理行业的具体情况,用户对这套管理系统的要求是:1. 物流仓储公司每天都有大量的顾客来进行存储和提取物品,要求仓储管理系统能够处理并存放所产生的大量存取数据。2. 目前在多环节的流通过程中,由于每个环节对于需求的预测存在误差,因此随着流通环节增加,误差增多,库
27、存也就越来越偏离实际的最终需求,从而带来保管成本和市场风险的提高。因此,我们要充分利用internet对物流仓储进行动态管理,开发出基于WEB应用软件,由此来管理数据保证数据的一致性和完整性。3. 能够迅速的查询出某种物品的基本属性、入库出库情况以及其在仓储的存储位置,以便进行合理的物品存取与管理。4. 该物流仓储公司有管理人员和操作员,管理人员可以进行任何操作,操作员不能更改权限,不能添加用户。客户可以在网上注册帐号浏览公司主页和进行入库、出库预定。 系统概要设计3.2.1本系统的设计思想本系统的设计思想为:(1) 将物流仓储管理系统分成几个相对独立的模块,如用户管理模块、仓库管理模块、信息
28、查询模块等,并对这些模块进行统一管理。(2) 分层的模块化程序设计思想,整个系统采用模块化机构设计。例如,在会员管理模块下还有添加用户、更改信息,删除用户等子模块。这样,作为应用程序有较强的可操作性和扩展性。(3) 合理的数据流设计,在应用系统设计中,相对独立的模块间以数据流相互连接,使各模块间的耦合性较低,方便系统运行,提高系统安全性。3.2.2 系统功能详述a.预定管理预定管理负责收集和保存客户的出入库定单并对它们进行管理使得仓库管理人员可以为即将入库的货物安排存储位置,为将要出库的货物进行提前准备。客户有两种途径进行此项业务:1登陆本公司的主页,如果为新用户需要注册帐号后登陆,如果为老客
29、户登陆直接用已有帐号登陆,登陆后填写表单并提交。2客户可以直接给公司打电话进行预定,由公司工作人员为您添写订单。b.仓库管理仓库管理中三个功能:入库操作负责把客户新到一批货物,经公司清点人员检查核实后,录入货物的基本属性(名称、颜色、保质期、数量等)和货物存放的位置。库存管理为了合理使用仓库提高货物的存储质量要对仓库中现有的部分货物进行存储位置的调整。出库操作:客户欲取走一批货物,由操作员根据所要货物进行查询其具体位置,由工作人员交给客户接货人,经双方核实后,操作员填写出库表单,修改数据库中的信息。c.信息查询这一功能是在出预定功能和仓库管理功能的基础上,对公司处理业务的情况和仓库存储信息准确
30、、快速的查询,方便用户了解这些信息,协助其他功能更好的完成仓储管理工作,提高服务质量。d.用户管理用户管理主要用来增删改查用户信息,并在此基础上对用户的登陆、注册和用户权限进行管理,防止公司的数据遭到恶意泄露或毁坏。通过前一阶段的软件需求分析和功能详述,按照系统设计思想得出软件的体系结构图。图 软件体系结构图3.2.3 数据流图顶层数据流图用于表示系统的开发范围,以及该系统与周围环境的数据交换关系,它将整个系统表示成一个加工。它表示了数据的源点和数据的终点。如图所示 图物流仓储管理系统的顶层数据流图本系统按使用者的身份分为三大类:管理员、操作员、客户。a.管理员部分管理员首先在主页面登录,输入
31、自己的帐户和密码,如果输入错误则给出提示。输入成功则进入管理界面,在这里,管理员可以进行用户管理、入库操作、库存管理、出库操作、信息查询、出入库预定。用户管理可以用户表中所有的用户信息进行增加、修改、删除等操作;出入库操作,是对出入库信息的添加、查询、修改、删除等操作。出入库预定功能是用来增加出入库定单。管理员的顶层数据流图如下所示:图 管理员顶层数据流图b.操作员部分 操作员在首页登录,输入自己的帐号和密码(注:这个帐户必须是管理员添加的或是自己注册经管理员修改用户权限),如果有错误则给出提示,并要求重新输入。如果输入成功则进入主页面。在这里,操作员可以享有除用户管理以为的所有功能。操作员部
32、分的顶层数据流图为:图操作员数据流图c.客户部客户可以直接浏览首页,但不能进行任何操作。如果要进行操作则需要登陆。如果是老客户输入自己的帐号和密码如果没有可以注册。如果登陆时有错误则给出提示,并要求重新输入。如果输入成功则进入主页面。在这里,客户可以进行入库预定、出库预定。客户的顶层数据流图如下所示:图客户顶层数据流图 数据库设计3.3.1数据库分析根据系统划分的四模块(用户管理,信息查询、预定管理、仓库管理),用户和管理员的需求具体体现在各种信息的提供和管理方面,这就要求数据库结构能充分满足各种信息的输出和输入以及规范性要求。用户管理主要负责用户注册登录、用户权限以及用户信息管理,所以需要建
33、立一个专门存储用户的数据库。在本系统中,为了记录用户和管理员信息,需要user表,其中包括用户的名称、密码、用户类型。仓库管理就是负责货物出库、入库、和库内信息的调用、处理。为了记录货物的基本信息(名称、颜色、保质期等)需要wpccxx表。为了记录货物的存储位置还必须建立cangku表。预定管理负责收集和保存客户的出入库定单并对它们进行管理。因此,这里需要建立rkyd表、ckyd表分别记录入库定单和出库定单的信息(定单编号、货物名称、所属公司等)。3.3.2数据库概念结构设计本系统的实体有工作人员实体、客户实体、订单实体、仓库实体、货物实体。实体与用户实体具有用户名、姓名、密码、用户类型属性,
34、用E-R图表示如图所示。图客户实体及属性工作人员实体与客户实体的属性相同,在就不做介绍了。仓库实体具有区号、排号、架次、占用状况等属性,用E-R图表示如图所示。图 仓库实体及属性定单实体具有定单编号、货物名称、所属公司、货物数量等属性,用E-R图表示如图所示。图订单实体及属性图货物实体具有入库编号、货物名称、所属公司、颜色、保质期等属性。用E-R图表示如图所示。图 货物实体及属性图各实体之间的联系如下:a一位用户可以预定多张定单,而一张定单只能被一位用户拥有。b.一张定单可以标明多种货物,而一条消费数据只能对应一张会员卡。c.一种货物只能在一个仓库中存取,一个仓库可以存放多种货物。d.用户实体
35、只用来登录系统,与物品存储过程并没有联系。本系统的实体关系图如图所示。图 实体关系图3.3.3数据库逻辑结构设计a.数据字典名称:用户描述:记录系统用户的信息,在登陆 、注册、权限管理功能中使用组成:用户名+密码+用户类型位置:输出到系统后台名称:出库预定信息描述:记录所有客户出库预定信息组成:定单编号+货物名称+公司名称+货物数量+预计到达时间+联系电话+是否入库+备注位置:输出到系统后台名称:入库预定信息描述:记录所有客户入库预定信息组成:定单编号+货物名称+公司名称+货物数量+预计到达时间+联系电话+是否出库+备注位置:输出到系统后台名称:仓库描述:记录所有货物的存储位置组成:存储区号+
36、存储排号+存储架次+入库编号+货物名称+货物数量+占用状态+修改时间位置:输出到系统后台名称:货物存储信息描述:记录货物数据信息组成:入库编号+货物名称+货物数量+单位+颜色+所属公司+保质期+ 联系电话+处理日期+清点人员+客户负责人+预定编号+操作类型+备注位置:输出到系统后台b.表的设计通过数据库分析,物流仓储管理系统在数据库中设计5个表,分别为用户表、仓库表、入库预定信息表、出库预定信息表、货物存储信息表。用户信息表用于描述系统用户的相关信息,记录了用户登录系统所需的用户名和密码以及该用户的权限类型,表名为user,主键为uid。用户信息表的结构如表。表 user结构表字段名称数据类型
37、字段大小必填字段允许重复uid文本20是否pwd文本20是是ulx数字整型是是入库预定信息表用于描述客户入库预定的资料信息,该表的表名为rkyd。主键为ydbh。入库预定信息表的结构见表。表 rkyd结构表字段名称数据类型字段大小必填字段允许重复ydbh自动编号20是否wpmc文本20是是wpzr文本20是是wpsl数量整型是是hzlxdh文本20否是yjddsj日期/时间长日期否是sfrk文本20否是ydbz文本100否是出库预定信息表用于描述客户入库预定的资料信息,该表的表名为ckyd。主键为ckydbh。入库预定信息表的结构见表。表4. 3 ckyd结构表字段名称数据类型字段大小必填字段
38、允许重复ckydbh自动编号20是否wpmc文本20是是wpzr文本20是是Wpsl数字整型是是hzdh文本20否是yjckrq日期/时间日期否是sfck文本20否是ckydbz文本100否是货物存储信息表用于记录物流仓储公司的出入库信息,记录了哪位顾客在什么时间进行了入库或者出库出库入库货物的入库编号、货物名称、货物保质期、清点人员等信息。该表的表名为wpccxx,主键为rkbh入库编号,结构见表。表 wpccxx结构表字段名称数据类型字段大小必填字段允许重复rkbh文本20是否wpmc文本20是是wpzr文本20是是wpdw文本20否是wpys文本20否是wpsl数字长整型是是bzqz日期
39、/时间长日期是是lxdh文本20否是ydbh文本20否是qdry文本20是是gsfzr文本20是是corr文本20是是xgrq日期/时间长日期是是rkbz文处理类型本100否是仓库表用于记录本公司所有存储位置。表的表名为cangku,主键为rkbh入库编号。该表的结构见表。表 cangku结构表字段名称数据类型字段大小必填字段允许重复rkbh文本20是否wupin文本20是是zhuangtai文本20是是shuliang数字长整型是是xgsj日期/时间长日期是是quaho文本20是是paihao 文本20是是jiaci文本100是是4 系统功能模块详细设计 主界面只要登陆本公司网站就能看到主界
40、面,但只能浏览主页不能进行任何操作,只有登陆后各级用户才能进行在其权限范围内的业务。考虑到用户一般对计算机不是很精通,所以本系统要有良好的人机交互环境。在主界面的设计上应体现出人性化。为了方便用户的使用,主界面与其它模块的连接方式设为超链接,每个功能模块对应其中的一个链接。主界面如图所示。图 主界面 用户登录此模块的界面设计比较简单,主要有两个文本框和两个按钮,在文本框内输入用户名和密码(其中密码以*显示),点击确定后,将调用数据库里的用户数据表,并对用户名和密码进行验证,只有输入了正确的用户名和密码后,系统登陆才会成功。系统会自动判断用户的权限并按照用户的权限分配该用户对系统的操作范围。如果
41、数据库中没有该用户名或输入了错误的密码,系统会有相应的错误提示。如果你想填写定单可以点击主界面的注册超链接.界面为图所示。 图 登录流程图 图 登陆界面(登陆)源代码:set cn1=() DRIVER=Microsoft Access Driver (*.mdb);DBQ= & ()cn2= uid= & (uid) & and pwd= & (pwd) & abc= select * from user where & cn2set rs=(abc)if then alert(用户名称或密码错误!);(-1) alert(用户名称);(-1)else 用户管理模块用户管理主要用来增删改查用
42、户信息,并在此基础上对用户的登陆、注册和用户权限进行管理,防止公司的数据遭到恶意泄露或毁坏。用户权限管理功能是通过在数据库的suer表中设置了ulx列来管理。注册用户的用户权限默认值最底为2级 ,此权限只有0级用户管理员可以在用户管理的修改信息功能中修改.在此以用户管理为例说明在进入系统的每个一级功能模块时先要判断用户权限,只有符合要求的才能进入其子模块。具体实现过程见下面的程序。图 用户管理流程图图 用户管理界面 (用户管理)源代码:if session(uid)= then(您尚未 登陆 )(如果您没有帐号请 注册 )elseabc=select * from user where uid
43、= & session(uid) & and ulx=0set rs=(abc)if then alert(对不起,您无权执行此操作!);(-1)else 界面的结构由框架控制,为了让工作人员方便的转入其它模块,框架顶部链接的是了,此页面在其它模块中有调用,其中也体现了模块共享在程序设计中的方便性与重要性. 框架左下方链接的是用来链接用户管理的四个子功能:添加用户、删除用户、修改信息和查询用户.在此我用添加用户做详细介绍,点击此处的“添加用户”超链接就能在框架的右下方跳出界面,填写表单并提交后经调用处理就成功添加用户了一个,处理结果见表。其它三个子功能与其类似,在此就不一一介绍了. (添加用户
44、)源代码:cn2= uid= & (uid) & and pwd= & (pwd) & abc= select * from user where & cn2set rs=(abc)if then (添加成功!)else (用户名已存在返回) end ifcn3= & (uid) & , & (ulx) & , & (pwd) & abc= insert into user(uid,ulx,pwd) values( & cn3 & )(abc)表 user 表 预定管理模块在此模块中,三级用户在此填写预定信息,将信息在数据库中,以便管理员或操作员查看定单,安排出入库资源.在此以入库预定为例说明
45、:填写如图所示的中的表单提交后经修改数据库中的rkyd表。图 预定管理流程图图预定管理界面(入库预定)源代码:sql1= & (wpmc) & , & (wpzr) & , & (wpsl) & , & (yjddsj) & , & (hzlxdh) & , & (ydbz) & sql2= insert into rkyd (wpmc,wpzr,wpsl,yjddsj,hzlxdh,ydbz) values( & sql1 & )(sql2) 表 rkyd表 仓库管理模块物流仓储管理系统主要业务是对货物的存取,所以仓库模块也就成了整个系统的核心部分。首先要判断用户是否登陆,如果没登陆会弹出提
46、示,如果登陆则检查用户类型,只有满足权限的用户才能进行下面的操作。图 仓库管理流程图入库操作中的物品编号是能够唯一识别该货物,工作人员进行一次入库操作后,将货物基本信息和入库相关信息存入wpccxx表中,在cangku表中与提交的入库操作表单中的存储位置一致的地方添加能够唯一识别该货物的入库编号,修改仓储中该位置的存储状态为占用.如果rkyd表中有与入库时所填写的预定编号一致的编号,还要修改rkyd表中sfrk列为是。图入库操作界面源程序:set rs=( select * from cangku where wpbh= & (wpbh) sql3=select * from cangku w
47、here quhao= & (ccqh) & and paihao= & (ccph) & and jiaci= & (ccjc) & alert(没有此存储区域!);(-1)elsesql1= & (wpbh) & , & (wpmc) & , & (wpzr) & , & (wpsl) & , & (wpdw) & , & (wpys) & , & (bzqz) & , & (hzdh) & , date(), & (qdry) & , & (ydbh) & , & (rkbz) & , 入库 sql2= insert into wpccxx(wpbh,wpmc,wpzr,wpsl,wpd
48、w,wpys,bzqz,hzdh ,rkrq,qdry,ydbh,rkbz,corr) values( & sql1 & )(sql2)sql4=select * from cangku where quhao= & (ccqh) & and paihao= & (ccph) & and jiaci= & (ccjc) & and zhuangtai= 已占 ( update cangku set wpbh= & (wpbh) & ,wupin= & (wpmc) & ,shuliang= & (wpsl) & ,zhuangtai= 已占 where quhao= & (ccqh) & an
49、d paihao= & (ccph) & and jiaci= & (ccjc) & ) alert(入库成功,请返回!);(-1)elsesql5= & (wpbh) & , & (wpmc) & , & (wpsl) & , & (ccqh) & , & (ccph) & , & (ccjc) & , 已占 ,date()sql6= insert into cangku(wpbh,wupin,shuliang,quhao,paihao,jiaci,zhuangtai,xgsj) values( & sql5 & )(sql6) alert(入库成功,请返回!);(-1)sql7=selec
50、t * from rkyd where ddbh= & (ydbh) & set rs=(sql7)if thenelse( update rkyd set sfrk= 是 where ddbh= & (ydbh) & )else alert(此编号已存在,请重填物品编号!);(-1)%表 wpccxx表表 cangku表库存管理:在此,工作人员进行对库存的货物进行调整,在调整前先要检查所要调整的货物是否存在,如果不存在则弹出出错提示否则进行调整。根据实际需求,本系统提供了两种调整方式:部分货物移动和整批货物移动。在部分货物移动功能中要检查移动的货物数量是否大于库存数量,如果大于则报错。图 货
51、物分批移动界面sql1= select * from cangku where wpbh= & (wpbh) & and zhuangtai= 已占 and shuliang Val ( & (wpsl) & ) set rs=(sql1)if then alert(没有此物品或物品数量不足!);(-1)elseset rs=( select * from wpccxx where wpbh= & (wpbh) & )wpbh=rs(wpbh)wpmc=rs(wpmc)wpzr=rs(wpzr)wpsl=rs(wpsl)wpdw=rs(wpdw)wpys=rs(wpys)bzqz=rs(bzq
52、z)hzdh=rs(hzdh)rkrq=rs(rkrq)sql3=select * from cangku where quhao= & (ccqh) & and paihao= & (ccph) & and jiaci= & (ccjc) & set rs=(sql3)if then alert(没有此存储区域!);(-1)elseshu3=wpsl-shu2sql1= & wpbh & , & wpmc & , & wpzr & , & wpdw & , & wpys & , & hzdh & , & (qdry) & , & (rkbz) & , 移入 , & (wpsl) & , &
53、bzqz & , & rkrq & sql2= insert into wpccxx(wpbh,wpmc,wpzr,wpdw,wpys,hzdh, qdry,rkbz,corr,wpsl,bzqz,rkrq) values( & sql1 & )(sql2)( update cangku set shuliang= & shu3 & where wpbh= & (wpbh) & )sql4=select * from cangku where quhao= & (ccqh) & and paihao= & (ccph) & and jiaci= & (ccjc) & and zhuangtai
54、= 已占 or zhuangtai=移入 出库功能:根据实际需要,在进行出库处理时先要判断提交的出库货物是否存在数量是否超出库存数量,经检查提交数据合理后方可修改数据库中的信息。其它操作与入库操作类似.图 出库操作界面 查询统计模块查询统计是系统中不可缺少的一个模块,工作人员可以在此查询数据库中的记录,以便了解仓库的使用情况和存储物品的相关信息。查询分为超链接查询和条件查询,使用超链接查询时用户不必输入查询信息,直接点击相应的超链接即可。条件查询是用户查询时输入查询信息,点击提交后,系统检索出符合的记录,如果查询的条件数据不是合法的数据,系统会提示出错信息。出库预定查询有分了:预计今天到货定单查询和所有未处理定单查询。预计今天到货定单查询是查询今天即将到达的货物定单以便为其入库做好准备。所有未处理定单查询是为了更加合理的利用公司的资源,提高服务质量,以便为公司未来几天的工作做合理安排。它们都为超链接查询。出库预定查询与入库预定查询类似。入库编号查询
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 可持续纺织品发展趋势试题及答案
- 广告设计师效果反馈机制试题及答案
- 机器人维修试题及答案
- 南京预防接种试题及答案
- 点胶机考试题及答案
- 助听器四级试题及答案
- 文化适应性营销的实践案例分析试题及答案
- 掌握广告设计师考试的重点试题及答案
- 2024年纺织行业市场分析工具试题及答案
- 手工艺考研试题及答案
- 2023年广东省航道局所属事业单位招聘笔试《行政职业能力测验》模拟试卷答案详解版
- 马王堆汉墓帛画
- 国际关系中的政治承诺论析
- 2023年国考公告及职位表
- 大学生职业生涯规划与就业指导第2版(高职)全套教学课件
- 胎儿宫内窘迫的护理查房课件
- 车站调度员调车区长车号员
- 妇科科室全面质量与安全管理手册
- 盆腔器官脱垂的中国诊治指南
- 农产品集中交易市场等级技术规范
- 钢箱梁制造运输及安装合同
评论
0/150
提交评论