纯个人大白话--flowable多实例加签与减签

1. 加签与减签的含义

对于flowable官方文档来说,并没有加签与减签的说法,这个东西其实是后来的开发人员说出来的。

谈谈我对于这个加签减签的理解:

加签:一种是多实例节点中添加新处理人、一种是委派(A委派给B处理,B处理完后回到A这,这再complete一次) 减签:多实例删除某些处理人。

2. 相关实现(极简版)

这里就不贴详细的代码了,只贴出来最主要的代码。

2.1 加签(多实例)

javascript 复制代码
String activityId = task.getTaskDefinitionKey();
Map<String, Object> executionVariables = new HashMap<>();
// 需要加签的处理人用户id,如果是多个,外面包个循环即可
executionVariables.put("assignee", "10");
// activityId:节点id;parentExecutionId:父执行id;executionVariables:执行参数
runtimeService.addMultiInstanceExecution(activityId, miExecution.getParentId(), executionVariables);

2.2 加签(委派)

css 复制代码
// A委派任务给B(newAssigneeId)
//ACT_RU_TASK 数据变化,owner -> A ,assignee A-> B ,DELEGATION_ 变更为 PENDING
taskService.delegateTask(taskId, newAssigneeId)


//B解决任务,B不能调用complete方法,因为拥有者不是B,而是A。
//ACT_RU_TASK 数据变化,owner -> A ,assignee A-> A ,DELEGATION_ 变更为 RESOLVED
taskService.resolveTask(taskId);

//A 完成任务,走到下一个节点
taskService.complete(taskId);

2.3 减签

arduino 复制代码
//原方法
deleteMultiInstanceExecution(String executionId, boolean executionIsCompleted)

runtimeService.deleteMultiInstanceExecution(task.getExecutionId(), false);
相关推荐
维克兜率天6 小时前
【维克】ARMA模型:AR与MA的完美结合
后端·restful
是未才7 小时前
从输入 URL 到页面返回:DNS、路由、TLS 与 HTTP 完整链路
java·后端·计算机网络
上海安当技术7 小时前
半天接入:USBKey RESTful API + C 动态库,Web 和 C/S 两套集成路径实战
前端·后端·restful·集成·usbkey
DevUI团队7 小时前
从“即兴创作”到“规格先行”,华为云码道(CodeArts)代码智能体持续深耕企业级规范驱动开发能力
前端·人工智能·后端
weixin_431600448 小时前
NestJS 入门(3):Guard 如何挡住未登录请求?
前端·后端·学习·nest.js
IT_陈寒9 小时前
JavaScript类型转换把我坑惨了,这破玩意真该早点搞明白
前端·人工智能·后端
用户9385156350710 小时前
手写一个 LLM Harness 框架:用工程化手段把大模型幻觉踩在脚下
javascript·人工智能·后端
wei_shuo10 小时前
KES 云原生部署与弹性扩展:容器化、Kubernetes编排与自动伸缩
后端
一木之林10 小时前
Python.五.(一)--1. 并发编程、异步IO与多进程
后端
feng尘11 小时前
# 彻底搞懂 ReentrantLock 与 tryLock:从秒杀实战到 AQS 独占模式源码剖析
后端