Navi.Component.工作流开发手册(含示例)

  1.概述

  1.1简介

  本文档旨在帮助开发人员快速使用工作流组件,完成OA或审批等涉及到工作流组件的系统开发工作

  1.2组件构成

  1.2.1组件层次图

  

  组件的核心是工作流引擎,它负责存储工作流模板.引擎被服务所包围,也就是说,若用到工作流引擎操作,必须通过工作流服务

  工作流服务包含几大部分:模板服务,流程实例服务,查询服务,跟踪服务,持久化服务,定时服务等

  1.2.2与宿主关系图

  

  宿主通过工作流服务提供的各种命令操作,来完成想要实现的功能.如发起模板,流转实例等

  同时,工作流服务会反馈信息给宿主,通知宿主操作是否成功

  1.2.3服务运行模式

  

  1.2.4组件类图

  

  

  1.2.4辅助接口

  l 权限组件IpermissionService

  

  方法详细描述如下图所示

  

  l 数据库组件IDataBaseService

  

  方法详细描述如下图所示

  

  

  l 定时组件ItimingService

  

  方法详细描述如下图所示

  

  1.2.5数据库结构

  l 工作流模板部分

  

  l 工作流流程实例部分

  

  l 工作流其他配置部分

  

  2示例模板

  示例模板如图-所示

  

  2.1功能要求

  l 模板发起权限:用户1

  l 模板包含4个环节.其中,首环节为[拟稿];末环节为[发证].其环节办理对象如下所示

  环节ID处理决策办理对象用户列表

  拟稿第一用户用户/用户1用户1

  审核第一用户用户/用户2用户2

  审查任务共享角色/角色1用户1,用户2,用户3,用户4,用户5

  发证第一用户用户/用户6用户6

  l 在[审核]环节包含子流程,并且是回归.即主流程需等待子流程完成后

  l 所有环节均支持回退,跳转,挂起,取消挂起,强制归档,删除,备份等命令

  3代码开发

  3.1创建Db并导入脚本和数据

  l 创建SQLServer数据库

  l 打开02.db脚本文件夹,在查询分析器中

  n 执行” init_workflow_sqlserver.sql”文件,用于创建脚本

  3.2创建解决方案

  名称描述

  Navi.Example.Workflow整个解决方案名称

  Navi.Example.Workflow.WinFormWinForm场景示例文件

  Navi.Example.Workflow.WebFormWebForm场景示例文件

  Navi.Example.Workflow.WebMVC3WebMVC3场景示例文件

  3.3项目引用DLL文件

  

  3.4Config配置文件说明

  

  结点名称描述

  RunMode系统运行场景.包括:WinForm,WebForm,WebMVC

  PermissionService权限中心组件,实体操作类字符串,用于反射.继承自IpermissionService接口

  PermissionDataBaseService权限中心组件,数据库操作类字符串

  PermissionDbConnectionString权限中心组件,数据库连接字符串

  WorkflowDebugMode工作流组件.调试模式

  WorkflowLoadMode工作流组件.模板数据源类型.包括Xml和Db

  WorkflowLoadFileName工作流组件.模板数据文件名称

  WorkflowService工作流组件操作类字符串

  WorkflowDataBaseService工作流组件.数据库操作类字符串

  WorkflowDbConnectionString工作流组件.数据库连接字符串

  WorkflowTimingService工作流组件.定时服务操作类字符串

  3.5环境变量注册

  

  如上图所示.以WinForm应用场景为例

  先增加异常捕获,再获取应用程序路径和名称,再注册权限组件和工作流组件,最后打开主页面

  注:也可同时注册数据库组件,并且支持多数据库同时注册

  3.6功能模块

  3.6.1拟办列表

  

  3.6.1.1检索

  检索条件是模板名称,支持模糊查询

  3.6.1.2发起

  发起选中的模板列表.若发起成功,则提示下图,表示发起成功

  

  若模板发起失败原因有多种,一般包括

  n 用户没有发起模板权限

  n 选中的模板,其版本不是最大版本号.不允许发起历史模板

  n 在发起过程中出现问题.如:用户未找到角色或组织机构.或者传入参数不正确等,需具体问题具体分析

  3.6.1.3发起(含业务)

  功能与发起类似,区别是根据选中的模板,弹出模板对应的UI业务表单.在此示例DEMO中,不支持业务表单配置

  3.6.1.4新增委托

  

  功能描述

  n 委托是精确至模板环节级别,并且可将委托对象设置为组织机构,角色或用户

  n 委托是在某一时间段内.即需设置开始和结束时间.某人的待办数据交由另一人或多人办理

  n 到期处理包括:撤消和继续.用于工作流定时引擎服务中使用

  n 是否立即委托,是指委托数据增加成功后,立即实现委托功能,并不是根据开始和结束时间

  n 待办是否隐藏:是指在用户待办信息中,是否过滤掉属于被委托者的待办件

  3.6.1.5委托列表

  

  功能描述

  l 检索

  检索条件包括:环节ID,开始和结束时间,是否使用.注:数据本身已经根据模板ID和版本过滤

  l 查看

  查看模板委托详细信息.注:只允许查看,不允许修改

  l 撤消委托

  撤消模板委托后,此模板再发起的流程实例将没有委托信息,之前已经发起的流程实例,其委托信息仍存在

  l 删除委托

  直接将模板委托数据删除.此功能已实现撤消委托功能,并且将数据直接从Db表中删除

  3.6.2流程实例

  

  3.6.2.1模块描述

  l 左侧为树控件,按流程实例状态类型区分.选中一级结点,加载登录用户此状态的流程实例数据

  l 检索条件可以根据模板名称,版本,流程实例ID和操作用户过滤.注:若为管理员登录,可使用操作用户检索条件,检索出属于此用户的流程实例数据

  l 功能命令,采用工具栏布局.包括流转,完结,回退等功能

  l 批量数据栏目名称包括:环节ID,办理时限和单位,开始时间,运动状态等.对应的实体类是WFWaitDealModel

  3.6.2.2流转

  l 点击[流转]弹出流转配置页面,如下图所示

  

  l 功能说明

  n 采用Tabpage控件,每个面板表示待流转的环节信息待办用户,是指待流转环节的待办用户

  n 左侧为待选择的用户列表.此配置信息为模板环节办理权限.注:无论办理权类型是组织机构,角色或用户.最终会转为用户,供用户选择

  u 右侧顶部分,是记录已选中用户列表

  u 办理权限

  ? 目标环节处理决策:在模板配置时已配置环节处理决策,此处允许再次修改.原因:流转到环节的情况有多种,包括正常流转,回退,跳转等

  ? 是否允许分发:用于并行操作.假设选中5个用户.不勾选此选项时,会生成1条环节数据,5条环节审批意见数据;如果勾选此选项,则会生成5条环节数据,每条环节数据各生成1条环节审批意见数据

  ? 预生成数据:用于环节处理决策是任务共享的情况.当环节的办理用户均要求办理时,第1个用户办理完结后,是不生成目标环节待办数据的.若勾选此选项,则先生成目标环节待办数据,但不允许操作

  u 右侧底部为子流程列表,在流转过程中,需额外发起其他模板来辅助完成此流程操作

  u 底部为发送信息配置选项.可发送信息至短信,邮件,站内信等.注:每个发送选项实现,已提供接口,直接实现即可

  l 操作完成后,点击[确定]按钮,执行工作流组件服务中[SubmitWFInstance]方法.若操作成功,则将流程实例当前环节实例ID返回

  3.6.2.3完结

  完结命令,只适用于环节处理决策是任务共享.非最后一个用户使用.表示用户已经办理过此办理件.若操作成功,则将流程实例当前环节实例ID返回.若操作失败,可能原因如下所示

  

  3.6.2.4回退

  l 点击[回退]弹出回退配置页面,如下图所示

  

  l 功能说明

  n 与[流转]面板布局和功能相同

  l 操作完成后,点击[确定]按钮,执行工作流组件服务中[BackWFInstance]方法.若操作成功,则将流程实例当前环节实例ID返回

  3.6.2.5跳转

  l 点击[跳转]弹出跳转配置页面,如下图所示

  

  l 功能说明

  n 左侧为跳转环节列表.注:允许跳转至任何环节,包括已发起或未发起的环节.通过状态栏目区分

  n 右侧为左侧选中环节的办理用户列表,支持多选

  n 底端为其他配置,是将此办件信息通过何种方式发送给待办用户

  l 选中环节和环节办理用户后,点击确定按钮,执行工作流组件[SkipWFInstance]方法.若操作成功, 则将流程实例当前环节实例ID返回

  3.6.2.6置换

  l 点击[置换]按钮,弹出置换配置页面,如下图所示

  

  l 功能说明

  n 页面采用组织机构+用户列表布局

  n 选中左侧树结点,右侧列表加载此组织机构下的用户,供选择

  l 选中用户信息后,点击确定按钮.执行工作流组件的[ChangeWFInstance]方法

  3.6.2.7归档

  归档命令,是将流程实例的运行状态置为end.表示此流程实例已经流转完成,不需要其他操作.注:此命令只将处于末级环节的流程实例数据归档.非末级环节时不允许归档

  3.6.2.8强制归档

  强制归档命令,功能与归档完全一致.不同之处,在于流程实例不限于处在末级环节.在任何环节都可以将流程实例归档

  3.6.2.9撤消委托

  撤消委托命令,并不是模板级别的撤消委托.是将流程实例中的委托数据删除,与模板中的撤消委托功能统一称之为撤消委托.分别对模板和流程实例撤消委托

  3.6.2.10挂起

  l 点击[挂起]弹出挂起配置页面,如下图所示

  

  l 功能描述

  n 开始和结束时间,表示流程实例挂起的起止时间

  n 到期处理方式,包括撤消和继续.用于工作流定时服务

  n 挂起原因,表明为何挂起

  n 是否立即挂起,是不依赖于开始和结束时间,挂起数据保存成功后,直接将对应的流程实例数据挂起

  l 数据录入完成后,点击确定按钮,完成挂起操作

  3.6.2.11复制

  复制命令,是指将流程实例数据完整拷贝一份新的,其流程实例ID也是新的.拷贝的数据包括流程实例,环节实例,环节审批意见以及流程监控数据

  3.6.2.11备份

  备份命令,是指将流程实例的运行状态修改为backup,表示此流程实例不在用户待办和已办中出现

  3.6.2.12删除

  删除命令,即将流程实例从Db表中直接删除.注:删除同时,将此流程实例数据存储至持久化表中,方便以后查找

  3.6.2.13监控

  l 点击[监控]命令弹出监控页面,如下图所示

  

  l 功能说明

  n 顶部展现流程实例基本信息,包括对应模板ID和版本等

  n 左侧为环节流转信息

  n 右侧为环节操作信息.如执行挂起,恢复,置换等,均有记录

  3.6.3配置选项

  

  3.6.3.1检索

  检索条件是选项名称和启用状态.其中选项名称支持模糊查询

  3.6.3.2新增

  新增配选项,如下图所示

  

  录入数据完成后,点击保存,将数据保存至数据库

  3.6.3.3修改

  修改列表中选中的配置选项值,如下图所示

  

  修改数据完成后,点击保存,将数据保存至数据库

  注:若配置选项为系统配置,则不允许修改,会提示如下图所示的对话框

  

  3.6.3.4删除

  将列表中选中的配置选项删除

  注:若配置选项为系统配置,则不允许删除

  3.6.4工作流日历

  

  3.6.4.1检索

  检索条件包括开始和结束日期,日期种类(日期和时间),日期类型(工作日和休息日)

  3.6.4.2新增

  新增日期,如下图所示

  

  录入数据完成后,点击保存按钮,将数据保存至数据库

  3.6.4.3修改

  修改日期,如下图所示

  

  修改数据完成后, 点击保存按钮,将数据保存至数据库

  3.6.4.4删除

  将列表中选中的日历删除

  3.6.5默认审批意见

  

  3.6.5.1检索

  检索分为2部分.一是根据用户检索;二是根据审批意见检索,同时,支持模糊查询

  3.6.5.2新增

  新增审批意见数据.如下图所示

  

  模板信息支持弹出页面选择,如下图所示

  

  录入数据完成后,点击保存按钮,将数据保存至数据库

  3.6.5.3删除

  删除列表中选中审批意见数据

  4设计器

  4.1设计器(WinForm版本)

  4.1.1模板列表

  

  功能描述

  l 左侧树控件.加载不同版本的模板名称.单击树结点,加载此模板名称不同版本的列表.注:单击顶级节点,加载所有模板

  l 右侧顶部为检索条件,检索条件是模板名称和启用状态

  l 右侧顶部下面为工具栏列表.包括模板新增,复制新增,修改,删除,导入和导出

  n 新增:弹出模板单据页面,用于新增

  n 复制新增:获取选中行模板ID和版本并加载,其详细信息加载至表单中,供用户修改.注:版本号自动+1处理

  n 修改:修改选中行模板信息.注:修改操作,不允许执行删除环节及环节其他信息

  n 删除:删除功能包括删除当前选中行模板信息(某一版本);删除某一模板(所有版本)信息和删除某一模板(某一版本)生成的流程实例信息

  n 导入和导出,支持将模板数据导出为Xml和Sql,共2种文件格式

  l 右侧右半部分包括上下2个内容.上面显示此模板的发起权限列表;下面显示为模板环节列表

  4.1.2模板表单

  

  功能描述

  l 顶部为工具栏,包括发起权限新增,发布模板和关闭

  n 发起权限:维护此模板允许哪些人发起

  n 发布模板:模板设计完成后,点击此按钮,保存至数据库

  l 上半部分为模板基本信息.包括模板名称,发起时间,办理时限等

  l 下半部分为模板环节信息.功能包括新增,复制,删除环节和快速录入

  n 新增环节:弹出新增环节表单

  n 复制环节:根据选中行环节信息,复制新增环节,其标识符+1处理

  n 删除环节:将选中行环节删除

  n 选中某行,点击”设置”按钮,弹出修改环节表单

  4.1.3模板发起权限

  

  功能描述

  l 权限类型包括

  n 到人

  n 到角色

  n 到组织机构

  n 动态到模板环节办理人:是指模板环节配置的办理用户列表

  n 动态到流程实例待办人:是指用户在模板环节配置的用户列列表中,选择此环节哪些人可以办理

  n 动态到流程实例办理人:是指此环节实例真正办理的用户列表

  l 发起权限允许有多条,而且权限类型可以不同

  4.1.4模板环节表单.基础信息

  

  功能描述

  l 状态ID:环节标识符,在模板中唯一,不允许重复

  l 办理时限:此环节需办理的时间限度.单位包括:分钟,小时,天

  l 状态类型:标识此环节是否为模板的特殊环节:即首环节或末环节.首环节是指模板发起后,流转到的环节;末环节是指模板允许归档的环节.注:整个模板中,有且仅有一个首环节和末环节

  l 处理决策:允许此环节向下流转的条件类型.包括第一用户和任务共享.注:二者区别详见操作手册

  l 并行设置:此选项用于并行分支的发起和汇聚.配置发起选项时,表示此环节的待流转分支都要生成用户待办数据;配置汇聚选项时,表示此环节的允许流转条件要额外判断是否所有流向此环节的待办数据已流转完成,若完成,则允许向下流转

  4.1.5模板环节信息.办理权限

  

  功能描述

  注:其配置方式与模板发起权限相同,略

  4.1.6模板环节信息.条件分支

  

  功能描述

  l 环节条件分支是指此环节允许向下流转的分支走向.相当于要达到目的地,可以有很多条路到达,这些条路就相当于条件分支.条件分支是供用户选择的

  l 条件分支录入页面

  

  功能描述

  n 分支名称:环节ID.必须是环节ID

  n 分支标签:并行分支时使用.若某几个分支的分支标签相同,表示这几个分支需并行处理

  n 默认分支:定时引擎使用.若办理用户在规定时间内没有办理,则通过定时引擎此环节可以自动流转至默认分支

  n 过滤组织机构和过滤角色,用于选择环节办理用户时,根据当前登录用户所在的组织机构和角色,过滤出与登录用户在同一组织机构或角色的办理用户

  n 环节处理决策:是指目标环节的处理决策,允许在此处修改

  4.1.7模板环节信息.子流程

  

  功能描述

  l 环节子流程是指在此环节中,允许另外发起某模板.注:同一环节允许发起多个模板

  l 子流程录入页面

  

  功能描述

  n 子流程信息,通过选择模板表单加载.如下图所示

  

  n 是否回归至主流程,表示主流程是否需等待发起的子流程

  n 子流程版本使用Max代替:由于模板会根据业务不断调整,重新发起新的模板,则某一时间点的子流程,其版本就可能是历史版本的模板.选中此项,表示子流程的模板版本,永远保持最新,使用最大版本的模板信息

  4.2设计器(WebForm版本)

  暂不提供,请参考WinForm页面开发

  4.3设计器(WebMVC版本)

  暂不提供,请参考WinForm页面开发

  5与其他系统整合

