对于人工任务处理其实就是一些命令的执行,任务退回是一个很常见的操作,很多时候任务执行到下一个人工任务节点时可能由于某种情况需要退回重新处理,例如:审批环节如果审批不通过那么就需要退回到指定人进行重处理等等。
针对Foxbpm提供了4个任务退回命令“退回-后台指定步骤-重新分配”、“退回-指定步骤-自动最近处理者”、“退回-指定步骤-指定处理者”、“退回-上一步”,这些命令基本上涵盖了所有应用场景。
下面就这些退回命令进行介绍以及比较。
1、退回-指定步骤-重新分配
描述:退回到前台用户选择的一个节点,任务重新分配处理者。
参数:该命令需要接受一个rollBackNodeId(退回节点号)。
功能:该命令执行时会根据rollBackNodeId获取退回节点,并将流程推向指定的节点。
a:普通退回
如图:
例如:C任务退回到B节点,此时B节点上的任务会重新分配
b:分支退回
如图:
例如:以上C和D任务任意一个退回B任务,那么此时C和D此时都会结束,以及F任务退回到B任务时同样会结束C任务。
注意:分支退回一般是用在“并行网关”并且进出类型为“分散”,E任务不能退回到子任务F、D、C上,因为在E任务执行回退,因为退回时只能退回父令牌走过的节点(不包括子令牌)。
c:多实例退回
如图:
例如:C任务时一个多实例任务,此时C上退回B任务,此时会结束C任务上所有任务。
注意:这里多实例退回比较特殊,需要在完成表达式中处理任务结束逻辑(需要用变量控制,同时在退回命令表达式中进行操作)否则不会结束多实例任务的。
一般不建议使用多实例退回,因为它太“无情”,一般在使用多实例的时候,只要其中部分任务同意那么整个任务就通过,此时如果只有其中一个人使用该命令那么整个任务都结束不符合实际场景。
2:退回-指定步骤-自动最近处理者
描述:在后台设计器端指定一个节点,用户点击了之后退回这个事先设置好的节点,会自动计算这个节点最近一步处理者分配给他。
参数:该命令需要接受一个rollBackNodeId(退回节点号)。
功能描述:该命令执行时回根据rollBackNodeId查询出指定节点最后一次完成的任务,以及根据rollBackNodeId查询退回节点,并将流程推向退回节点,这里如果退回节点时多是任务那么就直接退回,否则就指定最后完成任务者为处理者。
如图:
例如:C任务到B任务,B任务执行“退回-后台指定步骤-重新分配”命令回退到C,C任务再到B,B执行“退回-指定步骤-自动最近处理者”,那么此时C任务就直接给最后一次处理任务的处理者。
3:退回-指定步骤-指定处理者
描述:退回到前台用户指定的节点和处理者。
参数:该命令需要接受一个rollBackNodeId(退回节点号)和rollBackAssignee(退回的指定处理者)。
功能描述:该命令,首先会构造一个令牌集合(子令牌(子任务)和父令牌)查找当前已经完成的任务并且取最后一条任务,根据任务ID或取任务退回的节点,
最后判断该任务如果是会签任务那么就直接推送任务到该节点,否则就推送任务到该节点并分配任务的处理者为最后任务的处理者。
如图:
例如:B任务退回到C任务时,自动指定将rollBackAssignee作为C任务的处理者。
注意:该命令不能退回到多实例任务节点上。
4:退回-上一步
描述:自动计算并退回到流程的上一步骤,任务处理者为上一步骤的处理者。
功能描述:该命令,首先会构造一个令牌集合(子令牌(子任务)和父令牌)查找当前已经完成的任务并且取最后一条任务,根据任务ID或取任务退回的节点,
最后判断该任务如果是会签任务那么就直接推送任务到该节点,否则就推送任务到该节点并分配任务的处理者为最后任务的处理者。
说明:该命令可以不需要指定参数。
如图:
例如:B任务直接退回C,并且处理者还是C任务的处理者。
以上4个退回命令大致步骤可以分为退回----》节点----》重新分配或指定处理者
下面就以上退回命令分别作比较,以便了解其差异和使用。
“退回-指定步骤-重新分配”、“退回-指定步骤-自动最近处理者”和“退回-指定步骤-指定处理者”相同点都是需要指定rollBackNodeId退回节点ID。
不同点:
1、任务分配上:“退回-指定步骤-重新分配”命令它的任务分配会触发执行选择器,“退回-指定步骤-自动最近处理者”命令任务分配是通过计算最近处理者,“退回-指定步骤-指定处理者”命令 任务分配上是直接指定处理者的。
2、对于任务回退到多实例任务上,“退回-指定步骤-重新分配”和“退回-指定步骤-自动最近处理者”都可以,但是“退回-指定步骤-指定处理者”该命令会抛异常
单独把 “退回-上一步”命令拿出来说是因为前面三个都需要指定“rollBackNodeId”退回节点 ,而该命令只能返回已走过的相邻节点(同是父令牌或子令牌),同时该命令支持退回多实例任务。
最后在实际场景下使用任务退回命令时需要注意以及几点:
1、任务不能回退到子任务(同是父令牌或子令牌的才可以);
2、任务不能退回到未完成任务上;
3、分支退回使用
4、多实例任务退回尽量避免使用
关于更多FoxBPM任务命令以及其他内容,请链接https://github.com/FoxBPM。
相关推荐
FoxBPM连接器详解 FoxBPM是一款开源的工作流管理系统,它为企业提供了强大的流程建模、执行和管理功能。在企业信息化建设中,流程管理扮演着至关重要的角色,而FoxBPM通过其丰富的连接器机制,能够灵活地与其他系统...
#分支介绍 develop 最新开发版 master 最新稳定版 release-* 发布分支为准备新的产品版本发布做支持 hotfix-* 当产品版本的重大bug需要立即解决的时候,我们从对应版本的标签创建出一个热补丁分支。 feature-* 特性...
FoxBPM(6.0版本开始fixflow改名为FoxBPM)是一款开源的基于BPMN2.0标准的工作流引擎,引擎底层直接支持BPMN2.0国际标准, 吸纳了 jBPM3 、 Activiti5、BonitaBPM 等国际开源流程引擎的精髓, 同时提供了强大的中国式流程...
ysoserial是一个用于生成利用不安全的Java对象反序列化的有效负载的概念验证工具。它包含一系列在常见Java库中发现的"gadget chains",可以在特定条件下利用执行不安全的反序列化操作的Java应用程序。ysoserial项目最初在2015年AppSecCali会议上提出,包含针对Apache Commons Collections(3.x和4.x版本)、Spring Beans/Core(4.x版本)和Groovy(2.3.x版本)的利用链
1、嵌入式物联网单片机项目开发例程,简单、方便、好用,节省开发时间。 2、代码使用IAR软件开发,当前在CC2530上运行,如果是其他型号芯片,请自行移植。 3、软件下载时,请注意接上硬件,并确认烧录器连接正常。 4、有偿指导v:wulianjishu666; 5、如果接入其他传感器,请查看账号发布的其他资料。 6、单片机与模块的接线,在代码当中均有定义,请自行对照。 7、若硬件有差异,请根据自身情况调整代码,程序仅供参考学习。 8、代码有注释说明,请耐心阅读。 9、例程具有一定专业性,非专业人士请谨慎操作。
YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;
**Oracle 10g DBA学习手册:安装Oracle和构建数据库** **目的:** 本章节旨在指导您完成Oracle数据库软件的安装和数据库的创建。您将通过Oracle Universal Installer (OUI)了解软件安装过程,并学习如何利用Database Configuration Assistant (DBCA)创建附加数据库。 **主题概览:** 1. 利用Oracle Universal Installer (OUI)安装软件 2. 利用Database Configuration Assistant (DBCA)创建数据库 **第2章:Oracle软件的安装与数据库构建** **Oracle Universal Installer (OUI)的运用:** Oracle Universal Installer (OUI)是一个图形用户界面(GUI)工具,它允许您查看、安装和卸载机器上的Oracle软件。通过OUI,您可以轻松地管理Oracle软件的安装和维护。 **安装步骤:** 以下是使用OUI安装Oracle软件并创建数据库的具体步骤:
消防验收过程服务--现场记录表.doc
数据库管理\09-10年第1学期数据库期末考试试卷A(改卷参考).doc。内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。
YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;
职业暴露后的处理流程.docx
Java Web开发短消息系统
项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 服务器:tomcat7
这是一款可以配置过滤目录及过滤的文件后缀的工具,并且支持多个项目同时输出导出,并过滤指定不需要导出的目录及文件后缀。 导出后将会保留原有的路径,并在新的文件夹中体现。
Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作
YOLO算法-挖掘机与火焰数据集-7735张图像带标签-挖掘机.zip
操作系统实验 Ucore lab5
IMG_5950.jpg
竞选报价评分表.docx
java系统,mysql、springboot等框架