车间调度系统的开发_第1页
车间调度系统的开发_第2页
车间调度系统的开发_第3页
车间调度系统的开发_第4页
车间调度系统的开发_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

车间调度系统的开发摘要在过去的几十年里,基于实际的及理论上的考虑,不断地激励着人们寻找新的生产调度算法,其中一个重要的原因是产品制造界的市场竞争性在不断提高,好的生产调度能提高资源的生产率及操作管理的相对水平,生产处具有竞争性的产品。在系统的设计过程中,查阅过许多相关于调度的文献,并且请教了我的指导老师,还做过一些市场调查,最终在努力下,调度系统终于成功的完成了。在不懈努力之下,终于完成了车间调度系统,实现了车间调度中相关于订单管理,计划制定,物料管理,进度查询与产量统计的功能。对应于生产管理系统的短期计划安排,主要目标是通过良好的作业加工排序最大限度减少生产过程中的准备时间,优化某一项或几项生产目标,为生产计划的执行和控制提供指导。关键词调度;产量统计;作业调度;生产计划;加工排序THESHOPSCHEDULINGSYSTEMDEVELOPMENTABSTRACTBIKESHOPSCHEDULINGREFERSTOAPPEARATANYTIMEINTHEMANUFACTURINGPROCESSOFWORKSHOPBASEDONTHEACTUALSITUATION,ADJUSTANDMODIFYTHEJOBSHOPSCHEDULING,TORUNTHEWORKSHOPPRODUCTION,ENSUREONTIMEDELIVERYJOBSHOPSCHEDULINGISONEOFTHEIMPORTANTFUNCTIONSOFPRODUCTIONMANAGEMENT,ISTOSUPPLEMENTANDCOMPLETETHEPRODUCTIONPLAN,MAINLYINCLUDEPROCESSEDWORKPIECEDYNAMICSCHEDULINGANDPRODUCTIONRESOURCESOFREALTIMEDYNAMICDISTRIBUTIONOFTHESETWOASPECTSINRECENTYEARS,WITHTHECONTINUOUSIMPROVEMENTOFINFORMATIONTECHNOLOGY,THEENTERPRISEBETWEENUPPERMANAGEMENTANDTHEUNDERLYINGINDUSTRIALCONTROLMANUFACTURINGEXECUTIONSYSTEMMANUFACTURINGEXECUTIONSYSTEM,MESGRADUALLYFORMEDANDDEVELOPEDRAPIDLYASANIMPORTANTPARTOFMESINJOBSHOPSCHEDULINGTHROUGHTHEWHOLEPROCESSINENTERPRISE,ISTOENSURETHATTHEWORKSHOPPRODUCTIONINTHEDYNAMICREALTIMEENVIRONMENTCANBETHEKEYTOEFFICIENTANDRELIABLEOPERATIONRELEVANTDATASHOWTHATMOSTOFTHETIMECONSUMEDINTHEPROCESSOFMANUFACTURINGINTHECUTTINGPROCESSEFFECTIVESCHEDULINGMETHODANDOPTIMIZATIONTECHNIQUE,THEREFORE,CANMAKEFULLUSEOFTHEWORKSHOPEQUIPMENTANDPERSONNEL,GIVEFLEXIBLETOENTERPRISEPRODUCTIONACTIVITIES,IMPROVEEFFICIENCY,REDUCECOSTANDMAXIMIZETHEINTERESTSOFTHEENTERPRISESYSTEMAPPLICATIONENVIRONMENTMAINLYPRODUCTIONWORKSHOP,ITSTASKISTOOPTIMIZETHEMANUFACTURINGPROCESSOFTHEWHOLEWORKSHOP,ACCORDINGTOTHEDYNAMICPROCESSOFREALTIMEDATAANALYSISANDPROCESSING,ACCORDINGLYFORTHEOPERATINGPERSONNELANDMANAGEMENTPERSONNELTOPROVIDETHEEXECUTIONOFTHEPLAN,TRACKING,ANDALLTHECURRENTSTATEOFTHERESOURCEINFORMATIONKEYWORDSEFFICIENCY,;MANUFACTURINGEXECUTIONSYSTEM,;JOBSCHEDULING,;THECUTTINGPROCESSANDCOST目录摘要IABSTRACTII1绪论111课题背景112课题目的及意义1121目的1122意义113课题内容12可行性研究321引言322可行性研究的前提3221要求3222目标323技术可行性分析3231系统简要描述3232MVC模型分析3233处理流程和数据流程53需求分析631功能需求632系统逻辑模型633性能需求634系统开发环境735文件夹组织结构74概要设计941总体设计9411程序流程9412模块流程图942接口设计11421用户界面11422软件接口1243数据结构设计12431数据库概念设计12432数据库逻辑结构设计14433物理数据结构设计165详细设计1851登录模块18511模块描述18512代码实现18513运行图示1952订单管理模块19521模块描述19522代码实现20523运行图示2253计划管理模块23531模块描述23532代码实现23533运行图示2454物料管理模块24541模块描述24542代码实现25543运行图示2555进度查询模块26551模块描述26552代码实现27553运行图示2856产量统计模块28561模块描述28562代码实现28563运行图示306测试3161计划3162测试用例31结论33参考文献34致谢35外文原文36中文翻译451绪论11课题背景在过去的几十年里,基于实际的及理论上的考虑,不断地激励着人们寻找新的生产调度算法,其中一个重要的原因是产品制造界的市场竞争性在不断提高,好的生产调度能提高资源的生产率及操作管理的相对水平,生产处具有竞争性的产品。车间的调度优化工作,因其在提高生产效率、降低生产成本等方面的重要作用,正越来越受到人们的关注。随着信息技术的发展,人们更多的依赖软件系统来智能化的管理,代替一部分人的工作,这也使得生产过程规范化,工作更加的高效,我的自行车车间调度系统也就因运而生。编制生产计划和生产作业计划,无论考虑多么周密,安排如何具体,也不可能预见到实际生产过程中的一切变化。实际生产过程中,情况十分复杂,千变万化,有局部的,也有整体的;有内部的,也有外部的;有工艺方面的,也有设备方面的;有主观因素,也有客观因素。这些问题一旦出现,小则造成生产被动,大则造成生产过程中断,生产停车,计划难于完成。生产调度就是要及时了解掌握这些影响因素。组织有关部门、有关人员处理解决这些不平衡因素,消除隐患,以保证生产过程长周期安全运行,保证生产计划和生产作业计划按要求实现。如果没有生产调度夜以继日的指挥调度,要想及时解决生产过程中随时出现的矛盾,维持生产过程的正常运行,是不可能的。12课题目的及意义121目的满足客户要求和生产任务的前提下,依据生产过程获得准确信息,充分合理的利用与配置加工过程的各种制造资源,高效低耗的使用生产资源、合理安排加工工件的顺序、均衡设备负荷和生产、提高设备利用率。122意义自行车生产调度系统是根据企业信息化建设的需要以及实现制造业信息化这一目标而开发的。本系统严格按照其行业的生产调度流程,实现了从订单下达,制定计划,准备物料,查询进度到统计生产的整个生产流程的动态管理,使生产调度管理者从繁重人工信息采集中解脱出来,极大地提高了劳动效率,同时为决策者提供了快速、准确、全面的信息依据,避免了决策的盲目性和片面性,天幕了制造业在调度信息化管理方面的空白。13课题内容本文研究对象是面向车间作业的自行车车间调度管理系统。1、实时监控生产各环节工作情况。2、根据生产需要合理调配劳动力,督促检查原材料、工具、动力等供应情况和厂站运输工作。3、检查各生产环节的零件、部件、毛坯、半成品的投入和产出进度,及时发现生进度计划产执行过程中的问题,并积极采取措施加以解决。生产调度直接控制生产的稳定和有序的执行,良好的生产调度能够预先解决生产中的干扰,缩短产品在车间的流动时间,减少在制品库存,保证准时交货。MES是面向敏捷车间的先进生产管理系统,如何设计并实现作为其核心功能的调度系统是重要的研究内容。2可行性研究21引言对问题进行研究,以最小的代价在最短的时间内确定问题是否可解。22可行性研究的前提221要求主要功能为车间管理者提供车间调度的服务。性能要求车间信息必须及时准备的反映在车间调度平台上,市场订单必须无差错的存储在服务器上,对服务器的数据必须进行及时正确的刷新。输出要求数据完整,详实。输入要求简捷,快速,实时。222目标系统实现后,提高了调度管理的效率,降低生产服务中的错误发生率,减少调度管理中的人力消耗。23技术可行性分析231系统简要描述在车间管理者的终端上登录调度管理网页,作出处理订单、制定计划等操作后,向服务器发出请求,服务器根据请求内容向数据库服务器进行数据持久化操作,并向终端返回信息。根据生产计划,组织均衡生产,全面完成生产计划。重点做好以下工作1、三个平衡生产物料平衡,能源动力平衡,产运销平衡。2、两个衔接正常生产衔接,生产装置检修和开停工衔接。3、一个急需在紧急情况下,有权调度公司人力、物力、车辆等,以解决生产关键时刻和事故状态的急需。4、组织好每周的生产调度5、填写好几个报表调度记录表,调度交接班日志和有关记录本。232MVC模型分析1MVC简介MVC全名是MODELVIEWCONTROLLER是模型MODEL视图VIEW控制器CONTROLLER的缩写一种软件设计典范用一种业务逻辑数据界面显示分离的方法组织代码将业务逻辑聚集到一个部件里面在改进和个性化定制界面及用户交互的同时不需要重新编写业务逻辑MVC被独特的发展起来用于映射传统的输入处理和输出功能在一个逻辑的图形化用户界面的结构中。MVC开始是存在于桌面程序中的M是指业务模型V是指用户界面C则是控制器使用MVC的目的是将M和V的实现代码分离从而使同一个程序可以使用不同的表现形式比如一批统计数据可以分别用柱状图饼图来表示C存在的目的则是确保M和V的同步一旦M改变V应该同步更新。2MVC的由来模型视图控制器MVC是XEROXPARC在二十世纪八十年代为编程语言SMALLTALK80发明的一种软件设计模式已被广泛使用后来被推荐为ORACLE旗下SUN公司JAVAEE平台的设计模式并且受到越来越多的使用COLDFUSION和PHP的开发者的欢迎模型视图控制器模式是一个有用的工具箱它有很多好处但也有一些缺点。3MVC编程模式MVC是一种使用MVCMODELVIEWCONTROLLER模型视图控制器设计创建WEB应用程序的模式。MODEL模型表示应用程序核心比如数据库记录列表VIEW视图显示数据数据库记录CONTROLLER控制器处理输入写入数据库记录MVC模式同时提供了对HTMLCSS和JAVASCRIPT的完全控制MODEL模型是应用程序中用于处理应用程序数据逻辑的部分通常模型对象负责在数据库中存取数据VIEW视图是应用程序中处理数据显示的部分通常视图是依据模型数据创建的CONTROLLER控制器是应用程序中处理用户交互的部分通常控制器负责从视图读取数据控制用户输入并向模型发送数据MVC分层有助于管理复杂的应用程序因为您可以在一个时间内专门关注一个方面例如您可以在不依赖业务逻辑的情况下专注于视图设计同时也让应用程序的测试更加容易MVC分层同时也简化了分组开发不同的开发人员可同时开发视图控制器逻辑和业务逻辑4STRUTS简介STRUTS是APACHE软件基金下JAKARTA项目的一部分STRUTS框架的主要架构设计和开发者是CRAIGRMCCLANAHANSTRUTS是JAVAWEBMVC框架中不争的王者经过长达九年的发展STRUTS已经逐渐成长为一个稳定成熟的框架并且占有了MVC框架中最大的市场份额但是STRUTS某些技术特性上已经落后于新兴的MVC框架面对SPRINGMVCWEBWORK2这些设计更精密扩展性更强的框架STRUTS受到了前所未有的挑战但站在产品开发的角度而言STRUTS仍然是最稳妥的选择STRUTS有一组相互协作的类组件SERVLET以及JSPTAGLIB组成基于STRUTS构架的WEB应用程序基本上符合JSPMODEL2的设计标准可以说是MVC设计模式的一种变化类型根据上面对FRAMEWORK的描述很容易理解为什么说STRUTS是一个WEBFRAMEWORK而不仅仅是一些标记库的组合但STRUTS也包含了丰富的标记库和独立于该框架工作的实用程序类STRUTS有其自己的控制器CONTROLLER同时整合了其他的一些技术去实现模型层MODEL和视图层VIEW在模型层STRUTS可以很容易的与数据访问技术相结合包括EJBJDBC和OBJECTRELATIONBRIDGE在视图层STRUTS能够与JSP,VELOCITYTEMPLATES,XSL等等这些表示层组件相结合。5HIBERNATE简介开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得JAVA程序猿可以随心所欲的使用对象编程思维来操纵数据库。HIBERNATE可以应用在任何使用JDBC的场合,既可以在JAVA的客户端程序使用,也可以在SERVLET/JSP的WEB应用中使用,最具革命意义的是,HIBERNATE可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。6SPRING简介SPRING实际上是EXPERTONEONONEJ2EEDESIGNANDDEVELOPMENT一书中所阐述的设计思想的具体实现在ONEONONE一书中RODJOHNSON倡导J2EE实用主义的设计思想并随书提供了一个初步的开发框架实现INTERFACE21开发包而SPRING正是这一思想的更全面和具体的体现RODJOHNSON在INTERFACE21开发包的基础之上进行了进一步的改造和扩充使其发展为一个更加开放清晰全面高效的开发框架。SPRING是一个开源框架由RODJOHNSON创建并且在他的著作J2EE设计开发编程指南里进行了描述它是为了解决企业应用开发的复杂性而创建的SPRING使使用基本的JAVABEANS来完成以前只可能由EJB完成的事情变得可能了然而SPRING的用途不仅限于服务器端的开发从简单性可测试性和松耦合的角度而言任何JAVA应用都可以从SPRING中受益。233处理流程和数据流程处理流程和数据流程如图21所示。图21处理流程和数据流程3需求分析31功能需求通过对车间调度系统的分析,要求系统具有以下功能1系统操作简单,界面友好。2规范,完善的基础信息设置。3支持多人操作,要求有权限分配功能。4能够实现管理员的登录操作以及退出操作。5支持对订单的添加,修改,删除,查看。6能够对未处理订单的计划制定。7可以查看物料相关信息,并且能够采购物料。8可以对订单生产进度进行查询。9能够实现对产量的统计。32系统逻辑模型系统逻辑模型如图31所示。图31系统逻辑模型33性能需求为了保证系统能够长期、安全、稳定、可靠、高效的运行,自行车车间管理系统应该满足以下的性能需求1系统处理的准确性和及时性系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足企业对信息处理的需求。在系统开发过程中,必须采用一定的方法保证系统的准确性。2系统的开放性和系统的可扩充性车间调度系统在开发过程中,应该充分考虑以后的可扩充性。所有这些,都要求系统提供足够的手段来进行功能的调整和扩充为ERP系统。而要实现这一点,应通过系统的开放性来完成,即系统应是一个开放系统,只要符合一定规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。3系统的易用性和易维护性系统是面向工作人员的,而使用人员往往对计算机并不是非常熟悉,这就要求系统能够提供良好的用户接口,易用的人机交互页面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面,针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。4系统的标准性系统在设计开发使用过程中都要涉及到很多计算机硬件、软件。所有这些都要符合主流国际、国家和行业标准。5系统的先进性目前计算机系统的技术发展相当快,作为车间调度系统,应该保证系统在一定时间内是先进的,在系统的生命周期尽量做到系统的先进,充分完成企业信息处理的要求而不至于落后。这一方面通过系统的开放性和可扩充性,不断改善系统的功能完成。另一方面,在系统设计和开发的过程中,应在考虑成本的基础上尽量采用当前主流并且有良好发展前途的产品。34系统开发环境在开发车间调度系统时,使用的开发环境如下所示集成开发环境ECLIPSE网页开发软件ADOBEDREAMWEAVER数据库管理软件ORACLE10G操作系统64位WINDOWS81系统服务器TOMCAT7JAVA开发包JDK7浏览器CHROME浏览器分辨率最佳效果为1366X76835文件夹组织结构在进行系统开发之前,需要规划文件夹组织结构。也就是说,建立多个文件夹,对各个功能模块进行划分,实现统一管理。这样做的好处在于易于开发、管理和维护。本系统的文件夹组织结构如下图32所示。图32文件夹组织结构图4概要设计41总体设计411程序流程管理员在打开系统后首先会进行登录操作,如果登录成功将进入车间调度主页面,登录失败则重新进行登录操作。进入主页面之后,可以进行以下几种操作订单管理,计划管理,物料准备,进度查询,产量统计。订单管理分为四个功能,分别为订单的查询、订单的修改、订单的添加、和订单的删除。计划管理只有一个功能,就是计划的制定。但是最关键的也在这里。计划的制定需要考虑到物料准备的是否充足,车间生产的调度算法。首先,计划制定会对未处理的订单进行显示查看,然后选择其中的某一部分来进行计划;其次,会对这部分订单的总体数量进行计算,然后比对物料仓库中的物料是否充足,如果充足,直接进行车间生产,如果不足,则会进行物料采购。物料准备则是对于物料仓库数据的查询,与物料采购的管理。其中可以查看物流仓库中各种各样物料的库存量,需要个数等等信息。而物料采购是车间生产前必经的一道流程。进度查询也是本系统的主要功能实现之一,其中在查询之前要进行进度的更新操作,这个操作涉及到订单数量,车间生产量,以及已生产产品和未生产产品数量之比也就是进度的计算,然后将其显示到页面之上。产量统计也是本系统的重要功能,它的实现,涉及到生产开始日期,与现在日期,以及交货日期之间的计算。如果生产开始日期与交货日期分别处于不同的月份甚至于年份,则会进行一番复杂的算法来将产量进行分日期的计算,来将产量正确的算出,并且显示到前端页面,以便于管理员的正确管理。412模块流程图1登录模块登录模块主要考虑的就是对用户名密码的验证,我在这里做了一点不同是用户名不正确就无法登录,避免了管理员输入用户名密码之后才发现用户名不正确。如图41所示。图41登录模块流程图2订单管理模块订单这个模块的实现操作就是正常的添加、修改、删除和管理。如图42所示。图42订单管理流程图3计划管理模块计划管理就相对的复杂一点儿了,它考虑到的是对订单所需物料的充足与否。以免在生产过程中出现物料不足,生产搁置的现象。在物料不足时,一定会先去采购物料,再来进行车间的生产。如图43所示。图43计划管理流程图4物料管理模块物料管理这个模块分为两个部分,一个是物料仓库的查询,可以查看物料相关信息;还有一个是采购物料的操作,这是车间生产前必不可少的一个步骤。如图44所示。图44物料管理流程图5进度查询模块由于订单生产的期限较长,所在在生产期间需要查询订单的进度信息。这个模块主要就是分析计算进度,然后更新到表中,让管理员能实时监控订单生产进度。如图45所示。图45进度查询流程图6产量统计模块每个企业都会有自己的产量统计,这是生产必不可少的一部分。它对生产的重要性不言而喻,是生产评估中的一项重要指标。产量统计通过产量计算、产量的更新以及显示产量来实现。如图46所示。图46产量统计流程图42接口设计421用户界面在用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。在界面设计上,应做到简单明了,易于操作,并且要注意到界面的布局,应突出的显示重要以及出错信息。在外观上也要做到合理化。由于采用B/S结构设计,所以在界面上的设计有天生的优势。可以使用JSP/HTML来设计用户使用界面,做到可靠性、简单性、易学习和使用的标准。422软件接口服务器可使用JAVA提供的ORACLE的接口,进行对数据库的所有访问。服务器程序上可使用ORACLE的对数据库的备份命令,以做到对数据的持久化。在网络软件接口方面,使用一种无差错的传输协议。43数据结构设计431数据库概念设计根据以上对系统所做的需求分析,规划出本系统使用的数据库实体分别为管理员实体、客户实体、订单实体、产品实体、计划实体、物料实体、采购物料实体、进度实体、产量实体。下面将给出几个关键实体的ER图。1管理员实体管理员实体包括编号、登录名、密码三个属性。如图47所示。图47管理员实体ER图2客户实体客户实体包括编号、名字、联系方式、住址四个属性。如图48所示。图48客户实体ER图3订单实体订单实体包括编号、产品名称、产品数量、客户名称和订单日期五个属性。如图49所示。图49订单实体ER图4产品实体产品实体包括编号、产品名、生产量、价格和库存量五个属性。如图410所示。图410产品实体ER图5计划实体计划实体包括编号、期限、物料准备、交货日期和日期五个属性。如图411所示。图411计划实体ER图6物料实体物料实体包括编号、物料名称、产品所属、需要数量、价格和库存量六个属性。如图412所示。图412物料实体ER图432数据库逻辑结构设计DBMS的使用上系统将采用ORACLE,系统主要维护9张表1管理员信息表如表41所示。表41管理员信息表字段描述类型长度是否为空主键USER_INFO管理员IDNUMBER10NPRIMARYKEYUSER_NAME管理员登录名VARCHAR30NUSER_PWD管理员密码VARCHAR30N2客户表如表42所示。表42客户表字段描述类型长度是否为空主键CUSTOM_ID客户IDNUMBER10NPRIMARYKEYCUSTOM_NAME客户名字VARCHAR30NCUSTOM_PHONE联系方式VARCHAR30NCUSTOM_ADDRESS住址VARCHAR30N3订单表如表43所示。表43订单表字段描述类型长度是否为空主键ORDER_ID订单IDNUMBER10NPRIMARYKEYPRODUCT_NAME产品名称VARCHAR30NPRODUCT_NUMBER产品数量VARCHAR30NORDER_DATE订单日期DATENCUSTOM_NAME客户名称VARCHAR30N4产品表如表44所示。表44产品表字段描述类型长度是否为空主键PRODUCT_ID产品IDNUMBER10NPRIMARYKEYPRODUCT_NAME产品名称VARCHAR30NPRODUCT_PRO生产量NUMBER10NPRODUCT_PRICE价格NUMBER8,2NPRODUCT_KUCUN库存量NUMBER10N5计划表如表45所示。表45计划表字段描述类型长度是否为空主键PLAN_ID计划IDNUMBER10NPRIMARYKEYPLAN_TIME计划时期VARCHAR20NMATER_PREPARED物料准备VARCHAR20NSUBMIT_DATE交货日期DATENPLAN_DATE计划日期DATEN6物料表如表46所示。表46物料表字段描述类型长度是否为空主键MATER_ID物料IDNUMBER10NPRIMARYKEYMATER_NAME物料名称VARCHAR30NPRODUCT_NAME产品名称VARCHAR30NMATER_NUMBER需要数量NUMBER10NMATER_PRICE价格NUMBER8,2NMATER_KUCUN库存量NUMBER10N7采购物料表如表47所示。表47采购物料表字段描述类型长度是否为空主键BUY_ID采购IDNUMBER10NPRIMARYKEYPLAN_ID计划IDNUMBER10NMATER_ID物料IDNUMBER10NNUMBER数量NUMBER10N8进度表如表48所示。表48进度表字段描述类型长度是否为空主键JIN_ID进度IDNUMBER10NPRIMARYKEYORDER_ID订单IDNUMBER10NPRODUCT_NUMBER产品数量NUMBER10NCOMPLETE已完成VARCHAR20NPROCESS进度NUMBER10N9产量统计表如表49所示。表49产量统计表字段描述类型长度是否为空主键PRODUCTION_IDIDNUMBER10NPRIMARYKEYPRODUCTION生产量NUMBER10NPRODUCT_DATE日NUMBERNPRODUCT_MONTH月NUMBERNPRODUCT_YEAR年NUMBERN433物理数据结构设计1管理员信息管理员IDLONG管理员用户名STRING密码STRING2客户信息客户IDLONG客户名字STRING联系方式STRING地址STRING3订单信息订单IDLONG产品名称STRING产品数量STRING订单日期DATE客户名称STRING4产品信息产品IDLONG产品名称STRING生产量LONG价格DOUBLE库存量LONG5计划信息计划IDLONG物料准备STRING交货日期DATE计划时期DATE计划日期DATE6物料信息物料IDLONG物料名称STRING产品名称STRING需要数量LONG价格DOUBLE库存量LONG7物料采集信息采购IDLONG订单IDLONG物料IDLONG数量LONG8进度信息进度IDLONG订单IDLONG产品数量LONG已生产LONG进度INT9产量统计信息统计IDLONG生产量LONG日INT月INT年INT5详细设计51登录模块511模块描述1CHECKID实现首先管理员登录页面以后,会进行输入用户名操作,这个用户名输入框在失去焦点之后会获取这个事件,然后由AJAX式建立异步请求,将两个参数信息分别封装在POST方式的信息传输操作里,这里包含着ACTION和USERNAME两个重要参数。这个请求会由LOGINACTION进行接收。LOGINACTION接收了ACTION和USERNAME两个参数之后,会首先对ACTION的值进行判断,然后进入CHECKID处理流程。进入CHECKID流程以后,会调用LOGINSERVICE的CHECKID方法,然后调用USERDAO函数中的QUERY方法进行查询,查询到数据库中存在这个用户名,就会返回TRUE,不存在,就返回FALSELOGINACTION接收到返回值,然后将返回值发送通过JSON语法格式的字符串RESULTFINAL给前台页面。前台通过回调函数获取后台传回的数据,然后对JSON格式的数据进行解析,如果为SUCCESS,就将登录按钮变为可点击;如果为FAILED,则提示用户名不存在,重新进行输入用户名。2CHECKALL实现在上一步的用户名输入成功之后,就可以进行密码的输入了。由于上一个过程已经对用户名进行了验证,所以这一步就直接对密码进行验证。在输入完密码后,可以进行登录按钮的点击,点击这一事件完成后,同样由AJAX方式建立异步请求,获取页面输入的密码用户名信息,将其和ACTION参数一起随请求传输到后台,由LOGINACTION进行处理。LOGINACTION获取到ACTION参数后,对其进行判断,然后进入CHECKALL流程。CHECKALL流程在LOGINSERVICE类中封装,它会调用USERDAO类的QUERY方法,来获取到当前用户名的密码,然后将前台传回的密码与其进行比对,如果用户名密码匹配,就会返回TRUE,否则返回FALSELOGINACTION收到返回值后,将其进行封装,用JSON格式的数据返回前台。前台的回调函数接收到返回值,然后进行状态判断,如果是成功响应,则对JSON数据进行解析,如果为SUCCESS就进入系统主页面;如果为FAILED就提示密码不正确,重新输入密码。512代码实现1创建AJAX异步请求这段代码是AJAX中最基础也是最重要的一段代码。它的功能是用来创建异步请求,而非平常所见的同步请求。异步请求的好处就是在请求的同时也可以做别的事情,反应更加的迅捷,灵活。FUNCTIONCREATEREQUESTTRYREQUESTNEWXMLHTTPREQUEST/IE浏览器请求的创建CATCHTRYMSTRYREQUESTNEWACTIVEXOBJECT“MSXML2XMLHTTP“/CHROME浏览器请求的创建CATCHOTHERMSTRYREQUESTNEWACTIVEXOBJECT“MICROSOFTXMLHTTP“/火狐浏览器请求的创建CATCHFAILEDREQUESTNULL/创建请求失败,返回NULLRETURNREQUEST513运行图示1登录页面在本页面可以进行用户名密码的输入。用户名正确的话登录按钮才可以点击,密码正确则可以进入系统主页面。如图51所示。图51登录页面52订单管理模块521模块描述1SHOWALLORDER实现首先,在管理员刚刚进入我的订单页面时,会首先调用一个SHOWALLORDER方法,此方法首先会建立一个请求,然后将值为SHOWALLORDER的ACTION参数随请求传输进入后台。这个请求会由专门接受ORDER请求的ORDERACTION进行处理。首先ORDERACTION会对ACTION进行判断,然后进入SHOWALLORDER流程。SHOWALLORDER流程会由ORDERSERVICE的SHOW函数进行处理。它首先会调用ORDERDAO的QUERYALL方法,然后得到所有BIKE_ORDER表中的ORDER数据,并且以LIST集合的形式将其返回。ORDERACTION得到这个返回值以后将LIST集合转换成JSONARRAY类型的数据,然后再以字符串的格式返回到前台。前台收到回复之后,将数据解析成JSON格式,以循环的方式输出到前台的表格中,完成所有订单的显示。其中如果一页显示不完,将形成多页显示。2ADDORDER实现首先,在进入添加订单页面后会对页面进行初始化。然后管理员可以将订单相关信息如产品类型,产品数量,客户名称进行输入,在点击添加按钮后,触发ADDORDER事件,向后台发送这三个参数与值为ADD的ACTION参数。ORDERACTION接收到前台传输的ACTION,进行判断后进入ADDORDER流程,并且获得产品类型、数量、客户名称这三个参数。并且将其传入ORDERSERVICE类封装的ADD函数中。根据数量计算价格,获得系统当前时间,并且把订单状态默认设置为未完成,联合自动生成的ID将订单添加到订单表中。在完成这一系列操作后,给前台返回一个成功的信号。前台接收到之后提示添加成功,进入我的订单页面,否则为添加失败。3DELETEORDER实现在我的订单页面中,每一行存在的订单都有DELETE操作,点击后,就会获取当前行的订单号,并且把这个信息连同值为DELETE的ACTION传送到后台去。ORDERACTION接收到ACTION后先进行判断,然后进入DELETEORDER流程,将ORDERID参数获取到,调用ORDERDAO的DELETEORDER方法删除此订单号所在的订单。这一系列操作完成以后,将会给前台返回一个值。前台对后台的反馈进行验证,如果成功则刷新页面,并且提示删除成功,反之则提示删除失败。4UPDATEORDER实现在我的订单页面中,每一行存在的订单还有一个UPDATE的操作,在点击了修改按钮后,修改按钮的值会变成完成字样,并且当前订单的产品数量,产品名称,客户名称三个值可以进行修改。修改完成后可以点击完成,这时按钮的值又变为修改,并且三个单元格再次变为不可点击。将这三个信息连同当前行的订单编号,ACTION这五个参数一同发送会后台。后台接收到请求之后首先对ACTION进行判断,进入UPDATEORDER流程。此流程会将订单的三个参数获取到,并且对订单日期,状态,价格三个属性进行修改,将修改后的订单更新到数据库的BIKE_ORDER表中。然后会给前台一个回馈。前台根据后台的回应信息来判断更新是否成功,如果成功,会刷新页面,并可看到修改后的订单,如果失败,则会提示修改失败。522代码实现1分页代码这段代码实现了订单页面对订单的分页操作。由于我的订单页面最多只能显示10条订单,因此在订单数量多于十条的时候就会出现无法查看别的订单。所以分页的操作就会显得尤为重要。在分页中,首先要获取一个数据的长度,然后再对长度进行分析,得到页数和最后一页的显示条数等等相关信息,以此来动态的创建页码,并且实现前一页,后一页,以及页码分页操作。FUNCTIONCHANGEPAGEIFTHISINNERHTML“PREV“IFPAGEINDEX1PAGEINDEXPAGEINDEX1/前一页操作的实现ELSEIFTHISINNERHTML“NEXT“IFPAGEINDEXMAXPPAGEINDEXPAGEINDEX1/后一页操作的实现ELSEPAGEINDEXPARSEINTTHISINNERHTML/分页操作的实现IFPAGEINDEXMAXPELSEIFMAXP1ELSELENGTHRRESULTLENGTH10VARSTARTPARSEINTPAGEINDEX110VARLENGTHENDSTARTPARSEINTLENGTHRFORVARJ0J10JDOCUMENTGETELEMENTBYID“ORDERTABLE“ROWSJ1STYLEVISIBILITY“HIDDEN“FORVARISTART,J0ILENGTHENDI,J/分页点击后循环显示订单WITHDOCUMENTGETELEMENTBYID“ORDERTABLE“ROWSJ1STYLEVISIBILITY“VISIBLE“ROWSJ1CELLS0INNERHTMLRESULTIORDER_IDROWSJ1CELLS1INNERHTMLRESULTIPRODUCT_NAMEROWSJ1CELLS2INNERHTMLRESULTIPRODUCT_NUMBERROWSJ1CELLS3INNERHTMLRESULTICUSTOM_NAMEROWSJ1CELLS4INNERHTMLNEWDATERESULTIORDER_DATETIMEFORMAT“YYYYMMDD“ROWSJ1CELLS5INNERHTMLRESULTIORDER_PRICEROWSJ1CELLS6INNERHTMLRESULTIORDER_STATUSFUNCTIONCREATEPAGE/动态创建分页页码VARPAGEARRAYNEWARRAYVARPREVDOCUMENTGETELEMENTBYID“PAGENUM“FIRSTCHILDNEXTSIBLING/创建前一页FORVARI0IMAXPI/循环创建PAGEARRAYIPREVCLONENODETRUEPAGEARRAYIFIRSTCHILDINNERHTMLI1DOCUMENTGETELEMENTBYID“PAGENUM“APPENDCHILDPAGEARRAYIVARNEXTPREVCLONENODETRUE/创建后一页NEXTFIRSTCHILDINNERHTML“NEXT“DOCUMENTGETELEMENTBYID“PAGENUM“APPENDCHILDNEXT523运行图示1我的订单页面此页面用来进行显示我的订单,其中还可以对每个订单进行修改和删除两种操作。操作按钮都在表格最右方的操作栏。如图52所示。图52我的订单页面2添加订单页面此页面用来进行添加订单操作。输入产品名称,产品数量以及客户名称之后点击添加按钮可以进行添加订单操作。如果成功会提示添加成功,如果失败会提示添加失败。如图53所示。图53订单添加页面53计划管理模块531模块描述1SHOWPART实现在进入计划管理下的制定计划页面时,首先会发送一个ACTION值为SHOWPART的请求,来获取订单状态为未处理的订单。此请求由PLANACTION来进行处理,在获取到请求后,会对ACTION参数值进行判断,然后进入SHOWPART流程。SHOWPART流程会调用ORDERDAO的QUERYSTATUS来对BIKE_ORDER表中状态值为未完成的订单进行查询,然后返回一个类型为LIST集合的ORDER集合。PLANACTION会将这个ORDER集合进行JSONARRAY类型转换,并将其字符串化,返回给前台作为请求的回应。前台的回调函数获得回应后,将字符串进行JSON解析,获得对象数组,利用循环的方式来进行未处理订单在表格中的显示,并且在行订单的第一列加上一个CHECKBOX来进行选择。2MAKEPLAN实现在页面显示出未处理订单之后,就是制定计划的流程了。首先对要制定计划的未处理订单进行勾选,勾选好之后就可以进行计划的制定了。在点击制定计划按钮之后就会将已选择的订单CHECKBOX进行获取,并且得到这个单元格所在的下个单元格的订单编号信息,将订单编号信息存储到数组中以后与值为MAKEPLAN的ACTION一起传输回后台去。有关于计划的请求会由PLANACTION来进行接收处理。在处理请求的过程中,首先对ACTION进行判断,判断完成后进入MAKEPLAN流程。进入MAKEPLAN流程后,首先对订单数组字符串进行解析。这时需要用到的一个函数是SPLIT,用它来将订单逐个分开。接着计算出订单中产品总量以后,连同自动生成的计划编号,默认状态未处理,当前系统时间一起插入计划表中。计划做好之后就是车间信息的添加。逐个将订单编号,计划编号,自动生成的车间流水生产编号,以及状态默认未开始添加到车间信息表中。车间信息之后就是物料的计算了,在计划表中的总量信息提取出后与物料仓库中的所需物料库存进行比较,如果充足的话,那么就会扣除所需生产物料,直接启动生产,将开始日期,交货日期计算出来,状态修改未生产中。并且给前台返回物料充足的信息。前台接收到以后会提示物料充足,开始生产,并跳入车间生产页面。如果物料不足的话,会计算出所需物料的数量,将其添加到物料采购表中,并跳入物料采购页面。532代码实现1增加日期的操作在计划管理中有有关于日期增加的操作,需要在知道起始日期,和时间间隔的情况下计算截至日期。PUBLICDATEGETENDDATEDATESTART_DATE,INTTIMETHROWSPARSEEXCEPTIONSYSTEMOUTPRINTLN“WORKSERVICEGETENDDATE1“DATEDATENULLSIMPLEDATEFORMATSDFNEWSIMPLEDATEFORMAT“YYYYMMDD“/格式化DATE日期STRINGSTADATEDATEFORMATGETDATEINSTANCEFORMATSTART_DATEDATEDTSDFPARSESTADATECALENDARRIGHTNOWCALENDARGETINSTANCERIGHTNOWSETTIMEDTRIGHTNOWADDCALENDARDAY_OF_YEAR,TIME/日期加TIME天DATERIGHTNOWGETTIMESYSTEMOUTPRINTLN“WORKSERVICEGETENDDATE2“RETURNDATE533运行图示1计划制定页面此页面会显示未处理的那部分订单。在每个订单的第一列都有一个CHECKBOX,勾选以后,点击制定计划就会将勾选的订单添加到计划,并且进行计划制定操作。如图54所示。图54计划制定页面54物料管理模块541模块描述1SHOWMATER实现在管理员进入物料仓库页面之后,前台会创建一个请求,并把值为SHOWMATER的ACTION作为参数一并发送到后台。后台接受到这个请求后,由MATERACTION进行处理,判断ACTION的值,进入SHOWMATER流程。SHOWMATER流程是调用MATERDAO的QUERYALL方法来查询出物料表中的各个物料的信息,并以LIST集合的方式来返回。返回之后会将其转换成JSONARRAY类型的数据,以字符串的形式发出。前台接收到这个字符串回应文本后,对其进行JSON解析,得到物料对象数组,然后把物料对象显示到物料表格中去。2BUYMATER实现在管理员进入采购物料页面之后,首先前台会创建一个请求,并且把值为SHOWBUY的ACTION作为参数传入后台。后台接受到这个请求后,由MATERACTION进行处理,判断ACTION的值,进入SHOWBUY流程。SHOWBUY流程是调用BUYDAO的QUERYALL方法来查询出采购物料表中的采购信息,并且以LIST集合的形式返回。返回之后会将其转换成JSONARRAY类型的数据,以字符串的形式发出。前台接收到这个字符串回应文本后,对其进行JSON解析,得到采购物料对象数组,然后把物料对象显示到采购物料表格中去。采购物料信息显示出后,就可以点击采购物料按钮。接着会响应这个事件,把当前所有采购物料表中的计划编号信息与值为BUYMATER的ACTION一起随请求发送给后台。后台名为MATERACTION的接收请求后会转入BUYMATER流程。BUYMATER流程会将计划数组内计划编号传入启动车间流程,并且会给前台返回一个信息。前台接收到后跳转进入车间生产页面。542代码实现1启动生产在采购物料完成的情况下就会启动车间生产,以下就是启动生产的部分代码。PUBLICBOOLEANSTARTWORKSTRINGARRAYTHROWSNUMBERFORMATEXCEPTION,PARSEEXCEPTIONSTRINGPLANARRAYARRAYSPLIT“,“/分离计划字符串PLANPLANNEWPLANPLANDAOPDAONEWPLANDAOBUYMATERDAOBDAONEWBUYMATERDAOBDAOUPDATEBUYSTATUSPLANARRAYWORKSSERVICESSERVICENEWWORKSSERVICEFORINTI0IPLANARRAYLENGTHI/循环获得计划编号PLANPDAOQUERYINTEGERPARSEINTPLANARRAYIPLANSETPLAN_STATUS“READY“PDAOUPDATEPLANPLANSSERVICESTARTWORKINTEGERPARSEI

温馨提示

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

评论

0/150

提交评论