时间: 2024-10-10 16:03:16

Navi.Component.工作流开发手册(含示例)的相关文章

Navi.Component.DataWindow开发手册(含示例)

1概述 1.1功能简介 Sybase公司的PowerBuilder开发工具,在以前VS工具没有成事以前,是相当风光的.微软都要与其合作,学习它Db方面的技术,才成就了SQLServer数据库.PB开发工具的风光得益于它非常强大的数据窗口功能,这个技术的使用,使得开发管理类软件,尤其是开发数据库管理类软件变得异常简单,与使用VS.NET开发同一软件相比较,其开发周期可以缩短至三分之一,只是随着Sybase的没落,技术更新不及时,使得PB开发工具逐渐被遗忘在时间的长河中,很少被人提及和记起.但数据窗

Navi.Component.工作流操作手册

1.概述 1.1组件简介 随着互联网发展越来越快,越来越多的办公,由纸制开始向电脑发展.而以前通过纸制的单据,也逐步搬到了电脑上,由计算机软件操作完成.由于某些流程不能由单人完成,必须由多个人协作完成,工作流组件由此而生. 工作流组件用于解决由多人协作,办理时间无法确定的流程.如OA系统中的发文和收文流程,即是工作流组件典型的应用 1.2应用场景 基于工作流组件的系统,如OA办公自动化系统,审批系统等.本组件特别针对中国大陆政府机构的OA,审批系统所开发 1.3面向对象 Net程序开发员 1.4

