




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、分类号:分类号:TP315TP315 U U D D C C:D10621-408-(2007)5816-0D10621-408-(2007)5816-0 密密 级:公级:公 开开 编编 号号: : 20030321332003032133 X X X X 科科 技技 大大 学学 学学 位位 论论 文文 基于工作流引擎的系统框架设计开发基于工作流引擎的系统框架设计开发 工作流引擎子系统工作流引擎子系统 论文作者姓名:论文作者姓名:肖波肖波 申请学位专业:申请学位专业:网络工程网络工程 申请学位类别:申请学位类别:工学学士工学学士 指指导导教教师师姓姓名名(职职称称) :方睿(副教授)方睿(副教
2、授) 论文提交日期:论文提交日期:20062006 年年 6 6 月月 4 4 日日 基于工作流引擎的系统框架设计开发基于工作流引擎的系统框架设计开发 工作流引擎子系统工作流引擎子系统 摘摘 要要 工作流就是一系列相互衔接、自动进行的业务活动或任务。工作流引擎是 工作流管理系统的核心,它的主要功能是通过计算机技术的支持去定义、执行 和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。 论文主要讲述了工作流引擎的基本功能及设计方法,介绍工作流引擎的基 本原理,具体分析了工作流引擎所包含的内容,详细介绍了相关的信息模型和 控制模型。系统采用关系结构的理念来设计工作流引擎,给出了用
3、 Microsoft Visual Studio 2005 和 Microsoft SQL Server2000 实现系统的方法。论文中 利用本工作流引擎构建系统能适应大多数业务流程的扭转,大大缩短常见信息 系统的项目开发周期,提高效率。 关键词:关键词:工作流引擎;关键业务;关系 The design of information system frame based on workflow engine - The subsystem of workflow engine Abstract Workflow is a series of interlocking, automatic bu
4、siness activities or tasks. Workflow engine is the work flow management system in the core, and its main function is to define, implement and manage work flow through the support of computer technology as well as co-ordinate work flow process of working implementation and groups of information betwe
5、en members of interaction. The thesis has mainly described basic functions and design of the workflow engine, introduced the basic theories, and specifically analyzed the content included in the work flow and the details of the relevant information model and control model. The idea of relation struc
6、ture has been used to design this system and the method to achieve the system function with Microsoft Visual Studio 2005 and Microsoft SQL Server2000 has been given out. Constructing system with the workflow engine can adapt to the majority of the business process reversing that significantly reduce
7、 the development cycle of the common information system and improve efficiency. Key words: Workflow engine; Critical business; Relationship 目目 录录 论文总页数:21 页 1引言.1 2开发概述.1 2.1VISUAL C# 语言概述.1 2.2工作流引擎概述.2 2.3工作流引擎现状分析.3 3需求分析.4 3.1用户需求.4 3.2工作流引擎的分析.4 3.3业务流程.5 3.4开发运行环境.6 4工作流引擎的设计.6 4.1模块的划分.6 4.2功
8、能描述.6 4.3工作流引擎的详细设计.7 4.4数据库结构的设计.9 5工作流引擎的实现.12 5.1状态图管理的设计.12 5.1.1功能描述.12 5.1.2界面设计.12 5.1.3工作流程和部分代码.13 5.2任务管理窗体.14 5.2.1功能描述.14 5.2.2界面设计.14 5.2.3工作流程和部分代码.15 5.3任务指派窗体.16 5.3.1功能描述.16 5.3.2界面设计.16 5.3.3工作流程和部分代码.17 6测试结果.18 结 论.18 参考文献.18 致 谢.20 声 明.21 第 1 页 共 21 页 1 1引言引言 随着信息技术的高速发展,越来越多的企业
9、需要建设各种各样的信息系统, 为每个系统重复构建框架是一种浪费。这些系统的共性是基于分布式网络环境 下的多级别、多用户的数据库系统,每个级别、用户可能拥有不同的权限,需 要对不同的业务进行操作,各个业务之间的耦合也不尽相同。并且企业或者部 门的计算机应用已不仅仅停留在诸如文档处理、公文流转以及信息发布等这些 简单的业务层面上。越来越多的企业或部门要求将信息技术的应用扩展到关键 业务中。例如,产品的设计和制造过程,银行的借贷和划账业务,还有物资部 门的采购、审批和出入库业务等等,都属于相应企业或部门的关键业务。 基于工作流引擎的系统框架设计开发工作流引擎子系统是采用 Visual C#以及 Mi
10、crosoft SQL Server2000 来开发的。系统主要由四个模块组 成,他们分别是:状态图管理模块、任务列表模块、任务指派模块、任务提交 模块。本系统主要包括了一下四个功能:状态图管理:对任务流程进行添加、 删除、修改。任务列表:可以查看任务状态、未完成任务列表及已完成任务列 表。任务指派:指派人员去完成任务。任务提交:完成任务后,进行提交,激 活下一个任务。 由于信息技术的发展和日趋激烈的商业竞争,人们不再满足于独立、零散 的办公自动化和计算机应用,而是需要综合的、集成化的解决方案。作为一种 对常规性事务进行管理、集成的技术,工作流管理系统的出现是必然的。它可 以改进和优化业务流程
11、,提高业务工作效率;实现更好的业务过程控制,提高 顾客服务质量;提高业务流程的柔性等。 2 2开发概述开发概述 2.12.1VisualVisual C#C# 语言概述语言概述 Visual C#(读作“C sharp”)是 Visual Studio .NET 中引入的一种新 的编程语言。C# 从 C 和 C+ 演变而来,是一种简单、现代、类型安全和面向 对象的语言。设计 C# 是为了建立运行于 .NET 平台上的、范围广泛的企业级 应用程序。用 Visual C# 编写的代码被编译为托管代码,这意味着它将受益于 公共语言运行库的服务。这些服务包括:语言互操作性、垃圾回收、增强的安 全性以及
12、改进的版本支持。 在 Visual Studio .NET 中,Visual C# 完全得到 项目模板、设计器、属性页、代码助理、对象模型和其他开发环境功能的支持。 Visual C# 编程的库是 .NET Framework。 C#语言是一门简单,现代,优雅,面向对象,类型安全,平台独立的一门 新型组件编程语言。其语法风格源自 C/C+家族,融合了 Visual Basic 的高效 第 2 页 共 21 页 和 C/C+强大。其优雅的语法风格,创新的语言特性,因而深受世界各地程序 员的好评和喜爱。C#起源于 C 语言家族,因此,C,C+和 Java 的程序员能很快 熟悉它。C#获得了 ECM
13、A 和 ISO/IEC 的国际标准认证,它们分别是 ECMA-334 标 准和 ISO/IEC 23270 标准。Microsoft 用于.NET 框架的 C#编译器就是根据这两 个标准实现的。 2.22.2工作流引擎概述工作流引擎概述 工作流技术起源于二十世纪七十年代中期办公自动化领域的研究,由于当 时计算机尚未普及,网络技术水平还很低以及理论基础匮乏,这项新技术并未 取得成功。1983 年至 1985 年间,在图像处理领域和电子邮件领域出现了早期 的含有工作流特征的商用系统。 进入九十年代以后,随着个人计算机、网络技术的普及和推广,以及信息 化建设的日益完善,使得工作流技术的研究与开发进入
14、了一个新的热潮。1993 年,国际工作流管理联盟(WfMC)的成立标志着工作流技术开始进入相对成熟 的阶段。为了实现不同工作流产品之间的互操作,WfMC 在工作流管理系统的相 关术语、体系结构及应用编程接口等方面制定了一系列标准。工作流管理联盟 给出的工作流定义是:工作流是指整个或部分经营过程在计算机支持下的全自 动或半自动化。在应用中可以把由计算机软件系统(工作流管理系统)控制其 执行的过程都称为工作流。在工作流参考模型中,工作流引擎是工作流管理系 统的核心。工作流引擎是为工作流管理系统在定义提供支持、同时在运行时提 供解释和执行服务的一组数据模型和软件。 工作流引擎(Workflow En
15、gine, WfE)的主要功能是通过计算机技术的支 持去定义、执行和管理工作流,协调工作流执行过程中工作之间以及群体成员 之间的信息交互。工作流需要依靠工作流引擎来调度、实现。作为工作流的核 心应能提供以下几个方面的功能支持:解释过程定义;创建过程实例并控制其 执行;调度各项活动;为用户工作表添加工作项;通过应用程序接口(API)调 用应用程序;提供监督和管理功能等。 国际工作流管理联盟对工作流的过程模型提出了 8 种基本单元和 6 种控制 结构。 8 种基本单元分别是:开始活动、结束活动、原子活动、子过程、活动块、 或节点、与节点、弧。 6 种控制结构分别是:顺序结构、与分叉、与合并、或分叉
16、、或合并、重复。 对于 8 种基本单元中,开始活动和结束活动本身没有实际意义,只是用来 标识过程的开始和结束;子过程和活动块也可以分解为原子活动和各种控制结 第 3 页 共 21 页 构的组合。这样下来,8 种基本活动单元可以提炼出核心的是原子活动节点、 与节点、或节点和弧四个基本单元。而 6 种控制结构,则可以看成是原子活动 节点、与节点、或节点和弧的各种组合关系。进一步分析可以得出:6 种控制 结构是两个原子活动节点之间,由与节点、或节点和弧构成的控制单元。 所以,可以将原子活动单元单独提出来,我们把它称之为活动节点 (Activity),将原子活动之间的各种连接方式(与节点、或节点和弧的
17、组合) 称之为基于计算机算法控制的由计算机自主完成的控制节点(ControlNode)。 近一步,我们可以在两个相邻的控制节点之间插入“哑活动”节点(是虚 拟的,不做任何动作,但在计算机中创建活动实例)。这样任何一个工作流图 就可以分解为活动节点和控制节点的前后连接。 这样,在一个流程实例的所有节点的状态图中,活动节点(包括“哑活动” 节点)就是控制节点的流转算法的输入条件,控制节点查询状态图,与预制条 件对比,就可以激活它的后续节点,从而达到工作流流转。 综上所述,它构建了一般信息系统的框架,在传统的关系数据库基础之上 定义工作流数据模型;它利用 DBMS 内嵌的编程语言来实现工作流引擎的控
18、制逻 辑;开发者可以在此框架的基础上搭建自己的具有工作流特性的信息系统。基 于工作流引擎的信息系统框架的适用对象并非应用系统的最终用户,而是利用 专用开发工具构造相应应用系统的专业开发人员。 2.32.3工作流引擎现状分析工作流引擎现状分析 近几年国家非常重视企业的信息化建设,在电子商务(EC),企业资源计划 (ERP), 产品数据管理(PDM),客户关系管理(CRM),计算机集成制造(CIMS)等领域 投入了大量的人力和物力,力图尽快达到国际先进水平。然而,电子商务(EC),企 业资源计划(ERP),产品数据管理(PDM),客户关系管理(CRM),计算机集成制造 (CIMS),办公自动化(O
19、A)等信息系统的发展又都离不开工作流技术的支持,它是 企业实现管理信息化和技术信息化的关键技术。我国政府充分认识到工作流技 术的重要性。本文针对目前国内企业信息化过程中,最重要的两个领域(产品数 据管理,企业资源计划)研究工作流管理功能建模、工作流安全、工作流实例监 控、以及工作流与 PDM,ERP 系统的集成应用等问题。 随着社会生产的流程化,工作流(Workflow)起着越来越重要的作业,工 作流管理系统的核心是工作流引擎。对于企业来说,其生产经营活动就是由各 种各样业务流程交织在一起组成的。然而,在企业管理中,许多流程在日常操 作过程中已被习惯,而不被人们所重视,更不能被有效的管理起来。
20、另外,客 户的需求瞬息万变,而产品的生命周期也是在不断缩短,技术在不断创新。企 业要在这样一个竞争和变换的外部环境中求得生存,就必须要有随需而变的能 第 4 页 共 21 页 力,不断地调整和优化自身的各种业务流程,对流程进行重构和再造。 当前工作流管理系统在全国范围尤其是大中城市的各种企业都得到广泛应 用。随着企业的不断发展,充分利用电脑的先进管理方式,将企业管理推向 “无纸化”、“现代化”已经成了解决当前企业管理问题的当务之急。 总结:先说明工作流管理系统的对当今企业的重要性,然后再说明工作流 管理系统的核心是工作流引擎,最后分析目前我国企业管理的现状,更体现出 有一套完善的工作流引擎系统
21、对企业管理的重要性。 3 3需求分析需求分析 3.13.1 用户需求用户需求 用户通过工作流管理系统可以更便捷的进行业务管理,而工作流引擎是工 作流管理系统的核心部分,所以有必要对工作流引擎进行设计。用户需要通过 工作流系统进行任务流程的定制,包括添加、删除、修改流程,并且可以直观 的查看出任务的状态,可以通过任务列表察看未完成任务和已完成任务,可以 进行任务指派,任务指派需要确认指派的基准和群体。用户在完成任务后,需 要提交任务。 3.23.2 工作流引擎的分析工作流引擎的分析 我们把基于工作流引擎的信息系统框架定义为:数据模型和控制模型。其 中基于工作流引擎信息系统框架的数据模型又分为框架
22、模型、机构模型和信息 模型三类。控制模型将信息模型、机构摩型和框架模型有机的结合在一起,它 根据其中定义的业务规则来流转业务流程,控制模型是工作引擎的控制中心。 图 1 是基于工作引擎的信息系统通用框架的结构图。 图 1 工作引擎的信息系统通用框架的结构图 其中调度中心接受从个性化界面(外部接口)发送过来流程控制的请求(如 业务初始化、获取任务以及结束任务等),根据不同的请求类型调用相应的处 第 5 页 共 21 页 理模块完成与本次请求相关的操作并将结果返回。该操作是基于 DBMS 的并发机 制和锁机制来实现工作流引擎的控制模型,不需要诸如请求队列等形式的数据 结构。从而实现了多个外部请求之
23、间的独立性。调度中心在收到活动节点状态 变化触发之后,根据其后继控制节点的类型,调用不同的算法,计算并设置控 制节点后继节点的状态,来生成状态图。所涉及到状态图中活动节点的各种状 态,他们之间的转换关系见图 2。 图 2 状态转换图 任务管理主要根据调度中心的指示完成诸如任务创建、任务状态的转换以 及相关数据的维护等工作。每次“结束任务”的外部请求将触发调度中心调用 “任务管理”为后继活动(如果存在的话)创建新的实例;同时,其他不同的 外部请求也将触发“任务管理”实施任务状态的切换。 任务指派处理只是针对常规交互活动活动,通常情况下,在任务状态由 “睡眠状态”切换到“就绪状态”过程中完成任务的
24、指派工作,即处于就绪状 态的任务在通常情况下都确定了其执行者。任务指派过程首先根据任务指派基 准确定可以执行此任务的群体人员,通常情况下这是一个包含多个人员的集合; 然后根据任务指派方法确定由这个群体中的哪些个体来执行任务,执行任务的 个体标识记录在相应任务记录的UserID字段中。 任务完成过后,需要将任务提交给调度中心,任务由“执行状态”切换到 “处理结束通过状态”或“处理结束未通过状态”,同时激活下一个任务。 3.33.3 业务流程业务流程 管理员或者超级用户定制工作流程,详见图 3。 图 3 状态图管理流程图 第 6 页 共 21 页 管理员或者超级用户进行任务指派,详见图 4。 图
25、4 任务指派流程图 个人、队列或者团队通过查看任务列表了解任务。 完成任务后提交。 执行下一个任务。 3.43.4 开发运行环境开发运行环境 安装此系统所需的基本软、硬件环境为: Windows98 或 WindowsNT/2000/XP。 Microsoft Visual Studio 2005。 Microsoft SQL Server2000 数据库。 512M 以上内存。 5G 以上可用硬盘空间。 VGA 显示器。 本程序在 Windows XP 操作系统下,以 Microsoft Visual Studio 2005 为 前台开发工具,用 Microsoft SQL Server20
26、00 为后台数据库开发实现的。 总结:以一个某省电信部门的物流信息系统为分析对象,确定该部门的组 织结构和业务流程后最后确定工作流引擎系统应该具备的功能,以确定系统的 主要模块,也简单介绍了该系统的开发环境和运行条件。 4 4工作流引擎的设计工作流引擎的设计 4.14.1模块的划分模块的划分 通过对用户需求调研并分析,确定系统应具备的功能,所需模块包括:状 态图管理,任务管理,任务指派,任务提交。 4.24.2功能描述功能描述 这个系统主要涉及到状态图管理、任务管理、任务指派、任务提交。 状态图管理:包括添加、删除、修改流程。对流程进行控制,包括无条件 转移、与分支控制、与合并控制、或分支控制
27、、或合并控制、投票合并控制。 第 7 页 共 21 页 查看任务的状态,包括了睡眠状态、就绪状态、执行状态、完成通过状态以及 完成未通过状态,不同的任务状态显示为不同的颜色。 任务管理:从数据库中读取出任务列表,其中包括未完成任务和已完成任 务,任务列表中包括了任务建立的时间,预计完成任务的时间,完成任务人员, 任务完成时间。同时可以添加新任务。 任务指派:包括等待指派的任务,任务指派的基准以及任务指派的人群。 其中任务指派的基准包括基于部门进行任务指派、基于团队进行任务指派、基 于角色进行任务指派、基于自定义的方式进行任务指派。任务指派的人群包括 将任务分配指定的所有人员,将任务分配给指定群
28、体中的工作量最少的人员, 将任务队列中最早创建的任务分配给相应群体中最先提出执行任务请求的个体, 基于优先数分配。 任务提交:任务结束后提交系统。 4.34.3工作流引擎的详细设计工作流引擎的详细设计 根据工作流引擎的工作流程,综合上述的各功能模块,设计出的系统模块 图如图 5 所示: 图 5 系统模块图 状态图管理如图 6: 第 8 页 共 21 页 图 6 状态图管理 用户通过对活动节点进行操作,主要操作动作有以下表 1 所示: 表 1 控制节点类型 控制类型名中文名说明 DIRECT无条件转移不做任何动作,直接激活下一个节点。 AND_BRANCH与分支控制 流经此处的任务将进行与分支,
29、通过查找 TaskStatus 表来决定下一动作。 AND_MERGE与合并控制 流经此处的任务将进行与合并同步,通过查找 TaskStatus 表来决定下一动作。 OR_BRANCH或分支控制 流经此处的任务将进行或分支,通过查找 TaskStatus 表来决定下一动作。 OR_MERGE或合并控制 流经此处的任务将进行或合并同步,通过查找 TaskStatus 表来决定下一动作。 VOTE_MERGE投票合并控制通过查找 TaskStatus 表来决定投票结果。 上面所定义的 6 种控制类型的节点,若不能满足业务要求,可以自定义其 他的控制节点类型。 一个流程实例产生之时一并产生所有活动节
30、点的初始状态,生成以后则由 控制节点来动态修改其状态。任务状态主要有 6 种:睡眠状态、就绪状态、执 行状态、完成通过状态以及完成未通过状态。睡眠状态:流程实例创建时统一 设置所有活动节点为该状态,等待唤醒。就绪状态:前趋控制节点将活动唤醒, 等待人工处理。执行状态:表示正在进行人工处理,等待处理结果。完成通过 状态:表示人工处理结束,移交给控制节点继续下一步处理。完成未通过状态: 表示人工处理结束,处理意见为“否决”,同时移交给控制节点继续下一步处 理。 任务列表用于记录那些已经创建但尚未完成的任务以及已完成的任务,它 们之间用 CompletionFlag 标记。 第 9 页 共 21 页
31、 任务指派是指依照某种规则将任务分配给具体人员来执行。只有常规交互 活动才涉及到任务指派的问题;其他活动要么在前台不具备实际的应用逻辑, 要么由工作流引擎自动调用,因此与任务指派无关。任务指派的基准是:基于 部门进行任务指派、基于团队进行任务指派、基于角色进行任务指派、基于自 定义的方式进行任务指派。任务指派的基准确定以后,再确定执行任务的群体, 具体指派到哪些实际人员还取决于任务指派方法。指派方法有四种:ALL:表示 任务将分配给由 BasedOn 指定的群体中的所有人员。LEAST_WORKING_LIST:表 示任务将分配给指定群体中的工作量最少的人员,工作量的多少可以通过 ToDoTa
32、skList 的统计数据得到。FCFA:表示先来先分配, 即将任务队列中最早 创建的任务分配给相应群体中最先提出执行任务请求的个体,任务的创建时间 由 DateCreated 指示。PRIORITY:表示基于优先数分配, 只适合于 ROLE_BASED 任务指派基准。在表 UserInRole 中有个字段 PriorityNo 用于指定相应人员的 优先级。用户也可以根据具体需要来添加新的任务指派方法。 4.44.4数据库结构的设计数据库结构的设计 根据前面的模块功能设计,系统所需要的数据库应包括“活动节点表”, “业务过程表”,“控制节点表”,“任务指派规则表”,“任务状态表”, “任务列表”
33、等,各部分各自作为一个表存在。 具体设计如下: 1活动节点表 用于存放活动节点信息,具体设计如表 2 所示: 表 2 活动节点表 字段名数据类型说明 ActIDInt活动编号 ProcIDInt业务编号 ActNameVarchar(20)活动名称 ActTypeVarchar(20)活动类型 TimeAllowedDatatime接受时间 PreCtrNodelistvarchar(20)前面的控制结点表 NextCtrNodelistvarchar(20)后面的控制结点表 2业务过程表 用于存放业务过程,具体设计如表 3 所示: 表 3 业务过程表 字段名数据类型说明 ProcIDInt业
34、务编号 第 10 页 共 21 页 ProcNamevarchar(20)业务名称 ProcDescvarchar(20) 3控制节点表 用于存放控制节点,具体设计如表 4 所示: 表 4 控制节点表 字段名数据类型说明 CtrNodeIDInt控制节点编号 ActIDInt活动编号 ProcIDInt项目编号 CtrNodeNamevarchar(20)控制节点名 CtrNodeTypeVarchar(20)控制节点类型 CtrNodeDescvarchar(20) PreActNodelistvarchar(20)前次的活动结点目录 NextActNodelistvarchar(20)下次
35、的活动结点目录 ExecCtrFuncvarchar(20)实行的控制关系 PassedPercentagefloat通过的百分率 Parameterlistvarchar(20)参数目录 4任务指派规则表 用于存放任务指派规则,具体设计如表 5 所示: 表 5 任务指派规则表 字段名数据类型说明 TeamIDInt团队编号 DeptIDInt部门编号 ActIDInt活动编号 BasedONvarchar(20)任务指派的基准 MethodVarchar(20)任务指派的群体 ExeFuncIDInt可执行的关系编号 5任务状态表 用于存放任务状态,具体设计如表 6 所示: 表 6 任务状态
36、表 字段名数据类型说明 SerialNoInt流水号 TaskIDInt任务编号 第 11 页 共 21 页 ActIDInt活动编号 ProcIDInt业务编号 TaskStatusvarchar(20)任务状态 EntityIDInt实体编号 6 任务列表 用于存放为完成任务和已完成任务,具体设计如表 7 所示: 表 7 任务列表 字段名数据类型说明 SerialNoInt流水号 TaskIDInt任务编号 EntityIDInt实体编号 UserIDInt用户号 TaskStatusvarchar(20)任务状态 DateCreatedDatatime创建时间 DateAcceptedD
37、atatime开始执行时间 DateCompletedDatatime完成时间 CompletionFlagInt任务的状态 数据库关系图如图 7 所示: 图 7 数据库关系图 总结: 对整个工作六引擎系统的功能模快的详细设计和所运用的 第 12 页 共 21 页 Microsoft SQL Server2000 数据库表的详细介绍。 5 5工作流引擎的实现工作流引擎的实现 授衔做了个登陆界面,以方便测试用,然后添加了一个窗体,使用了一个 tabControl 控件,将 tabPage1、tabPage2、tabPage3、tabPage4、tabPage5 分别命名为:公司简介、状态图管理、
38、任务管理、任务指派、提交任务。其中 状态图管理、任务管理、任务指派是工作流引擎的核心部分,状态图管理中主 要完成的是任务的定制,包括的功能有添加、删除、合并和分支,可以直接察 看任务的状态。任务管理部分主要完成的是对任务的添加、删除,同时可以查 看任务列表。任务指派部分主要完成的是对指派的基准和指派的群体进行确定。 下面我们将主要对状态图管理、任务管理、任务指派进行介绍。 5.15.1 状态图管理的设计状态图管理的设计 .1 功能描述功能描述 这个窗体主要用来定制工作流程和察看任务状态,包括添加流程,删除流 程,流程合并,流程拆分,状态统计以及详细状态显示。 .
39、2 界面设计界面设计 在这个窗体上用了 4 个 ComboBox 控件,6 个 GroupBox 控件,17 个 label 控件,5 个 Button 控件,1 个 DataGridView 控件,1 个 TextBox 控件,1 个 panel 控件。添加完毕后的窗体运行后如图 8 所示: 图 8 状态图管理页面截图 第 13 页 共 21 页 .3 工作流程和部分代码工作流程和部分代码 在该窗体加载时进行数据库的连接,同时在左边表格中显示出数据。输入 流程名,点确认添加。下拉列表将自动读取数据库中的流程名,选中一个流程 名,单击确认删除,出现“删除任务流程成功”的对话框,
40、点确定关闭。将鼠 标光标移到流程拆分的文本框中,单击选中左边任务,然后确定拆分。先选中 左边的任务,点添加流程到列表可以将要合并的任务移到列表中,也可点从列 表中删除将任务移出,将要合并的任务移动到列表后,单击确认合并即可。状 态图统计和下面的状态显示是根据数据中的信息变化的。点最下面的退出系统 按钮可直接退出系统。 部分代码如下: string sql = select top 1 count0=(select count(*) from TaskList where CompletionFlag=0 ),count1=(select count(*) from TaskList where
41、 CompletionFlag=1 ),count2=(select count(*) from TaskList where CompletionFlag=2 ),count3=(select count(*) from TaskList where CompletionFlag=3 ),count8=(select count(*) from TaskList where CompletionFlag=8 ),count9=(select count(*) from TaskList where CompletionFlag=9 ),maxcount=(select count(*) fr
42、om TaskList) from TaskList; read = SqlHelper.SqlHelpDao.ExecuteReader(ContClass.Constants.ConnectionString, CommandType.Text, sql); while (read.Read() this.Fettle0 = double.Parse(read0.ToString(); this.Fettle1 = double.Parse(read1.ToString(); this.Fettle2 = double.Parse(read2.ToString(); this.Fettle
43、3 = double.Parse(read3.ToString(); this.Fettle4 = double.Parse(read4.ToString(); this.Fettle5 = double.Parse(read5.ToString(); this.Fettle6 = double.Parse(read6.ToString(); this.label13.Text = 任务流程未通过的有: + Fettle0. ToString() + 个; this.label14.Text = 任务流程处理中的有: + Fettle1. ToString() + 个; this.label1
44、5.Text = 任务流程已通过的有: + Fettle2. ToString() + 个; this.label16.Text = 任务流程哑状态的有: + Fettle3. ToString() + 个; this.label17.Text = 任务流程睡眠状态有: + Fettle4. ToString() + 个; this.label18.Text = 任务流程等待状态有: + Fettle5. ToString() + 个; this.label19.Text = 合计任务流程数共有: + Fettle6. 第 14 页 共 21 页 ToString() + 个 this.lbl
45、0.Height = (int)(this.lbl0.Height * (Fettle0 / Fettle6) = 1) ? 2 : (int)(this.lbl0.Height * (Fettle0 / Fettle6); this.lbl1.Height = (int)(this.lbl1.Height * (Fettle1 / Fettle6) = 1) ? 2 : (int)(this.lbl1.Height * (Fettle1 / Fettle6); this.lbl2.Height = (int)(this.lbl2.Height * (Fettle2 / Fettle6) =
46、1) ? 2 : (int)(this.lbl2.Height * (Fettle2 / Fettle6); this.lbl3.Height = (int)(this.lbl3.Height * (Fettle3 / Fettle6) = 1) ? 2 : (int)(this.lbl3.Height * (Fettle3 / Fettle6); this.lbl4.Height = (int)(this.lbl4.Height * (Fettle4 / Fettle6) = 1) ? 2 : (int)(this.lbl4.Height * (Fettle4 / Fettle6); this.lbl5.Height = (int)(this.lbl5.Height * (Fettle5 / Fettle6) = 1) ? 2 : (int)(this.lbl5.Height * (Fettle5 / Fettle6); 5.25.2 任务管理窗体任务管理窗体 .1 功
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生殖微环境优化与生育力保存-全面剖析
- 用户隐私意识提升策略-全面剖析
- 餐饮行业行政工作总结与市场拓展计划
- 新北师大版二年级数学下册评估计划
- 人教版九年级上学期语文教学计划技术支持
- 2025年小学英语毕业考试模拟试题:英语翻译技巧核心知识与实战技巧解析卷
- 2025年司法考试刑法模拟检测试卷:刑法案例分析技巧解析
- 甲醛去除施工方案范本
- 音乐教育与心理发展计划
- 外研社小学英语一年级教学计划评估标准
- 智能建筑工程分部(子分部)工程质量验收
- 建筑工程住宅水泥制品排气道系统应用技术规程
- 2024年中国红木家具市场调查研究报告
- DNM-9602酶标分析仪操作规程
- 四川省宜宾龙文学校2022-2023学年八年级下学期6月检测(期末模拟)历史试卷
- 以退为进的中国惠民保发展-基于73款停售惠民保产品的分析-【复旦许闲】20240719
- 公积金个人贷款合同模板
- 智能纺织技术的家居家纺应用
- DL∕T 5161.14-2018 电气装置安装工程质量检验及评定规程 第14部分:起重机电气装置施工质量检验
- 有机半导体完整版本
- 监护人考试试题
评论
0/150
提交评论