前言

本文的代码中没有对流程做任何特殊处理,用的都是流程本身的数据,因此可以通用,直接复制粘贴即可

方法不支持多对多跳转

回退不能够直接回退到子流程上,我这里按照只能回退到用户任务节点处理的

驳回可以直接驳回到子流程开始

可根据自己需要对代码进行调整

BUG 修复记录

  1. 2021.03.03:修复花的时间有点久,主要时间有限,而且太复杂了(改动比较大,改了很多地方,因此建议代码全替换)
    修复:网关节点驳回时,网关的活动节点数据也需驳回问题(坑爹)
    修复:基于上一点的修复,历史节点获取从原来的历史任务数据改为了历史活动数据获取,因此改动比较大
    修复:已经经过的路线改为浅拷贝数据,毕竟每个路线的数据都应该是单独的

支持场景

并行网关,高级网关,包容网关,会签,子流程

功能描述

驳回

参数:当前任务ID,驳回原因

直接根据历史数据,获取上个用户任务节点,进行跳转

退回

参数:当前任务ID,驳回的节点Key

回退只能回退到串行路线上
在这里插入图片描述

脏数据

什么是脏数据

如图,假如我从节点6回退到节点2,这时红框中的数据对于我们来说是一个历史记录,但是对于流程来说,这些数据是无意义的废弃数据
在这里插入图片描述

串行样例

在这里插入图片描述
在这里插入图片描述

并行样例

在这里插入图片描述
在这里插入图片描述

会签样例

在这里插入图片描述
在这里插入图片描述

脏数据清洗效果图

流程图
在这里插入图片描述
对应数据
在这里插入图片描述
清洗效果截图,由于没有循环,可以看到除了会签对应 3 条实例数据,其他节点清洗后都只有一个

sid-4FE193FF-E1E2-4F87-8424-2F00BCA9AFC5 是网关,没给它命名
在这里插入图片描述

完整代码

TackbackApiController.java

为了方便查看,代码我单独上传 gitee 了,包含驳回,回退,任务流程图查看,可驳回节点列表接口

效果图

在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