工作流插件介绍
1 简介
1.1 功能介绍
在流程设计时,如果标准的设置不满足需求,可以给工作流增加扩展插件来实现更加复杂的业务逻辑,工作流的插件场景主要集中在参与人、条件规则、流程控制、节点控制、自动节点。
插件支持多种扩展方式,支持Java扩展、Javascript脚本扩展、实体操作扩展等,在不同的场景下支持不同的扩展方式:
参与人插件:只支持Java扩展,javaScript脚本扩展,只能定义一个;
条件规则扩展:只支持Java扩展,javaScript脚本扩展,只能定义一个;
流程控制扩展:可执行Java扩展,javaScript脚本扩展和实体操作,可执行多个业务扩展插件;
节点控制扩展:可执行Java扩展,javaScript脚本和实体操作扩展,可执行多个业务扩展插件;
1) 节点有多种进入方式,正常进入,驳回进入、跳转进入和计算参与人时,可在不同的细分进入方式时执行不同的插件,比如在驳回时,修改单据状态为审核不通过;
2) 节点离开时:离开节点时执行某个业务逻辑,如果选择【离开节点时】执行,任意决策项都会执行该插件;
3) 任务处理时执行:可以根据决策项来定义离开时要执行的业务插件,比如在审核通过后执行什么业务插件,在审核不通过后执行什么业务插件;
4) 节点记录格式化插件:插件可修改当前节点流转记录描述的文字内容,如添加处理人职位等,在审批记录组件、查看流转图等显示修改的流转记录;工作流将原始信息传递给插件,插件返回修改结果。
自动节点:可执行Java扩展,javaScript脚本扩展和实体操作,可执行多个业务扩展插件。
注意:自BOS_V5.0.002起,javaScript脚本形式插件支持传递插件参数。详见:流程插件支持参数列表
1.2 应用场景
流程运行中,需要改变单据状态。
例如:会审驳回至人工节点,此过程调用撤销操作,把单据状态从“已提交”变为“暂存”;用户在消息中心-已办任务列表(或单据中撤回按钮)中撤回刚刚的撤销操作,任务从人工节点又回到会审节点,此过程调用“已提交”操作,状态从“暂存”变为“已提交”。
工作流服务只负责调用单据中的“操作”,“操作”内容由单据决定;单据的状态有一定的逻辑控制,如果插件的调用逻辑与单据状态逻辑有冲突(eg:一级审批和会审节点都在同意时调用审核通过操作,但单据状态是审核通过时不允许再一次转变为审核通过),会导致插件执行失败,流转日志报“业务逻辑错误”。
1.3 系统路径
【流程服务云】→【工作流服务】→【设计中心/管理中心】→【流程设计/流程管理】→【流程控制】→【流程插件】
或
【流程服务云】→【工作流服务】→【设计中心/管理中心】→【流程设计/流程管理】→【人工/审批/会审设置】→【插件】
2 主要插件
2.1 工作流插件-Java插件
流程中所有的Java插件都需要实现IWorkflowPlugin接口,可以根据不同的场景调用不同的接口。插件接口中传递的参数AgentExcution为流程执行时的执行实例对象,从其中可以获取到以下信息:
getBusinessKey: 获取当前处理的单据ID;
getEntityNumber:获取当前处理的单据实体编码;
getCurrentTaskId:获取当前工作流任务ID,自动节点、跳过节点等不会产生任务;
getProcessDefinitionId:当前单据启动的流程ID;
getProcessInstanceId: 当前单据所启动的流程实例ID;
getCurrentFlowElement: 当前节点信息,可以获取节点id,编码,名称,某个属性的值;
getVariable:获取某个流程变量的值;
setVariable:设置某个流程变量的值 ;
getCurrentTaskResult:获取当前任务的执行结果,可以获取到决策项编码、名称、类型和审批意见;
getStartUserId:流程发起人ID。
2.2 工作流插件-脚本插件
流程中所有的脚本插件和Java插件类似,实现的方法和传递的参数也类似。
getBusinessKey: 获取当前处理的单据ID;
getEntityNumber:获取当前处理的单据实体编码;
getCurrentTaskId:获取当前工作流任务ID,自动节点、跳过节点等不会产生任务;
getProcessDefinitionId:当前单据启动的流程ID;
getProcessInstanceId: 当前单据所启动的流程实例ID;
getCurrentFlowElement: 当前节点信息,可以获取节点id,编码,名称,某个属性的值;
getVariable:获取某个流程变量的值;
setVariable:设置某个流程变量的值;
getCurrentTaskResult:获取当前任务的执行结果,可以获取到决策项编码、名称、类型和审批意见;
getStartUserId:流程发起人ID。
2.3 工作流插件-操作
流程中的插件也可以执行单据上的某个操作,对于自动执行节点和进入、离开节点的插件除了需要设置正向执行的插件之外,也需要设置当撤回时执行的撤回插件。
工作流插件介绍
本文2024-09-23 00:55:07发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-142585.html