Navi.Soft20.WebMVC4操作手册(含EasyUI组件源码)

阅读导航 Navi.Soft20.WebForm操作手册http://www.cnblogs.com/xiyang1011/p/4049711.html Navi.Soft20.WinForm操作手册http://www.cnblogs.com/xiyang1011/p/3972118.html Navi.Component.工作流开发手册(含示例)http://www.cnblogs.com/xiyang1011/p/3820038.html Navi.Component.DataWindow

阿里Java开发手册之编程规约

阿里Java开发手册之编程规约 对于程序员来说,编程规范可以养成良好的编程习惯,提高代码质量,降低沟通成本.就在2月9号,阿里出了一份Java开发手册(正式版),分为编程规约,异常日志,MySQL规约,工程规约,安全规约五个章节.这里我根据阿里的编程规约,重点记录(黑色加粗部分)自己还未做好的一些规范,同时方便查阅. ++阿里Java开发手册下载地址++ 编程规约 一.命名规约 [强制]代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束. 反例: _name / __name

Navi.Soft20.WinCE使用手册

1.概述 1.1应用场景 随着物联网的普及,越来越多的制造商对货品从原料配备,加工生产,销售出库等环节的要求和把控越来越高.在此情况之下,传统的ERP软件已经无法满足现有的流程. 移动设备的应用,在很大程度上弥补了传统ERP软件的不足,在物联网中,也起着非常重要的角色. 移动设备目前包括微软WinCE系统,谷歌的Android系统和苹果的IOS系统.Android和IOS系统目前在个人消费领域应用非常广泛,但在应用软件领域目前使用不多.WinCE系统出道较早,也属于名门之后.在此系统中开发的应用

