资源描述:
《物流仓储调度系统毕业设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
物流仓储调度系统摘要仓储调度管理是生产企业的重要组成部分,在企业的日常管理中,它影响着企业的生产运营、日常成本控制等各个环节。传统的简单、静态的仓库作业已经无法保证企业各种资源的高效利用。如果不能保证进出货和库存控制的正确性,将会使管理费用增加,服务质量难以保证,从而影响企业的竞争力。本论文主要以开发仓储调度管理系统软件为目标,从实际工作出发,结合南京康尼科技实业有限公司提供的需求文档,开发智能生产制造系统中的一个子系统WMS(仓储管理系统),实现生产企业的信息化运作,即设计一套系统的数据库,采用目前流行的B/S结构,运用J2EE编程技术结合MVC思想、流行的SSH三大框架技术等,完成对产品、供应商、员工、出入库、库存等信息的一整套增删改查操作,实现信息管理。关键字:企业,仓储管理系统,WMS,J2EE,SSH,B/SII TheStorehouseInformationManagementSystemInTheLogisticsCentreAbstractWarehousemanagementisanimportantpartofmanufacturingenterprises.Indailymanagementoftheenterprise,Itaffectstheproductionoperations,thedailycostcontrolandotherlinks.Thetraditionalsimple,staticwarehouseoperationshavebeenunabletoensuretheefficientuseofcorporateresources.Ifyoucannotguaranteethecorrectnessofinventorycontrolandintotheship,itwillmakeadministrativeexpensesincreasedanddifficulttoguaranteethequalityofservice.Thusaffectingthecompetitivenessofenterprises.Inthisthesis,thegoalisinordertodevelopwarehousemanagementsystemsoftware.Fromthepracticalwork,combinedwithConnieTechnologyCo.,Ltd.Nanjingrequirementsdocumentsprovided,WedeveloptheintelligentmanufacturingsystemsinasubsystemWMS(WarehouseManagementSystem),tomaketheenterprisesinformationtechnologyoperations.Itisthedesignofasystemdatabase,andusingthepopularB/Sstructure.ThetechnologyofthesystemiscombinedwithMVCJ2EEprogrammingideas,popularSSHthreeframeworkstechnologyandsoon.Toachieveinformationmanagement,asetofCRUDoperationsforproducts,suppliers,employees,outofstorage,inventoryandotherinformationarefinished.Keywords:Enterprise,WarehouseManagementSystem,WMS,J2EE,SSH,B/S.II 目录摘要IABSTRACTII第一章绪论-1-1.1物流仓储调度系统的项目目的及意义-1-1.2仓储管理子系统在智能生产制造系统的地位-1-第二章物流仓储调度管理系统实现的理论基础-2-2.1研究背景-2-2.2用到的相关技术-2-2.2.1J2EE技术简介-2-2.2.2SSH框架技术-2-2.2.3Jquery技术-3-2.2.4CSS技术-3-2.2.5XML技术-4-2.2.6AJAX技术-4-第三章仓储调度管理系统需求分析-5-3.1系统描述-5-3.2系统功能概述-6-3.3用户特点-7-3.4主要软件需求-7-3.5功能需求-7-3.5.1用户登录-7-3.5.2员工管理-8-3.5.3客户管理-8-3.5.4产品管理-8-3.5.5库存管理-9-3.5.6入库管理-9-III 3.5.7出库管理-9-3.5.8库位管理-10-3.5.9系统管理-10-第四章物流仓储调度系统的设计与实现-11-4.1系统数据库设计-12-4.1.1系统实体E-R图-12-4.1.2系统数据表设计-16-4.2系统开发环境搭建-22-4.2.1B/S结构简介-22-4.2.2JDK简介-22-4.2.3MyEclipse简介-23-4.2.4ApacheTomcat服务器简介-23-4.2.5项目搭建-23-4.3系统功能模块设计-25-4.3.1登录模块的详细设计-25-4.3.2用户模块的详细设计-26-4.3.3客户模块的详细设计-27-4.3.4产品模块的详细设计-28-4.3.5库存模块的详细设计-29-第五章仓储管理系统的测试和功能演示-31-5.1用户登录测试-31-5.2员工管理测试-32-5.3客户管理测试-34-5.4产品管理测试-34-5.5库存管理测试-35-5.6库存容量预警测试-38-5.7仓库管理测试-38-5.8系统管理功能演示-40-第六章结束语-42-III 6.1仓储管理系统的难点与创新-42-6.2仓储管理系统的设计收获-43-参考文献-44-致 谢-45-附录Ⅰ:英文技术资料翻译-46-英文原文:-46-中文译文:-50-附录Ⅱ:源代码-54-III太原科技大学华科学院毕业设计(论文)-64- 太原科技大学华科学院毕业设计(论文)第一章绪论1.1物流仓储调度系统的项目目的及意义随着现代技术不断飞速发展,康尼公司通过调研行业需求以及高等院校就业动向,可以看出现代企业对应用型人才的综合性能力要求是越来越高、越来越迫切,而目前能够集成融合多学科、多专业的综合性用于教学实训和科研开发的设备系统却寥寥无几,更多的是相对单一的自动化实训、单一的物流实训系统、单一的物联网实训等等。为弥补这类教学、科研系统的空白,特研制本系统以满足教学实训、科研和创新能力训练等方面需求,通过几乎为实战的训练,用以培养出真正符合现代企业发展所需要的综合性高技能人才。1.2仓储管理子系统在智能生产制造系统的地位仓储管理系统是一个对货品出入库管理的一套非常重要的智能生产制造系统的子系统。该系统的主要目标就是通过对仓库的所有出入库活动进行管理和控制,还有对数据库存储的库存信息进行分析和统计,以保证企业生产中畅通的物流,并且可以使决策人员及早得发现问题,查出问题,采取相应的措施,然后调整库存结构,缩短储备周期,加速资金周转,最大限度地降低库存占用。为各类人员从不同方面提供所需要的信息,以便使企业生产制造获得更大的收益。企业在生产制造过程中所需的库存物资往往是很繁杂的,而一个有效地管理系统能够很好的解决这类问题。根据当前的企业管理体制,一般仓储管理系统总是需要根据物资的类别来划分区域来进行物资的存放,入库,出库等。根据企业各个部门的需求来发送或接收物资设备,并且通过对库存的实时监控和定期维护,可以使得物资设备的储备达到最佳状态,从而使得企业的整个生产制造流程更加地具有效率。所有的企业经营活动都离不开物流活动,而整个物流活动都是围绕着仓储的,一个好的能有效使用企业的仓储管理系统是企业生产经营活动的核心。所以,不能忽视仓储管理系统在企业智能生产中的地位。-64- 太原科技大学华科学院毕业设计(论文)第二章物流仓储调度系统实现的理论基础2.1研究背景信息技术的发展使制造业的生产发生了非常大的变化,经济全球化在给企业带来无限的商机的同时,也给企业的生产制造带来巨大的压力。具体表现在:一方面,企业的个性化要求越来越多,对质量、交货期要求越来越严格;另一方面,跨地域的生产和经营活动给企业管理带来巨大的挑战。企业必须采用新技术,开发新产品,压缩产品生命周期,提高劳动生产率,降低成本,才能使企业具有生命力。仓储作为企业物流不可或缺的环节,是连接生产、供应、销售的中转站,在企业生产全过程中起到非常重要的作用,它是提供对以支持生产、维护、操作以及客户服务为目的而存储的各种物料的有效管理,这些物料包括原材料、成品、半成品等,良好的仓储管理,能够控制好生产与库存的关系,避免由于缺少生产材料而停产以及生产好的产品无处放置等问题发生。2.2用到的相关技术2.2.1J2EE技术简介J2EE(Java2EnterpriseEdition)是一种利用java2平台来简化诸多与企业级解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE平台作为一种可扩展的、多功能的平台,可以将关键的企业应用扩展到任何Web浏览器上,并可适合多种不同的Internet数据流,可以连接几乎任何一种传统数据库和解决方案。正是由于具备这样的优势,J2EE正在成为开发商创建电子商务应用的实际标准。2.2.2SSH框架技术SSH是Struts+Spring+Hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。Struts2:Struts2是struts的下一代产品,是在struts1和WebWork的基础上进行了合并的全新的Struts2框架。其体系结构与struts1的体系结构差别巨大。Struts2以Web-64- 太原科技大学华科学院毕业设计(论文)Work为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts2和WebWork差别很小。[07]Spring:Spring是一个开源框架,它由RodJohnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。[09]Hibernate:Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。[10]集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。系统的基本业务流程是:在表示层中,首先通过JSP页面实现交互界面,负责传送请求(Request)和接收响应(Response),然后Struts根据配置文件(struts.xml)将ActionServlet接收到的Request委派给相应的Action处理。在业务层中,管理服务组件的SpringIoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。而在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。2.2.3Jquery技术Jquery是一个轻量级的js库,作为一个优秀的JavaScript框架,它兼容CSS3和各种浏览器,使用户能方便地处理HTMLdocuments、events、实现动画效果,并且很方便地为网站提供AJAX交互。[08]2.2.4CSS技术CSS即层叠样式表(CascadingStylesheet)。在网页制作时采用CSS-64- 太原科技大学华科学院毕业设计(论文)技术,可以有效地对页面布局、字体、颜色、背景、和其它效果实现更加精确的控制。[03][05]2.2.5XML技术XML即可扩展标记语言(extensibleMarkupLanguage)是一种用于描述在I/O流中数据应该如何表现的标准语言。可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML及其辅助规范可被用于描述数据的文档的表现,描述XML文档类型的限制,描述XML文档和资源之间的链接,描述XML文档的自动转换和格式化。现在的J2EE规范中主要在定义标准应用程序的部署描述时依赖于XML技术。[18]2.2.6AJAX技术Ajax全称“AsynchronousJavaScriptandXML”,即异步JavaScript和XML,是指一种创建交互式网页应用的网页开发技术。Ajax技术可以在浏览器中通过JavaScript脚本使用,也可以使用jQuery框架包装的方法来使用。和传统的Web开发不同,Ajax并不是以一种基于静态页面的方式来看待Web应用的。从Ajax的角度来看,Web应用是由少量的页面组成,其中每个页面其实是一个更小型的Ajax应用。每个页面上都包括有一些使用JavaScript开发的Ajax组件。这些组件使用XMLHttpRequest对象以异步的方式与服务器通信,从服务器获取需要的数据后使用DOM的API来更新页面中的一部分内容。因此,Ajax应用与传统的Web应用的区别主要如下:(1)、不刷新整个页面,在页面内与服务器通信。(2)、使用异步方式与服务器通信,不需要打断用户的操作,具有更加迅速的响应能力。(3)、应用仅由少量页面组成。大部分交互在页面之内完成,不需要改变整个页面。所以,可以看出Ajax使得Web应用更加得动态化,能够拥有更高的可编辑性,并且提供了表现能力丰富的AjaxUI组件。这样一类新型的Web应用叫做RIA(RichInternetApplication)应用。[12]-64- 太原科技大学华科学院毕业设计(论文)第三章仓储调度管理系统需求分析3.1系统描述本物流仓储管理系统,其基本任务也就是有效管理仓库中物品的流通,如入库管理、出库管理、库存管理、仓库管理等等。可以对仓库物流管理做更加细致的分析,并从中发现更多的细节特征:1、仓库中物品流通是以物品为基本单位进行的。2、仓库物品流通涉及物品的入库,出库两种物流方式。3、物品流通管理涉及流通数据更新和对流通数据的查询、汇总等。4、检索操作。5、库中的物品需要进行合理的分类。6、规范物品流通管理,仓库中的物品必须在流通前进行登记。7、当物品出库时必须考虑到库存是否满足。8、仓库中的物品应该有提供者,所以要考虑供应商数据的登记。9、物品入库,涉及到物品的存放位置,考虑是否需要动态选择库位。10、考虑库位则需要制造一个三维空间效果,用来选择具体位置。11、仓库流通管理是通过仓库工作人员进行的,因此,工作人员需要进行注册登记。12、仓库工作人员需要有唯一的个人身份标识,它既是工作人员登录系统时的身份验证依据,也是工作人员在进行物品流通操作时的经手人标识。13、尽管工作人员的姓名也可以用作其身份标识,但不同的工作人员有可能会出现相同的姓名,因此有必要提供一个专门的身份标识码。14、仓储物流管理虽然是通过诸多工作人员共同完成的,但各工作人员在操作上往往会有所分工,这意味着应该给与工作人员以操作权限限制。15、当涉及工作人员操作权限的时候,往往需要有一种合理的授权机制与其相配合。例如,可设置一位系统管理员,由他进行全面管理,而其他工作人员则通过他获得局部管理授权。16、工作人员需要有对应的岗位和部门来安置。-64- 太原科技大学华科学院毕业设计(论文)17、库存警告和报警,当库存量达到规定的最低数额时,系统自动报警。3.2系统功能概述1、系统登录1)、验证登录用户2)、不同的用户权限进入系统的使用权限不同2、员工管理1)、增加员工信息2)、查询员工信息3)、删除员工信息4)、修改员工信息3、供应商管理1)、增加供应商信息2)、查询供应商信息3)、删除供应商信息4)、修改供应商信息4、产品管理1)、增加产品信息2)、查询产品信息3)、删除产品信息4)、修改产品信息5、库存管理1)、增加员工信息2)、查询库存信息3)、修改库存信息6、入库管理1)、增加入库信息2)、查询入库信息7、出库管理1)、增加出库信息-64- 太原科技大学华科学院毕业设计(论文)2)、查询出库信息8、库位管理1)、增加库位信息2)、查询库位信息3)、删除库位信息4)、修改库位信息9、系统权限管理1)、增加权限信息2)、查询权限信息3)、删除权限信息4)、修改权限信息3.3用户特点系统界面友好,操作简单,效率高,易掌握,并不需要操作人员和维护者有较高的技术水平。该系统是比较标准的信息管理系统,其系统开发过程具有通用性,对类似工作的扩展具有借鉴意义。3.4主要软件需求本系统是在Windows7操作系统环境下,使用MyEclipse10.0进行开发,javaJDK版本为1.7.0_21,发布平台为apache-tomcat-7.0.23,数据库采用安装简易的MySQL数据库版本为5.0.233.5功能需求3.5.1用户登录功能用途:系统进入通道,这是信息类系统常用的安全防范机制。操作权限归属:需要进入系统的所有人员。输入数据:员工工号,密码,验证码,职称基本操作:登录信息录入,确定登录,取消登录。-64- 太原科技大学华科学院毕业设计(论文)所在位置:系统启动时的系统首页登录界面。其他说明:系统登录的过程就是对工作人员是否进行过合法登记,而进行的身份验证过程,并且可以区分用户权限,防止非法用户进入。3.5.2员工管理功能用途:登记或设置员工的身份标识等基本信息。操作权限归属:能够进入系统的普通工作人员,系统管理员。主要数据:员工工号,姓名,性别,年龄,身份证号码,出生日期,学历,加入日期,住址,联系电话,部门,职位基本操作:添加记录,删除数据,更新数据,条件查询,登录权限赋予。所在位置:工作人员对员工信息管理的页面。其他说明:员工工号是员工的主要身份标识,被用作工作人员登录系统时的身份验证依据,也是工作人员进行物流处理时的经手人识别标记。所以,该身份ID在添加数据时是由系统根据职位和部门id由系统自动生成的,并不能被修改。3.5.3客户管理功能用途:登记或修改供应商的基本信息。操作权限归属:能够进入系统的仓管人员,系统管理员。主要数据:供应商编号,名称,负责人,地址,电话,传真,邮件,网址。基本操作:添加记录,删除数据,更新数据,条件查询。所在位置:客户管理的页面。其他说明:供应商对应其提供的产品信息,每一件产品都有其制造商,仓库中的产品在添加时都要填写该项。3.5.4产品管理功能用途:登记或修改产品的基本信息。操作权限归属:能够进入系统的仓管人员,系统管理员。主要数据:产品编号,产品全称,分类,供应商,产地,产品的计量单位,有效期,型号,备注。基本操作:添加记录,删除数据,更新数据,条件查询。-64- 太原科技大学华科学院毕业设计(论文)所在位置:产品管理的页面。其他说明:每一件产品信息在添加时都要使用触发器同步更新到库存信息表中,初始数量为0,在修改产品基本信息时,一些必要数据也要同步更改。3.5.5库存管理功能用途:查询库存的基本信息,并在库存报警时能够通过管理员更新库存。操作权限归属:能够进入系统的仓管人员,系统管理员。主要数据:产品信息,余量,上下限报警。基本操作:更新数据,条件查询。所在位置:库存管理的页面。其他说明:库存的余量信息是由出入库的情况自动更新的,上下限报警数据可由管理员在获取通知后更新。3.5.6入库管理功能用途:登记或查询入库单信息,并提供打印功能。操作权限归属:能够进入系统的仓管人员,系统管理员。主要数据:入库单号,日期,负责人,产品编号,数量,型号,类别,单位,存放位置。基本操作:添加记录,条件查询,打印。所在位置:入库管理的页面。其他说明:入库单号由系统根据日期自动生成,信息填写需要根据实际入库信息填写,有必要的数据验证,和库位选择等,提供打印选项。3.5.7出库管理功能用途:登记或查询供出库单信息,并提供打印功能。操作权限归属:能够进入系统的仓管人员,系统管理员。主要数据:出库单号,日期,负责人,产品编号,数量,型号,类别,单位,接收人,生产项目编号,备注。基本操作:添加记录,条件查询,打印。所在位置:出库管理的页面。-64- 太原科技大学华科学院毕业设计(论文)其他说明:出库单号由系统根据日期自动生成,信息填写需要根据实际入库信息填写,有必要的数据验证,提供打印选项。3.5.8库位管理功能用途:登记或修改库位信息。操作权限归属:系统管理员。主要数据:仓库区域编号,区域描述,排号编号,排号描述,座号编号,座号描述。基本操作:添加记录,修改记录,删除记录,条件查询。所在位置:库位管理的页面。其他说明:库位模块是产品存放的位置,以模拟三维空间记录存放信息。3.5.9系统管理功能用途:登记或修改系统权限信息。操作权限归属:系统管理员。主要数据:登录员工的工号,姓名,密码,权限。基本操作:添加记录,修改记录,删除记录,条件查询。所在位置:系统管理的页面。其他说明:系统管理主要是用来管理能够登录的用户,并提供赋予和修改登录用户的权限信息。-64- 太原科技大学华科学院毕业设计(论文)第四章物流仓储调度系统的设计与实现根据仓储管理系统的特点,可以将其分为员工信息管理,客户信息管理,产品信息管理,库存信息管理,库位信息管理,系统信息管理6大部分,其中各个部分及其包括的具体功能模块如图4.1。仓储管理系统客户管理系统管理库位管理库存管理产品管理员工管理权限信息的增删改查登录信息的删改查打印库存报警修改库存查询出库单查询出库单填写入库单查询入库单填写产品信息的增删改查客户信息的增删改查职位信息的增删改查部门信息的增删改查员工登录权限分配员工信息的增删改查座号信息的增删改查排号信息的增删改查区域信息的增删改查图4.1仓储调度系统功能模块图-64- 太原科技大学华科学院毕业设计(论文)4.1系统数据库设计MySQL数据库是一个开放源码的小型关联式数据库管理系统,由瑞典MySQLAB公司开发。目前MySQL被广泛地应用在Internet上的中小型项目中。由于速度快、体积小、安装方便、总成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了Oracle的MySQL作为网站数据库。因此本系统选择MySQL用来进行数据管理。4.1.1系统实体E-R图员工实体将记录所有的员工信息,在分配登录权限时将直接引入员工的实体属性。员工实体包括工号、姓名、性别、年龄、身份证号码、出生日期、学历、电话、加入日期、住址、部门编码和职位编码属性。如图4.2所示。身份证号码出生日期年龄性别姓名工号员工职位编码部门编码加入日期住址电话学历图4.2员工实体E-R图部门实体将记录所有的部门信息,在员工信息中将引用部门的实体属性。部门实体包括部门编码和部门名称属性。如图4.3所示。部门编码部门名称部门图4.3部门实体E-R图职位实体将记录所有的职位信息,在员工信息中将引用职位的实体属性。职位实体包括职位编码、职位名称和部门编码属性。如图4.4所示。职位编码职位名称职位部门编码图4.4职位实体E-R图-64- 太原科技大学华科学院毕业设计(论文)供应商实体将记录所有的供应商信息,在产品信息中将引入供应商的实体属性。供应商实体包括供应商编号、供应商名称、负责人、地址、电话、传真、邮件和网址属性。如图4.5所示。供应商编码供应商名称地址负责人供应商网址邮件电话传真图4.5供应商实体E-R图产品实体将记录所有的产品信息,在库存信息中将引入产品的实体属性。产品实体包括产品编号、产品名称、分类、供应商编码、产地、商品单位、有效期、型号和备注属性。如图4.6所示。供应商编码产品名称产品编号分类产品有效期商品单位备注型号产地图4.6产品实体E-R图库存实体将记录所有的库存信息,在出入库信息中将引入库存的实体属性。库存实体包括产品编号、产品名称、产品型号、单位、余量、上线提醒、下限提醒、上限报警和下限报警属性。如图4.7所示。产品名称产品编号单位型号库存下限报警上限报警下限提醒上限提醒数量图4.7库存实体E-R图-64- 太原科技大学华科学院毕业设计(论文)入库单实体将记录所有的入库信息。入库单实体包括入库单号、日期、负责人、产品编号、数量、型号、类别、单位、存放位置和备注属性。如图4.8所示。负责人入库单号日期产品编号数量入库单单位备注存放位置类别型号图4.8入库单实体E-R图出库单实体将记录所有的出库信息。出库单实体包括出库单号、日期、负责人、产品编号、数量、型号、类别、单位、接收人、生产项目编号和备注属性。如图4.9所示。负责人出库单号日期产品编号数量出库单生产项目编号单位备注接收人类别型号图4.9出库单实体E-R图登录用户实体将记录所有的登录用户信息。登录用户实体包括用户工号、姓名、密码和权限编码属性。如图4.10所示。登录用户工号姓名权限编码密码图4.10登录表实体E-R图用户权限实体将记录所有的用户权限信息,在用户登录信息中将引用用户权限的实体属性。用户权限实体包括用户权限编码、权限名称属性。如图4.11所示。权限编码用户权限权限名称图4.11用户权限实体E-R图-64- 太原科技大学华科学院毕业设计(论文)库位区域实体将记录所有的库位区域信息,在入库单信息中将引用库位区域的实体属性。库位区域实体包括区域编码、区域名称属性。如图4.12所示。区域编码库位区域区域名称图4.12库位区域实体E-R图库位排号实体将记录所有的库位排号信息,在入库单信息中将引用库位排号的实体属性。库位排号实体包括排号编码、排号名称和区域编码属性。如图4.13所示。排号编码库位排号排号名称区域编码图4.13库位排号实体E-R图库位座号实体将记录所有的库位座号信息,在入库单信息中将引用库位座号的实体属性。库位座号实体包括库位座号编码、座号名称、库位区域编码和库位排号编码属性。如图4.14所示。座号编码职位名称排号编码库位座号区域编码图4.14库位座号实体E-R图-64- 太原科技大学华科学院毕业设计(论文)4.1.2系统数据表设计结合实际情况及对用户需求的分析,仓储管理系统wms数据库主要包含如下表4.1所示的13个数据表。表4.1仓储调度系统数据表表名说明departmentinfotable部门表employeeinfitable员工表goodsinfotable产品表goodslocationtable库位区域表goodsrowstable库位排号表goodsseatstable库位座号表jobsinfotable职位表logintable登录表powerinfotable权限表stockinfotable库存表stockininfotable入库表stockoutinfotable出库表supplytable供应商表departmentinfotable(部门表)主要用于存储部门信息。该数据表结构如表4.2所示。表4.2部门信息表字段名数据类型是否为空是否主键默认值说明idint(4)否是NULL自增depIdvarchar(20)否否NULL部门编号depNamevarchar(20)否否NULL部门名称employeeinfotable(员工表)主要用于存储员工信息。该数据表结构如表4.3所示。-64- 太原科技大学华科学院毕业设计(论文)表4.3员工信息表字段名数据类型是否为空是否主键默认值说明idint(8)否是NULL自增empIdvarchar(20)否否NULL员工编号empNamevarchar(20)否否NULL姓名empSexvarchar(4)否否NULL性别empAgeint(3)否否NULL年龄empIdentCardvarchar(20)否否NULL身份证号empBirthDatevarchar(20)否否NULL出生日期empDiplomavarchar(20)否否NULL学历empJoinDatevarchar(20)否否NULL加入日期empAddressvarchar(50)否否NULL地址empPhonevarchar(20)否否NULL电话depIdvarchar(20)否否NULL部门编号jobIdvarchar(20)否否NULL职位编号goodsinfotable(产品表)主要用于存储产品信息。该数据表结构如表4.4所示。表4.4产品信息表字段名数据类型是否为空是否主键默认值说明idint(8)否是NULL自增gIdvarchar(20)否否NULL产品编号gNamevarchar(20)否否NULL产品名称gABCvarchar(20)否否NULL产品类别supIdvarchar(20)否否NULL供应商编号gAddressvarchar(20)否否NULL地址gUnitvarchar(6)否否NULL单位gUsefulDatevarchar(20)否否NULL有效期gTypeIdvarchar(20)否否NULL型号gPicturevarchar(20)否否NULL备注-64- 太原科技大学华科学院毕业设计(论文)goodslocationtable(库位区域表)主要用于存储库位区域信息。该数据表结构如表4.5所示。表4.5区域信息表字段名数据类型是否为空是否主键默认值说明idint(4)否是NULL自增locatIdvarchar(20)否否NULL区域编号locatNamevarchar(20)否否NULL区域名称goodsrowstable(库位排号表)主要用于存储库位排号信息。该数据表结构如表4.6所示。表4.6排号信息表字段名数据类型是否为空是否主键默认值说明idint(4)否是NULL自增rowIdvarchar(20)否否NULL座号编号rowNamevarchar(20)否否NULL座号名称locatIdvarchar(20)否否NULL区域编号goodslocationtable(库位座号表)主要用于存储库位座号信息。该数据表结构如表4.7所示。表4.7座号信息表字段名数据类型是否为空是否主键默认值说明idint(4)否是NULL自增seatIdvarchar(20)否否NULL座号编号seatNamevarchar(20)否否NULL座号名称locatIdvarchar(20)否否NULL区域编号rowIdvarchar(20)否否NULL排号编号-64- 太原科技大学华科学院毕业设计(论文)jobsinfotable(职位表)主要用于存储职位信息。该数据表结构如表4.8所示。表4.8职位信息表字段名数据类型是否为空是否主键默认值说明idint(4)否是NULL自增jobIdvarchar(20)否否NULL职位编号jobNamevarchar(20)否否NULL职位名称depIdvarchar(20)否否NULL部门编号describeJobvarchar(20)否否NULL职位名称logintable(登录表)主要用于存储登录信息。该数据表结构如表4.9所示。表4.9登录信息表字段名数据类型是否为空是否主键默认值说明idint(4)否是NULL自增depIdvarchar(20)否否NULL员工编号depNamevarchar(20)否否NULL姓名loginPassvarchar(20)否否NULL密码powIdvarchar(20)否否NULL权限编号powerinfotable(权限表)主要用于存储权限信息。该数据表结构如表4.10所示。表4.10权限信息表字段名数据类型是否为空是否主键默认值说明idint(4)否是NULL自增powIdvarchar(20)否否NULL权限编号powNamevarchar(20)否否NULL权限名称-64- 太原科技大学华科学院毕业设计(论文)stockinfotable(库存表)主要用于存储库存信息。该数据表结构如表4.11所示。表4.11库存信息表字段名数据类型是否为空是否主键默认值说明idint(8)否是NULL自增stoIdvarchar(20)否否NULL产品编号stoNamevarchar(20)否否NULL产品名称stoTypeIdvarchar(20)否否NULL产品类别stoUnitvarchar(6)否否NULL单位stoNumberint(8)否否NULL数量stoUpWarnint(8)否否NULL上限提醒stoDownWarnint(8)否否NULL下限提醒stoUpDangerint(8)否否NULL上限报警stoDownDangerint(8)否否NULL下限报警stockininfotable(入库表)主要用于存储入库信息。该数据表结构如表4.12所示。表4.12入库信息表字段名数据类型是否为空是否主键默认值说明idint(16)否是NULL自增sInIdvarchar(20)否否NULL入库单号sInDatevarchar(20)否否NULL日期sInChargeIdvarchar(20)否否NULL负责人sInGoodsIdvarchar(20)否否NULL产品编号sInNumberint(8)否否NULL数量sInTypeIdvarchar(20)否否NULL型号sInABCvarchar(20)否否NULL类别sInUnitvarchar(6)否否NULL单位sInPlacevarchar(20)否否NULL位置sInRemarkvarchar(100)否否NULL备注-64- 太原科技大学华科学院毕业设计(论文)stockoutinfotable(出库表)主要用于存储出库信息。该数据表结构如表4.13所示。表4.13出库信息表字段名数据类型是否为空是否主键默认值说明idint(16)否是NULL自增sOutIdvarchar(20)否否NULL出库单号sOutDatevarchar(20)否否NULL日期sOutCharIdvarchar(20)否否NULL负责人sOutGoodsIdvarchar(20)否否NULL产品编号sOutNumberint(8)否否NULL数量sOutTypeIdvarchar(20)否否NULL型号sOutABCvarchar(20)否否NULL类别sOutUnitvarchar(6)否否NULL单位sOutReceiveIdvarchar(20)否否NULL接收人sOutProgramIdvarchar(20)否否NULL生产编号sOutRemarkvarchar(100)否否NULL备注supplytable(供应商表)主要用于存储供应商信息。该数据表结构如表4.14所示。表4.14供应商信息表字段名数据类型是否为空是否主键默认值说明idint(4)否是NULL自增supIdvarchar(20)否否NULL供应商编号supNamevarchar(20)否否NULL供应商名称supChargevarchar(20)否否NULL负责人supAddressvarchar(20)否否NULL地址supPhonevarchar(20)否否NULL电话supFaxvarchar(20)否否NULL传真supEmailvarchar(20)否否NULL邮箱supHttpvarchar(20)否否NULL网址-64- 太原科技大学华科学院毕业设计(论文)4.2系统开发环境搭建4.2.1B/S结构简介Browser/Server(浏览器/服务器模式),是一种网络结构模式,尤其是Web兴起后,基于这个结构的系统更是普及开来,由于其统一了客户端,将系统功能实现的核心部分集中到了服务器上,所以Web浏览器成了客户端最主要的应用软件。简化了系统的开发、维护和使用。我们可以在任何地方进行操作而不用安装任何专门的软件,只需要有一台能上网的电脑,系统扩展非常容易。4.2.2JDK简介JavaDevelopmentKit(JDK)是Sun公司专门为Java程序员开发的免费软件开发工具包(Softwaredevelopmentkit,SDK)。自从Java语言问世以来,JDK成为应用最为广泛地软件开发工具包。此外,还可以使用OpenJDK进行开发。对于程序开发人员,必须使用JDK进行开发调试。对于普通用户,仅需要安装JRE来运行Java程序。在Oracle官方网站下载的JDK文件名如jdk-7u55-windows-i586。其中jdk表示JDK;7表示主版本号;u55表示该主版本号下的第55个更新版本;windows表示该JDK版本使用Windows系统;i586表示处理器类型。JDK安装完成后的文件夹结构如图4.15所示。图4.15JDK安装文件夹bin文件夹包含各种命令,例如javac命令可以将Java源代码编译成class文件;java命令可以运行class文件;jar命令可以将相关的类文件进行打包;javadoc命令用于从源代码中提取说明文档等。src压缩文件包含了JavaSEAPI的源代码。-64- 太原科技大学华科学院毕业设计(论文)4.2.3MyEclipse简介企业级工作平台(MyEclipseEnterpriseWorkbenth,简称MyEclipse),是一个十分优秀的用于java,J2EE开发的Eclipse插件集合,功能非常强大,支持也非常广泛,尤其对各种开源产品的支持十分不错。目前支持JavaServlet,Ajax,JSP,Struts,Spring,Hibernate,JDBC数据库连接工具等多项功能,几乎囊括了所有的主流开源产品的专属Eclipse开发工具。本系统的开发版本为MyEclipse8.5。4.2.4ApacheTomcat服务器简介ApacheTomcat服务器是一个免费开源的Web应用服务器,属于轻量级应用服务器,普遍适用于并发访问用户不是很多的场合下开发的中小型系统。他运行时占用的系统资源很小,扩展性很好,而且支持负载平衡与邮件服务等开发应用系统常用的功能,还可以加入新的功能。本系统主要用来开发和调试JSP页面程序,版本号为apache-tomcat-7.0.23。4.2.5项目搭建打开MyEclipse新建WebProject命名为WMS系统包目录结构如下图4.16所示。图4.16项目目录结构-64- 太原科技大学华科学院毕业设计(论文)添加必要的jar包放在WEB-INF目录下lib文件夹内(见项目)添加必要的配置文件hibernate.cfg.xml,struts.xml,applicationContext.xml,文件内具体配置信息见具体项目,在web.xml文件内按如下图4.17配置:图4.17struts和spring开发配置详情配置Hibernate环境,在MyEclipse的DatabaseExplorer工作界面下新建MySQL连接,导入mysql-connector.jar包,利用Myeclipse自带的hibernate环境反向工程生成各个数据表对应的POJO文件和*.hbm.xml文件,其中需注意id属性的generator参数的class要设置成identity,表示由数据库自动管理主键生成,如下图,作为示例。图4.18数据表对应的*.hbm.xml-64- 太原科技大学华科学院毕业设计(论文)4.3系统功能模块设计经需求分析,将按照系统功能模块分析流程进入编码设计阶段。系统的流程设计如下图4.19所示。仓管系统管理库位管理库存管理产品管理客户管理员工管理系管所有查询功能职工图4.19仓储调度系统流程图普通职工的权限只有被允许登录的人事管理员有对员工编辑的权限,对于其他模块的权限仅有查询功能,无其他操作权限。仓库管理员的权限则可以对客户,产品,库存,库位,入库,出库模块进行管理,对于其他也只有查询的权限。系统管理员则拥有所有权限,包括对系统的管理,即登录权限的分配,及权限等级的管理等。4.3.1登录模块的详细设计加载验证码开始验证密码验证工号登录页面错误页验证权限主页结束检验验证码切换验证码图4.20登录模块的流程图进入系统必须通过登陆页面验证身份信息,其中验证码模块是通过工具文件夹内的MakeCertPic.java-64- 太原科技大学华科学院毕业设计(论文)文件来实现的,先设置好要显示的内容,再通过每次加载时随机选择要显示的内容,然后用Graphic画布将要显示的内容画出来到输入流,然后在makeCertPic.jsp页面获得输入流,并将显示的值保存在session中,方便后台获取到随机生成的验证码,用来和前台页面输入的值进行匹配验证。Java代码见WMS系统项目的cn.edu.njit.liuhong.tool目录下。用户在输入完工号,输入框失去焦点时,出发js的事件调用jquery的post方法即AJAX实现异步更新数据,判断该工号是否有登录权限,并且及时返回到前台页面,告诉用户工号输入错误。用户密码的验证同理,只是将工号和输入的密码一起传给AJAX进行异步执行,将判断结果发送到前台。用户权限的验证则是通过struts拦截到action请求,然后spring代理了action实现的类,spring中的配置文件为:这里涉及到的两个java类文件分别在cn.edu.njit.liuhong.dao和cn.edu.njit.liuhong.service两个目录下,提供服务的接口。很好的实现了接口化工作原理。用户登陆成功后,会根据当前登录用户的权限,进入不同的操作者权限页面,其中仓库管理员和系统用户会有库存容量警告功能。还能够在前台以文本框形式通过刷新方式显示当前系统时间,并在动态刷新的函数方法内加上与后台交互的AJAX方法,获取库存数据库里的符合报警要求的产品,并显示在前台的选择提示框下,管理员可以通过查看选择下拉框里是否有产品ID从而可以选择进入查看警告信息,进而采取应对措施。4.3.2用户模块的详细设计员工用户的添加功能,流程图如下图4.21所示。-64- 太原科技大学华科学院毕业设计(论文)选择部门加载所有部门用户添加页面开始信息校验填写基本信息自动生成工号加载该部门所有职位结束图4.21用户添加流程图当进入员工用户添加页面时,页面加载jquery的AJAX方法通过后台取得所有部门信息,添加进部门的选择框里,选中部门时,继续触发事件与后台交互,获得职位信息,选中职位后通过方法内部分析自动生成员工工号。出生日期的填写是通过调用Date.js的onclick="SelectDate(this)"方法选择需要写入的日期,方便用户按正确的格式填写。员工信息查看页面,用户可以通过选择查看方式,选择查看的条件,然后根据查看条件和输入的信息进行模糊查询,并显示所有查到的信息,如果输入为空,则查找全部,其中用户可以在每一条查到的数据后面点编辑或删除,进一步对选中的信息进行操作。对员工信息的批量删除模块则是通过JS获取到所有已选中的用户信息,并将数据传输到后台,由后台执行批量删除工作。其中涉及数据传输的格式问题,通过巧妙利用字符串,适当拆分和合并,进而起到对应的效果。不同权限的用户对应的操作权限也有所不同,系统管理员可以执行所有操作,包括将查到的用户批量增加到登录表中,即在员工查询页面通过JS方法获取所选取的员工信息的id然后在后台根据这个id查询员工信息,再通过嵌套一次post方法,将获取的员工信息添加进登录表,其中默认初始密码为工号,权限为普通员工权限。已经登录的用户可以通过点击自己的工号,或者头像进入自己的密码修改页面,所有用户都无法查到或者修改别人的密码。页面的分页功能是通过Pager.java工具类,记录分页的页数,总记录数,当前页,是否有上一页,是否有下一页等参数保存在cn.edu.njit.liuhong.tool路径下,具体代码可见项目。4.3.3客户模块的详细设计供应商的添加功能,流程图如图4.22所示。-64- 太原科技大学华科学院毕业设计(论文)输入其他信息验证编号是否存在输入供应商编号开始结束验证不为空图4.22供应商添加流程图供应商信息的添加功能和员工的添加方式一样,只是需要验证后添加的编号不能重复存在其他信息只要按要求填写即可正常加入,该模块信息普通员工是没有权限操作的。供应商信息的查询也是通过按条件查询,为空则查询全部,查询事件的action都是由struts统一分配,再由显示页面的c标签把要显示的信息从EL表达式中获得出来并迭代显示,示例页面模块的代码为:,分页的方法和员工查询页面的分页方法一致,都共用同一个Pager类。供应商的批量删除功能也和员工的批量删除一样,都是从页面获取要删除的id,然后拼成一个字符串传到后台,再由后台解析这个字符串,进而再根据解析出来的id来执行删除操作。当然普通用户是无法对供应商进行增删改操作的,只具备查询功能。4.3.4产品模块的详细设计产品的添加功能模块,流程图如下图4.23所示.验证产品编号正确性输入产品编号加载供应商编号开始结束输入其他产品信息图4.23产品添加流程图产品模块的添加功能流程也是通过加载页面的时候加载JS先从后台获得所有供应商放到select节点下面显示,然后用户可以直接选择供应商,而不必再通过搜索查出来在手工输入了,产品编号的验证和供应商一样,需从后台先验证该编号是否已存在,如果存在则会在页面显示提示信息。当所有输入数据都验证通过后点击保存,才可以顺利提交保存action执行。产品的查询功能,默认是按产品名称查询,也可以选择按产品编号查询,方法也是将查询参数提交action传到后台执行查询操作,然后将查到的list-64- 太原科技大学华科学院毕业设计(论文)数据传到前台显示,为空则查询全部。产品查询也有权限查询区分,普通员工只能查询数据,但是无法执行其余的操作。为了方便,也在该页面加上了批量删除的功能。4.3.5库存模块的详细设计库存模块是整个仓储系统的主要功能模块,也是整个仓储系统的关键部分,其流程图详细流程如下图4.24所示。开始入库加载区域id输入负责人填写日期加载入库单号验证产品编号并加载产品的附属信息输入产品编号验证负责人动态加载其他区域信息选择区域验证合法性填入数量更改库存结束入库选择区域保存验证所有输入合法性验证负责人输入负责人填写日期加载出库单号开始出库验证合法性填入数量验证产品编号并加载产品的附属信息输入产品编号输入接收人人结束出库更改库存输入项目号人验证接收人图4.24库存模块设计流程图库存模块的入库单生成模块详细流程设计,在加载入库单的添加页面的同时,在相应的JS中就应经通过AJAX和后台交互了,JS中的自动生成订单号设计思想是:获得当天的年月日以8位数字符号开头后8为则为当天的入库单量,通过以当天年月日开头的8为数字模糊查出。区域编号的加载也是AJAX方法和后台交互得到添加进select的选项的,当选中区域时触发查询对应区域的排号id,也立刻添加到对应的select选项上,选择了排号之后,用同样的方法再继续查询座号,加载到页面上。日期的填写也是通过加载Date.js的setDate()方法,绘制出日历,方便用户选择日期,同时也确定了数据格式,有利于后台操作。填写负责人的时候需要验证该负责人是否是员工表里存在的用户,否则会提示该负责人不存在。当输入完产品编号之后,会有JS-64- 太原科技大学华科学院毕业设计(论文)的后台验证,如果存在该产品,则会将该产品的其他入库信息动态加载到相应的输入框里,所以,用户无需输入该产品的其他信息,改善用户体验方便操作。入库数量无需设置上限,只需验证数据格式是否为大于0的正整数。当数据验证都通过之后,点击保存执行添加入库单action方法保存入库单到入库单数据表中,同时也执行库存action的修改库存余量的方法,起到入库成功的效果。入库单的查询功能设计,条件查询都类似其他模块的设计,这里主要分析入库单的数据导出功能,在入库单的查询页面,用户查询出入库单的信息后,可以批量选择要导出的订单,点击批量到处按钮,执行导出事件方法,这里由于业务需要,入库单没有修改和删除功能,这是为了保护入库单信息的完善。在库存模块的库存管理页面,用户同样可以根据查询条件,查询出需要查询的产品库存情况,只是在仓库管理员和系统管理员的权限下,加了修改警告数据的连接,提供管理员在仓库扩容或缩减的时候修改容量上限或下限,在修改警告信息的页面,需要对输入的数据作相应的要求,比如输入的上限大小不能比下限小,即加入了逻辑校验,合乎系统正常工作要求。并且在主页面的显示警告信息的select组框里可以点击进入修改库存容量信息,消除警告。出库单功能的添加,当打开出库单填写页面时,该页面的JS也在后台就进数据库模糊查询当天的出库单数,然后自动加一进行编号,日期填写方法同样调用JS的setDate()方法,填写负责人时也要进数据库查询是否有此人存在,否则会在前台提示错误,当填写完产品编号时,该页面同样也会再次与后台交互获取当前产品信息并一并加入到后面的文本框内,也是和入库单添加是同样的效果,后面的接收人和项目编号,只需验证合法性,完毕后可以保存出库单,同时,对库存该产品的余量进行修改,其中如果发现余量不足以出库,会有提示无法出库消息框弹出。出库单的查询页面,同样是有条件查询功能,选择查询的条件,输入查询内容,即可看到查询的结果,默认为空则搜索全部,出库单的数据导出功能和入库单的导出方法类似,都是从前台获取id传到后台执行查询,然后把查询到的数据通过POI的excel的创建表单功能,保存到.xls格式的excel文件中。-64- 太原科技大学华科学院毕业设计(论文)第五章仓储管理系统的测试和功能演示仓储管理系统的测试和演示是在系统完成设计后,发布在Tomcat平台上的,基于B/S架构的好处是,服务器发布程序之后,任何用户都可以通过打开浏览器在地址栏输入http://localhost:8080/WMS即可进入系统,注意该服务器联网后需将localhost换成该服务器主机的ip地址,端口号8080是Tomcat服务器默认的端口地址,需要与其保持一致。输入系统项目名之后则进入登录页面,准备进入系统。5.1用户登录测试在系统进入用户登录页面后,需要输入自己的员工工号和用户密码,验证码设置的目的是为了防止网络黑客的暴力破解,这样就避免了非人为操作,因为验证码会根据页面的刷新而动态刷新,如果不是人员亲自操作,将不可能识别出验证码的数值,同时,该登录用户也需要明白自己的用户权限,选错了权限也是不能登录的。图5.1登录验证信息其中,不同权限的用户,进入主页面获得的操作项目也不一样,这是权限分割功能实现的基础,系统管理员具有最高权限,也就是拥有的全部的操作项目。-64- 太原科技大学华科学院毕业设计(论文)图5.2管理员系统主界面5.2员工管理测试本模块包括添加员工、查询;部门管理、职位管理等6个功能,运行截图如下所示:图5.3添加员工操作图5.4员工查询操作-64- 太原科技大学华科学院毕业设计(论文)图5.5添加部门操作图5.6部门查询操作图5.7添加职位操作-64- 太原科技大学华科学院毕业设计(论文)图5.8职位查询操作5.3客户管理测试本模块包括添加供应商、查询供应商两个功能,运行截图如下所:图5.9添加供应商操作图5.10供应商查询操作5.4产品管理测试本模块包括添加产品、查询产品两个功能,运行截图如下所:-64- 太原科技大学华科学院毕业设计(论文)图5.11添加产品操作图5.12产品查询操作5.5库存管理测试库存模块是仓库管理系统的主要模块,此处测试出入库流程的输入数据演示和结果演示,并测试页面的输入数据的合理性,即测试该系统的表单验证功能。库存数据表的产品信息是由产品信息添加的时候启用的触发器将该产品信息一起加入到库存表的,因此,此处没有加入库存的添加功能,库存查询功能页面如下。-64- 太原科技大学华科学院毕业设计(论文)图5.13库存查询页面产品入库必须通过填写入库单,走流程,然后才能进行入库操作,所以,入库单模块的测试是整个仓储管理系统的一个重点,对入库单填写页面输入数据的校验结果可以由下图演示。图5.14入库单数据测试页面入库单由系统自动生成,用户无需填写,正确的填写入库数据后,关于产品的型号,单位信息也是由查询正确的产品编号后自动加入的,用户也可以无需填写。入库成功的演示如图5.15。入库成功后,后台系统自动修改库存余量,即当前余量加上入库的数量,从而完成实际的入库操作,实现仓储管理系统的入库操作,并且在入库单上留下入库操作记录,根据业务需要,不提供用户对入库单的修改和删除操作,从而保证数据完整性,不易丢失数据。出库模块和入库模块的主要实现细节相似,只是出库需要减少库存容量,所以在执行出库操作之前,需要对输入的出库数量进行验证,判断输入的数量不大于库存余量时,方可出库,出库单信息一旦提交成功之后,也是不可以修改的。-64- 太原科技大学华科学院毕业设计(论文)图5.15入库成功页面图5.16入库单查询页面图5.17添加出库单页面-64- 太原科技大学华科学院毕业设计(论文)5.6库存容量预警测试本仓储管理系统容量预警功能是在页面的JS定时器的基础上实现的,报警显示信息如图5.2所示。根据计时器信息,每隔十秒钟,执行一次后台操作,逐条查询库存数据表,并获得产品库存信息表的余量和当前输入的提醒值做比较,如果符合提醒要求,则会将库存预警的产品编号动态的加入到top.jsp页面的两个提醒Select选框上,管理员可以通过查看这两个选框里是否留有产品编号信息,从而点选进入该产品的警告信息处理页面,即根据实际操作,决定是否扩充库存容量,还是削减产品容量,此处留有进一步处理的接口。用户进入该产品库存的警示信息修改页面如下图,需要对输入数据进行逻辑验证。图5.18提醒信息修改页面5.7仓库管理测试本模块包括仓库区域、仓库排位、摆放座号管理等功能,运行截图如下所示:图5.19添加仓库区域页面-64- 太原科技大学华科学院毕业设计(论文)图5.20查询仓库区域页面图5.21添加仓库排位页面图5.22查询仓库排位页面-64- 太原科技大学华科学院毕业设计(论文)图5.23添加摆放座号页面图5.24摆放座号查询页面5.8系统管理功能演示系统管理模块是系统管理员专有的操作,其他登录员工无权操作该功能,该模块主要是给系统管理员维护登录员工的权限的,系统管理员可以在该模块删除员工的登录权限,也可以给低用户权限赋予更高的用户权限,系统管理员也可以维护权限的层级,即可以动态扩展用户权限,所以,该管理模块直接影响用户对该系统的使用。图5.9权限信息查询页面-64- 太原科技大学华科学院毕业设计(论文)同时,该系统又添加了一个修改密码的权限,登录用户可以通过点击左上方自己的工号或者头像信息,进入自己的密码修改页面,并根据提示信息修改自己的登录密码,系统管理员无权查询和修改其他用户的密码,只能修改自己的密码,和修改登录员工的权限。图5.10权限修改页面图5.11密码修改页面-64- 太原科技大学华科学院毕业设计(论文)第六章结束语本系统设计以Java为开发基础,结合前台JSP页面设计,运用框架技术开发基于企业级的信息管理应用,着重对仓储管理系统的管理体制进行研究。本设计以目前比较流行的B/S架构模式为技术核心,根据系统运行环境、设计系统软件对仓储管理系统的研究进行讲解。本次设计中的数据库采用MySQL5.5.23,选用该数据库可以提高系统的安全性与稳定性,同时也考虑到了需要存储大量数据,适应Web应用的数据存储需求。但是,本系统只能满足绝大多数功能需求,对于各个企业的实际情况,仍需要根据个体因素进一步对程序进行调整。该仓储管理系统仍有待于完善。6.1仓储管理系统的难点与创新本系统设计的最大难点就是Action代码模块的设计与配置,因为由于业务需求不一致,要设计很多的action方法,然后还要在struts和spring的配置文件里必须配置正确,任何一点小错误都会导致整个项目无法启动,而且action方法返回的值也需要在struts配置里考虑。本系统的创新特色主要有以下几个部分:1、登录页面的验证码功能,是根据网上流行的java绘图,jsp加载的效果,本系统则是在此基础上重新筛选了验证码要显示的内容,和显示的样式,用来突出本系统的风格。2、JSP表单验证部分,select下拉框的动态级联效果,由于是JSP引入的JS文件加入了jQuery框架技术,所以设计出用AJAX方法异步从后台查出需要的信息动态加入到下拉框中,这样可以获得很好的用户体验,并且也锻炼了对前后台数据传输的技术能力。3、库存警告的定时报警功能部分,使用JS写一个获得当前操作系统的时间,并且能够在页面显示出读秒的功能,而库存警告功能就是在这个定时的基础上调整读秒方法的间隔时间,在调用显示方法时调用AJAX后台获取库存信息,判断是否动态加入到下拉框中显示信息。4、页面查询信息保存excel功能,该功能是引入了POI功能模块的jar包,经过查阅该技术的使用信息,本系统也引入了该技术,为了增加系统的功能亮点,同时也是为了增加用户体验,满足用户需求。-64- 太原科技大学华科学院毕业设计(论文)6.2仓储管理系统的设计收获经过本次毕业设计项目之仓储管理系统的设计,我对基于企业的J2EE应用有了更深的了解和认识,进一步掌握了J2EE编程的技巧,以及各种框架技术的应用。本次系统设计,从确定题目到需求分析,到阶段实现,再到功能模块调试,每一步都是考验着大学四年来学到的专业知识,因为毕业设计的意义就是在于将学到的知识和技术展现出来的。并且,本系统也是将来作为程序员的自己一次亲自锻炼机会,锻炼自己的思维模式和开发技术,这些能力只有在自己亲自动手操作中才能一点一点积累出来,同时也是将书本知识和实践操作结合的一种很有效的方式,提高自身综合实力,为今后程序员之路打好基础。-64- 太原科技大学华科学院毕业设计(论文)参考文献[1]埃克尔(Eckel,B.).Java编程思想[M].第4版,机械工业出版社,2007.6[2]弗里曼(Freeman,E.).HeadFirst设计模式[M],北京:中国电力出版社,2007[3]李刚.疯狂HTML5/CSS3/JavaScript讲义[M],北京:电子工业出版社,2012.5[4]弗兰纳根(Flanagan,D.).JavaScript权威指南[M].第6版,北京:机械工业出版社,2012.3[5]迈耶.CSS权威指南[M].第3版,北京:中国电力出版社,2008.1[6]CayS.HorstmannGaryCornell.JAVA核心技术.北京:机械工业出版社,2008[7]李刚.Struts2.1权威指南[M].北京:电子工业出版社,2009.5[8]泽卡斯(Zakas,N.C.).JavaScript高级程序设计[M].第3版,北京:人民邮电出版社,2012.3[9]陈雄华,林开雄.Spring3.x企业应用开发实战[M],北京:电子工业出版社,2012.2[10]李刚.轻量级JavaEE企业应用实战:Struts2+Spring3+Hibernate整合开发[M].第3版,北京:电子工业出版社,2012.4[11]韦斯(Weiss,M.A.).数据结构与算法分析:Java语言描述[M].第2版,北京:机械工业出版社,2008.3[12]李刚.疯狂Ajax讲义:jQuery/ExtJS/Prototype/DWR企业应用前端开发实战[M].第3版,北京:电子工业出版社,2013.2[13]谭云杰.ThinkinginUML[M].第2版,北京:中国水利水电出版社,2012.3[14]AbrahamSilberschatzHenryF.Korth,S.Sudarshan.数据库系统概念[M].第6版,北京:机械工业出版社,2012.4[15]崔洋,贺亚茹.MySQL数据库应用从入门到精通[M],北京:中国铁道出版社,2013.1[16]希尔伯沙茨(Silberschatz,A.).数据库系统概念[M].第6版,北京:机械工业出版社,2012.3[17]李刚.疯狂Java讲义[M],北京:电子工业出版社,2008.10[18]李刚.疯狂XML讲义[M].第2版,北京:电子工业出版社,2011.8[19]PerformanceDocumentationfortheJavaHotSpotVM.http://www.oracle.com/technetwork/java/index.html[20]Ho,G.T.S.;Choy,K.L.;Poon,T.C.,ProvidingdecisionsupportfunctionalityinwarehousemanagementusingtheRFID-basedfuzzyassociationruleminingapproach.2010[21]Lam,C.H.Y.;Choy,K.L.;Chung,S.H.,Frameworktomeasuretheperformanceofwarehouseoperationsefficiency;2010[22]Sobanski,E.;Nicolai,B.TheNeedforWarehouseInformationinaDisasterRecoveryCommunicationSystem.2011[23]YuanyanGu,Behavior-orienteddynamiccompositionofuserinterfacesapplicationsinWMS.2010[24]SherbrookC.METRIC;Amultiechelontechniqueforrecoverableitemcontrol.OperationsResearch,2011[25]DongYumin;JiaFanghua;TheMASComposite-Spring-NetApplicationResearchinginCityTrafficSystem,2010-64- 太原科技大学华科学院毕业设计(论文)致 谢本毕业设计是在任青松指导老师的悉心指导下完成的。在整个毕业设计过程中,不论在选题、设计还是在撰写论文过程中,老师均给予了我莫大的指导和帮助。在毕业设计过程中,老师耐心地给我分析了物流仓储管理系统开发的思路,使我一开始就能够很好地把握设计的方向,从自己平时的项目实训中选出了最适合该系统的开发方式,并且老师又很负责的给了我很多的改进意见,帮助我解决设计遇到的困难,他的适时鞭策、及时纠正和鼓励使我慢慢走出了程序设计的困顿,积累了很多经验,并完成了预期的任务。在此,特向指导老师表示我衷心的感谢和深切的谢意。在此期间,我还得到了很多同学的帮助,在此一并向他们表示感谢。感谢母校和杰普对我的培养,感谢所有关心和帮助我的老师和同学们!-64- 太原科技大学华科学院毕业设计(论文)附录Ⅰ:英文技术资料翻译(英文翻译原文摘录自SCI国际期刊:InternationalJournalofAdvancedManufacturingTechnology,2000年第16期,作者Q.Zhou,M.RisticandC.B.Besant)英文原文:AnInformationManagementArchitectureforProductionPlanninginaVirtualEnterprise1.IntroductionAvirtualenterpriseisatemporaryconsortiumformedbyrealautonomouscompaniesonthebasisofstrongcollaborationtoexploitfast-changingworldwideopportunitiesquickly,whichasinglecompanyisunlikelytorealize.Itisassembledbasedoncost-effectivenessandproductioncompetencieswithlessregardfororganizations,geographiclocations,computingenvironmentsortechnologiesdeployed.Thatistosay,itisvirtualinorganization,locationandtechnology.Asamainactivityofanenterprise,productionplanningandcontrolplaysanimportantroleinrunningavirtualenterpriseandhasamajorpotentialtoimproveitsperformance.Owingtoitscentralpositioninanenterprise,aproductionplanningandcontrolsystemrequiresavarietyofdatarangingfrombusinessdatatotechnicaldata.Inaccuratedatahasbeenidentifiedasthemainreasonforfailurewhenimplementingproductionplanningandcontrolsystems.Thissituationwillbecomeworseinavirtualenterpriseenvironment,whichischaracterizedbydistribution,autonomyandcooperation.Existinginformationmanagementsystems(e.g.distributeddatabases)cannotdealwiththeproblemeffectively.BasedonanESPRITproject(X-CITTIC),thispaperproposesadistributedinformationmanagementarchitectureforthesystem.Thisarchitecturepossessesthefeaturesofintegration,openness,autonomyandscalability,usingtheCORBAstandardandclient–servertechnologies.Itisbelievedthatthearchitecturecanalsobeextendedandusedasaframeworkforeffectiveuseofhighlyflexiblenewsoftwaretoolsinageneralvirtualenterpriseenvironment.Finally,itsimplementationintheXCITTICprojectisintroduced.2.AnInformationManagementArchitectureFormanagingtheinformationforproductionplanningandcontrol,aneffectiveinformationmanagementarchitectureisaprimaryrequirement.Itinfluencesnotonlytheefficiencyofinformationmanagementbutalsotheoverallperformanceofanapplicationsystem.However,managingtheinformationinavirtualenterpriseenvironmentisstillachallenge.Existingtechnologiessuchascentraldatabasesordistributeddatabaseswithsimpleclient/serverarchitectureareunlikelytofulfillitsrequirementscompletely.2.1ChallengesandRequirements-64- 太原科技大学华科学院毕业设计(论文)Informationmanagementforproductionplanningandcontrolinvirtualenterprisesischaracterisednotonlybywidedistributionbutalsobyautonomyandheterogeneity.Therequiredinformationisusuallydistributedgloballyratherthanwithinasmallareawhichhasbeendealtwithbymanysystems.Owingtothemultipleownershipofthevirtualenterprisepartnersthatcouldbeindependentcompaniesorevencompetitors,therequiredinformationhasmorethanoneownerandmustbecontrolledandmaintainedbyeachowner.Sodatasharingandtrackinghavebecomethechallengesfacedbyproductionplanningandcontrolsystems.Tosolvetheseproblems,aqualifiedinformationmanagementsystemhastosatisfythefollowingmajorrequirements.1.Informationinteroperabilityacrosscompaniesinavirtualenterprise.Itisthebasisofmakinganoptimisedplanandcollaboratingoperations.2.Informationconsistencyacrossthewholeenterprise.Itisverycommonforsomedatatohaveseveralreplicationsindifferentplaces.Keepingconsistencybetweenthemisanotherdifficultbutessentialtask.3.Differentdatamodels.Sincethedifferentcompaniescouldhavedifferentlegacysystemsanddatamodels,theinformationmanagementsystemshouldbecapableofaccommodatingdifferentdatamodels.4.Real-timeoperationmode.Thisisrequiredbytheproductionplanningandcontrolsystemforansweringcustomerquotationsbymeansofcapacitychecks.5.Openandscalableinformationarchitecture.Owingtothedynamicorganizationalstructureofthevirtualenterprise,reconfigurationscouldhappentotheinformationmanagementsystem.Thereconfigurationefficiencyisalsoanimportantcriterionofthesystem.6.Informationsecurity.Securitycontrolhasatleastthreelevels.Oneiswithinacompany,supplyinginternaluserswithsecuredaccesstoshareddata.Thesecondlevelprovidesotherpartnersinavirtualenterprisewithsecuredaccess.Finally,networksecuritycontrolprotectsdatatransmissionoverpublicnetworks.7.Efficientcommunication.Owingtowidegeographicaldistributionefficientdatacommunicationisimportanttotheperformanceofthewholesystem.8.Economy.Thetechnologiesthatareusedinthearchitectureshouldalsobecosteffective,sinceoneofthegoalsofbuildingvirtualenterprisesistoreduceproductioncost.Onlyeconomicalsolutionscanattractmoresmallandmiddle-sizedcompanies.Aninformationmanagementarchitectureisproposedinthepapertoaddresstheserequirements.2.2ApproachestoInformationManagementWiththedevelopmentofsoftwaresystems,informationmanagementhasexperiencedfourstagesofdevelopment(Fig.1).1.Inthefirststage,dataandprogramsweremixedtogetherinanapplicationsystem.Therewasnodistinctionbetweenthem.2.Inthesecondstage,datawasseparatedfromtheotherpartofasystemandexistedinvariousformssuchasflatdatafilesanddatabases.However,thedatapartandtheprogramwerestillproprietaryandtightlycoupled.Accessingthedatainthedatapartrequiredthecoupledprogram.3.Withtheincreaseofthescaleofsoftwaresystems,thedatabasebecamecompletelyseparatedfromtheapplicationsystemandDBMSs(databasemanagementsystems)emerged.Databaseswerestudiedasaseparatedcomputingtechnologyandindependentdatabasesystemsorinformationmanagementsystemswerebuiltup.Asanidealintegrationapproach,centraldatabasesystemshavebeenwelldeveloped.4.Althoughthecentraldatabasehasachievedmuchsuccess,itsshortcomingsappearedasapplicationsbecomelargerandmoredistributed.Hence,thecentralizedapproachhasbeenprovedtobeimpracticalandinefficientinmanycases.Distributeddatabasesarebecomingthemainstreamofthedatabasemarket,-64- 太原科技大学华科学院毕业设计(论文)especiallywiththerapiddevelopmentofthenetworktechnology.Asapragmaticmodelofdistributedsystem,client/serverarchitectureiswidelyusedinDBMS.Thatistosay,theDBMSsoftwareisseparatedintotwoseparatecomponents:clientandserver.1.ThedesktopcomponentoftheDBMSsetsuprequestsandpresentsthedatatotheuser.2.Theotherpartusuallysitsinalargecomputerelsewhereonthecompanynetwork,anditmanageshowandwherethedataisstored.2.3OverviewoftheArchitectureItiseasytounderstandtheenterprise’soperationsinwhichsupplychainmanagementisamajoractivity.Itdefinesamanufacturingvirtualenterpriseasamatrix.Everyunitinthematrixiscalledavirtualenterpriseunit.Someunitsarewhollyownedbythecorecompanyofthevirtualenterprise,othersbypartnersincludinglogisticscompanies.Thevirtualenterprisematrixrowdefinesthesequenceofmanufacturing.Thematrixcolumndefinesthenumberofoptions.Somelogisticsunitscouldbeeliminatedinrealityiftwounitsarecloseenoughandthetransporttimeandcostareinsignificant.2.4ExpectedAdvantagesoftheArchitectureGenerally,thearchitecture,whichisestablisheddirectlyonthebasisofthehardwarearchitectureofvirtualenterprises,ischaracterizedbydistribution,autonomy,openness,scalability,interoperation,reconfiguration,security,andeconomy.Itisexpectedthatitcanprovidebetterservicestoapplicationsthancurrentapproaches(e.g.adistributeddatabase)andexistingresearchwork,especiallyconsideringproductionplanningandcontrolsystems.Besideseffectiveness,thearchitectureisalsobelievedtobesimpletoimplementandcosteffective.SinceCORBAremovestheplatformandprogramminglanguagebarriers,existinghardwareandsoftwareintheenterprisecanbeusedforthearchitecturetothemaximumlevel.Itislikelythatinformationmanagerscanbebuiltbywrappingexistingdatabasesystemsandtheirapplicationsandextendingsomefunctions.Furthermore,thearchitectureitselfdoesnotrequireexpensivecomputersandhighmaintenancecostsbecauseofthedistributionofenterprisedata.3.AnImplementationinEsprit20544TheESPRITProject20544,entitledX-CITTIC(aplanningandcontrolsystemforsemiconductorvirtualenterprises),isaplanning,scheduling,andcontrolsystemwhichaimstoimprovemanufacturingperformanceinamicroelectronicsvirtualenterprisebyintegratingglobaldistributedheterogeneousmanufacturingsystemsandbybridgingthegapbetweenthehigherbusinesslevelsofERPandthelowerdistributedshopfloorcontrollevelsofMES.TheprojectstartedinJanuary1996andrantotheendof1998.3.1X-CITTICSolutionTheX-CITTICsolutionisbasedontwoconsiderations:theorder-processingmechanismsandthearrangementanddispositionofthesemechanismsinthevirtualenterpriseITenvironment.Atwo-level(i.e.anenterpriseandfactorylevel)XCITTICarchitecture(Fig.6)hasbeendevelopedbasedontheseconsiderations.TheX-CITTICsolutionencompassesfourmajorcomponentsinthedistributedarchitecture.Allcomponentsarelocatedonbothenterpriseandfactorylevels.3.1.1OrderPromiseTheorderpromisecomponentistheorderentryoftheXCITTICsystem.Itcarriesouttheinteractionwithcustomersandworksinareal-timemode.Threesubcomponentsaredefinedinthiscomponent.Theyaretheorderpromise,roughplanner,androughcapacitymodels.Amongthem,theorderpromiseandtheroughplannerareglobalsubcomponentsthatarelocatedontheenterpriselevelofavirtualenterprise.Theroughcapacitymodelsarelocalsubcomponentsandshouldbeinstalledineveryfactoryofthevirtualenterprise.However,theycouldvaryfromfactorytofactory,sincedifferentdatamodelsandshopfloorsystemsareoften-64- 太原科技大学华科学院毕业设计(论文)usedindifferentfactories.3.1.2FinePlannerAftertheorderallocationinthevirtualenterprise(forexample,bytheorderpromisecomponent),thefineplannercomponent(alsocalledvirtualenterprisescheduler)couldthenbeusedtorescheduletheordersassignedtoeachvirtualenterpriseunitandtogenerategloballyoptimisedorderswiththepurposeofmini-missingthetotalcost.Ofcourse,itcantakemoretimethantheroughplanneranditissupposedtorunperiodicallyratherthaninareal-timemode.3.1.3ReactiveControllerThereactivecontrollerclosesthecontrolloopoftheX-CITTICsystemthroughregulationoforderflowthroughoutthevirtualenterprisenetwork.Ithasaglobalsubcomponent,globalreactivecontroller,ontheenterpriselevelandtwotypesoflocalsubcomponent,localreactivecontrollersandlocalmonitors,whichareonthefactorylevelandlocallyavailableineachvirtualenterpriseunit.3.1.4InformationManagerTheinformationmanageristhedatasupplierandcommondatastoreforallX-CITTICtoolsaswellasthedatainterfacetoexistingsystems(i.e.ERPandMESsystems)thataresourcesofrelevantinformation.TobemaintainedandusefulinthevirtualenterpriseITenvironment,ithastobedistributedacrosstheenterprisenetwork.Theglobalinformationmanagerontheenterpriselevelstoresglobaldataandservesglobalapplicationsubcomponents(e.g.roughplannerandglobalfineplanner),whereasthelocalinformationmanagersonthefactorylevelprovideservicestoalllocalapplications(e.g.roughcapacitymodelsandlocalfineplanners).Thewholeinformationmanagersystemisdefinedtosupplybasicservices(e.g.readandwrite)aswellasadvancedservices,suchasnotification,datasubscriptionandsend,securitycontrolandopeninterfacescomplianttoindustrystandards(e.g.CORBA).3.2X-CITTICInformationManagementTheX-CITTICinformationmanagementconsistsofoneglobalinformationmanagerandseverallocalinformationmanagers,thenumberofwhichequalsthenumbersofunitsinthevirtualenterprise.ORBsareusednotonlyforexternalintegrationbetweeninformationmanagersandotherapplicationcomponents(e.g.orderpromiseandfineplanner),butforinternalintegrationwithineachinformationmanager.AlthoughvariousORBssupportingIIOPprotocolscouldbeusedinthearchitecture,onlyIona’sOrbixisusedinthecurrentX-CITTIC.4.ConclusionsThemainconclusionsofthispapercanbesummarizedasfollows.Anewinformationmanagementapproachisproposed.IthasacompletelydistributedstructureandissupportedbycurrentCORBAtechnologies.Itallowsvariousinformationmanagementsubsystemstoworktogetherandsupplybetterservicestotheirclients.Informationmanagementarchitectureisproposedformanaginginformationforproductionplanningandcontrolinavirtualenterprise,basedonthenewapproach.Itisbuiltondirectlyonavirtualenterprise’sorganizationalstructureforoperation.-64- 太原科技大学华科学院毕业设计(论文)中文译文:虚拟企业生产计划的信息管理架构研究一、引言虚拟企业是一个临时组成的财团,在强大的合作基础上实现真正的自主经营权,能够迅速利用快速变化的全球机会,是一个单一的公司是不可能实现的。它的组成是在成本效益和生产能力的基础上的,使用更少的组织机构、地理位置、计算环境和技术部署。这是说,它是虚拟的组织,位置和技术。作为主要活动的企业,在运行虚拟企业的生产计划和控制中起着重要的作用,有着重大的潜力,以提高其性能。由于其中心位置在一个企业,一个生产计划与控制系统需要各种数据,业务数据技术数据。不准确的数据已被确定为实施生产计划与控制系统失败的主要原因。在一个虚拟的企业环境中,它的这些分布、自主和合作的特点会使这种情况会变得更糟。现有的信息管理系统,(例如分布式数据库)不能有效地解决这个问题。基于ESPRIT项目(X-CITTIC),本文提出了一种分布式信息管理系统架构。该架构还具有集成性,开放性,自主性和可扩展性的特点,使用CORBA标准和客户端-服务器技术。据认为,在一个一般的虚拟企业环境,该体系结构也可以被扩展,并用作高度灵活的新的软件工具,有效地利用了一个框架。最后,在XCITTIC项目中实施。二、信息管理系统架构管理生产计划与控制的信息,有效的信息管理体系结构是一个基本要求。它不仅影响的信息管理的效率,但也是一个应用系统的整体性能。然而,在虚拟企业环境管理的信息仍然是一个挑战。如中央数据库或简单的客户机/服务器体系结构的分布式数据库与现有的技术是不可能完全满足其要求。1、面临的挑战和要求信息管理的虚拟企业生产计划与控制的特点是不仅分布广,而且还具有自主性和异质性。所需的信息通常是全球性分布,而不是在小范围内已处理的许多系统。由于多种所有制的虚拟企业合作伙伴,可能是独立的公司,甚至是竞争对手,所需的信息具有一个以上的雇主并且由每个雇主必须控制和保持。因此,数据共享和跟踪已成为生产计划与控制系统所面临的挑战。为了解决这些问题,一个合格的信息管理系统必须满足以下的重点要求。(1)公司在虚拟企业的信息之间的互操作性。在它的基础上进行优化的计划和合作业务。(2)在整个企业中信息的一致性。这是很常见的一些数据,在不同的地方有几个重复。保持它们之间的一致性是另一个困难的,但重要的任务。(3)不同的数据模型。由于不同的公司可以有不同的遗留系统和数据模型,信息管理系统应该能够容纳不同的数据模型。(4)实时操作模式。这是必需要求的,通过回答客户的报价能力以检查生产计划与控制系统。(5-64- 太原科技大学华科学院毕业设计(论文))开放和可扩展的信息架构。由于虚拟企业的动态组织结构,信息管理系统的重新配置也可能发生。所以重新配置效率也是系统的一个重要标准。(6)信息的安全性。安全控制至少有三个层次。一个是公司内部的,内部用户提供安全访问共享数据。第二个层次提供了其他的合作伙伴在一个虚拟企业的安全访问。最后,网络安全控制保护在公共网络上传输的数据。(7)有效的沟通。由于地理分布广泛。高效的数据通信在整个系统中的性能是很重要的。(8)经济。在架构中使用的技术,也应该是符合成本效益的,因为建立虚拟企业的目标之一是降低生产成本。只有经济的解决方案,才能够吸引更多的小型和中等规模的公司。文中提出的信息管理架构,以满足这些需求。2、信息管理的方法随着开发的软件系统,信息管理的发展经历了四个阶段(图1)。(1)在第一阶段中,数据和程序被混合在一个应用程序的系统中。它们之间有没有区别。(2)在第二阶段中,数据从其他的系统的一部分被分离,并且存在各种形式,例如平面数据文件和数据库。然而,数据部分和程序仍然是专有的和紧密结合的。访问数据部分中的数据需要耦合的程序。(3)随着软件系统规模的增加,数据库成为完全从应用系统和DBMS(数据库管理系统)出现中分离。作为一个独立的计算技术和建立独立的数据库系统或信息管理系统的数据库,它被很好地进行了研究。中央数据库系统作为一种理想的集成方法,得到了很好的发展。(4)虽然中央数据库已经取得了很大的成功,其缺点表现为应用程序变得更大,更分散。因此,集中的方法已在许多情况下被证明是不切实际和效率低下的。分布式数据库正在成为主流的数据库市场,特别是网络技术的飞速发展。作为一个务实的模型的分布式系统,客户机/服务器架构被广泛使用的数据库管理系统。也就是说,DBMS软件被分离成两个独立的部分组成:客户端和服务器。①DBMS的桌面组件设置请求并呈现数据给用户。②其他部分通常坐落在一个大型的计算机公司网络上的其他地方,而它是管理如何以及何处存储数据。3、体系结构概述在企业的经营中,很容易了解供应链管理是一个重要的活动。它定义了一个矩阵制造虚拟企业。在矩阵中的每个单元被称为一个虚拟的企业单位。有些单位被虚拟企业,合作伙伴,包括其他物流公司的核心企业全资拥有。虚拟企业矩阵行定义了序列的制造。矩阵的列定义了购股权数目。一些物流单位可以在现实中被排除,如果两个单位的距离足够近,运输时间和成本是微不足道的。4、体系结构优点的期望一般情况下,架构,这是在建立直接的硬件体系结构的基础上,是虚拟企业的特点:分布性,自主性,开放性,可扩展性,互操作,重新配置,安全性和经济。据预计,它可以比目前的做法(如分布式数据库)和现有研究工作的应用程序,特别是考虑到生产计划和控制系统提供更好的服务。除了有效性,该架构也被认为是实现简单的和有成本效益的。由于CORBA消除了平台和编程语言的障碍,在企业现有的硬件和软件上可用于建筑最高水平。这很可能是信息管理人员可以建立通过包装现有的数据库系统及其应用和扩展的一些功能。此外,该架构因为企业数据的分布本身并不需要昂贵的计算机和维护成本高。-64- 太原科技大学华科学院毕业设计(论文)三、在Esprit20544的实现ESPRIT项目20544,名为X-CITTIC(一个为半导体虚拟企业的规划和控制系统),是一个规划,调度和控制系统,其目的是提高生产性能,在微电子虚拟企业整合全球分布式制造系统和较高的ERP和业务水平较低的分布式车间控制水平的MES之间架起了一座桥梁。该项目开始于1996年1月到1998年底。1、X-CITTIC解决方案是基于两方面的考虑:订单处理机制的安排和处置这些机制在虚拟企业IT环境的X-CITTIC的解决方案。已开发基于这些考虑一个两级(即企业和工厂一级)XCITTIC的体系结构(图6)。的X-CITTIC解决方案包括四个主要部分组成的分布式体系结构。所有元件都位于企业和工厂的级别。(1)订单承诺订单承诺组件是订单输入的XCITTIC系统。它与客户的互动和作品在实时模式下进行。这个组件中定义了三个子组件。它们是订单承诺,粗略规划师和粗能力模型。其中,订单承诺和粗略规划师是全球性的子组件的企业级的虚拟企业。粗能力模型是本地的子组件,并应安装在每家工厂的虚拟企业。然而,他们从工厂到工厂可能会有所不同,因为不同的数据模型和车间系统经常被用来在不同的工厂。(2)精细规划在虚拟企业(例如,订单承诺组件)的顺序分配后,精细规划师组成部分(也称为虚拟企业调度)被重新安排分配给每个虚拟企业单位的订单,并生成全局优化的订单达到节约总成本的目的。当然,这可能需要更多的时间比粗略规划师,它应该是周期性的,而不是在实时模式下运行。(3)无功控制器无功控制器通过规范流通秩序关闭整个虚拟企业网络的控制回路的X-CITTIC系统。它有一个全球性的子组件,称为全球反应控制器,有企业级和两种类型的本地子组件,无功控制器和本地显示器,这是在每个虚拟企业单位上一级和本地可用的。(4)信息管理信息管理是数据供应商和常见的数据存储所有X-CITTIC的工具,以及数据接口连接到现有的系统(如ERP和MES系统),相关信息的来源。在虚拟企业IT环境得到维护和运用的,它必须分布在整个企业网络。全球信息管理的企业级存储全球的数据和服务的全球应用子(如粗糙的策划者和全球精细规划师),而本地的厂级信息管理提供服务,所有的本地应用程序(如粗能力模型和局部精细规划师)。整个信息管理系统被定义为提供基本服务(如读,写)以及先进的服务,如通知,数据服务和发送,安全控制和开放接口,符合行业标准(如CORBA)。2、X-CITTIC的信息管理由一个全球性的信息管理和一些当地的信息管理的X-CITTIC信息管理,数量等于在虚拟企业的单位数量。不仅用于外部之间的集成信息管理人员和其他应用程序组件(例如,订单承诺和精细规划师),但在每一个信息管理器内部集成的ORB。虽然可以使用各种支持IIOP协议的ORB的体系结构中的,只有Iona的Orbix被使用在当前X-CITTIC中。四、结论本文研究的主要内容可以概括如下:本文研究一种新的信息管理方法的建议。它有一个完全分布式结构,由目前的CORBA技术支持。它允许不同的信息管理子系统,携手合作,为他们的客户提供更好的服务。-64- 太原科技大学华科学院毕业设计(论文)在虚拟企业的生产计划和控制新方法的基础上,提出了管理信息的信息管理体系结构。它是建立在对虚拟企业的组织结构直接操作的基础上的。本文研究的体系结构在实施的X-CITTIC的项目中进行了简要应用和具体的介绍。-64- 太原科技大学华科学院毕业设计(论文)附录Ⅱ:源代码用户在输入功能实现主要代码:$(document).ready(function(){$("#uid").bind("blur",function(){varuid=this.value;$("#tduidspan").remove();if(uid=="")$("#tduid").append("不能为空!");else{$.post("getALogin.action",{"uid":uid},function(data){vardataObj=data;if(dataObj.length==0){$("#tduid").append("用户不存在!");}},"json");}});});用户登陆界面功能代码:vartimerID=null;vartimerRunning=false;functionstopclock(){if(timerRunning)clearTimeout(timerID);timerRunning=false;}functionstartclock(){stopclock();showtime();}functionshowtime(){varnow=newDate();varhours=now.getHours();varminutes=now.getMinutes();varseconds=now.getSeconds();vartimeValue=""+((hours>=12)?"下午":"上午");timeValue+=((hours>12)?hours-12:hours);timeValue+=((minutes<10)?":0":":")+minutes;timeValue+=((seconds<10)?":0":":")+seconds;document.clock.thetime.value=timeValue;if(seconds%10==0){$("#warnidoption[value!='']").remove();$("#dangeridoption[value!='']").remove();$.post("getWarnStock.action",function(data){vardataObj=eval("("+data+")");if(dataObj.length==0){var$option=$("");-64- 太原科技大学华科学院毕业设计(论文)$option.attr("value","正常");$option.text("正常");$("#warnid").append($option);}else{var$option=$("");$option.attr("value","提醒如下");$option.text("提醒如下");$("#warnid").append($option);for(vari=0;i");$option.attr("value",dataObj[i].id);$option.text(dataObj[i].stoName);$("#warnid").append($option);}}},"json");$.post("getDangerStock.action",function(data){vardataObj=eval("("+data+")");if(dataObj.length==0){var$option=$("");$option.attr("value","正常");$option.text("正常");$("#dangerid").append($option);}else{var$option=$("");$option.attr("value","警告如下");$option.text("警告如下");$("#dangerid").append($option);for(vari=0;i");$option.attr("value",dataObj[i].id);$option.text(dataObj[i].stoName);$("#dangerid").append($option);}}},"json");}timerID=setTimeout("showtime()",1000);timerRunning=true;}$(document).ready(function(){$("#warnid").bind("change",function(){varwarnid=this.value;alert("提醒"+warnid);if(warnid=="提醒如下")return;elseparent.location.href="editST.action?param=0&id="+warnid;});$("#dangerid").bind("change",function(){vardangerid=this.value;alert("警告"+dangerid);if(dangerid=="警告如下")return;elseparent.location.href="editST.action?param=0&id="+dangerid;});});-64- 太原科技大学华科学院毕业设计(论文)员工用户添加页面关键代码。$("#jobid").bind("change",function(){vardepid=$("#depid").val();varjobid=this.value;$.post("getEmpNumber.action",{"depid":depid,"jobid":jobid},function(data){vardataObj=data.length;//获得指定职位的员工人数,以便自动编号varempid=depid+jobid;if(depid==""||jobid==""){$("#empid").val("请选择职位!");return;}elseif(dataObj<9)empid=empid+"000"+dataObj;elseif(dataObj<99)empid=empid+"00"+dataObj;elseif(dataObj<999)empid=empid+"0"+dataObj;elseif(dataObj<9999)empid=empid+dataObj;else{$("#empid").val("该职位员工人数已满!");return;}$("#empid").val(empid);},"json");});库存模块的入库单生成模块功能代码:varyear=(newDate()).getFullYear();varmonth=(newDate()).getMonth()+1;varday=(newDate()).getDate();if(month<9)month="0"+month;if(day<9)day="0"+day;vardatenum=""+year+month+day;$.post("getISs.action",{"datenum":datenum},function(data){vardataObj=data.length;varsinid=datenum;if(dataObj<9)sinid=sinid+"0000000"+dataObj;elseif(dataObj<99)sinid=sinid+"000000"+dataObj;elseif(dataObj<999)sinid=sinid+"00000"+dataObj;elseif(dataObj<9999)sinid=sinid+"0000"+dataObj;elseif(dataObj<99999)sinid=sinid+"000"+dataObj;elseif(dataObj<999999)sinid=sinid+"00"+dataObj;elseif(dataObj<9999999)-64- 太原科技大学华科学院毕业设计(论文)sinid=sinid+"0"+dataObj;elseif(dataObj<99999999)sinid=sinid+dataObj;else{$("#sinid").val("当天订单数已满!");return;}$("#sinid").val(sinid);},"json");区域编号的加载功能实现代码:$("#rowid").bind("change",function(){varrowid=this.value;if(rowid=="")return;$.post("getLOROSEs.action",{"rowid":rowid},function(data){vardataObj=data;$("#seatidoption[value!='']").remove();for(vari=0;i");$option.attr("value",dataObj[i].seatId);$option.text(dataObj[i].seatName);$("#seatid").append($option);}},"json");});入库功能实现代码:$('[id=saveIS]').bind("click",function(){if($("span").length==0){varcount=$("#sinnum").val();varsingooid=$("#singooid").val();$.post("inStock.action",{"count":count,"singoodid":singooid},function(data){vardataObj=data;if(dataObj[0].result=="success"){$("#form").submit();alert("订单提交成功!");history.back();}},"json");}});对应修改库存的在StockAction.java代码中的inStock.action的方法详情如下:publicvoidinStock(){try{stoText="stoId";stoValue=getParam("singoodid");intcount=Integer.parseInt(getParam("count"));stoList=stockService.queryStock(stoText,stoValue,Stockinfotable.class);stock=stoList.get(0);count+=stock.getStoNumber();stock.setStoNumber(count);stockService.modifyObject(stock);HttpServletResponseresponse=ServletActionContext.getResponse();response.setCharacterEncoding("utf-8");JSONArrayjsonarry=JSONArray.fromObject("[{'result':'success'}]");response.getWriter().write(jsonarry.toString());}catch(Exceptione){e.printStackTrace();}}-64- 太原科技大学华科学院毕业设计(论文)入库单的查询获取导出信息的JS方法如下:$(document).ready(function(){$("#printChoose").bind("click",function(){varlabel=$("input:hidden").length;varobj=$("input:checked");if(obj.length==0)alert("请先选中要打印的选项!!");else{vartitle="";for(vari=1;i<=label;i++){if(i!=label)title=title+$("#label"+i).val()+",";elsetitle=title+$("#label"+i).val();}vars="";for(vari=0;i