阿里巴巴 Java 开发手册 1.4.0

一.编程规约(一) 命名风格1. [强制]代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束.反例: _name / __name / $name / name_ / name$ / name__2. [强制]代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式.说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义.注意,即使纯拼音命名方式也要避免采用.正例: alibaba / taobao / youku / hangzhou 等国际通用的名称,可视同

阿里巴巴Java开发手册———个人追加的见解和补充(一)

先上干货,<阿里巴巴Java开发手册>的下载地址 https://yq.aliyun.com/articles/69327?spm=5176.100239.blogcont69327.158.xUUgiz 下面分几个部分对这个手册进行说明,都是个人的见解,本人技术一般,如果有错误或者不妥,请评论指出,虚心接受,提前感谢了. 建议边看手册,边食用以下说明,效果比较好. 前言 首先当我第一次看见这个的手册的时候或许和和你们是一样激动的,因为在java行业内我还没有看见有中文的规范,也可能是我读书少

SharePoint 2013 状态机工作流之日常报销示例

原文:SharePoint 2013 状态机工作流之日常报销示例 简单介绍下状态机工作流,状态机工作流提供了一系列的状态.工作流从初始状态开始,到终止状态结束.两个状态之间定义行为进行过渡.通常情况下,状态机工作流对事件作出反应,事件的发生将会使状态发生改变. 1.新建项目,选择SharePoint解决方案,创建空项目: 2.选择调试站点,部署为场解决方案,如下图: 3.添加新项,选择“Office/SharePoint”下面的“状态机工作流(仅场解决方案)”: 4.选择列表工作流,修改工作流名

C语言函数大全 chm含示例

C语言函数大全chm版,里面的一些代码者是语法着色的,看着很舒服,这个函数大全以a-z的字母顺序列出了所有C语言中的函数用法.代码示例,如果你对C语言编程感兴趣,那么这本函数手册绝对不可以错过的. 下载地址:点击下载 C语言函数大全 chm含示例