纯个人大白话--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);
相关推荐
薛定谔的悦4 小时前
MQTT通信协议业务层实现的完整开发流程
java·后端·mqtt·struts
enjoy嚣士4 小时前
springboot之Exel工具类
java·spring boot·后端·easyexcel·excel工具类
无限大65 小时前
职场逻辑03:3步搞定高效汇报,让领导看到你的价值
后端
盐水冰5 小时前
【烘焙坊项目】后端搭建(12) - 订单状态定时处理,来单提醒和顾客催单
java·后端·学习
紫丁香6 小时前
AutoGen详解一
后端·python·flask
小涛不学习6 小时前
Spring Boot 详解(从入门到原理)
java·spring boot·后端
Victor3567 小时前
MongoDB(51)什么是分片?
后端
Victor3567 小时前
MongoDB(50)副本集中的角色有哪些?
后端
IT_陈寒8 小时前
JavaScript开发者必看:5个让你的代码性能翻倍的隐藏技巧
前端·人工智能·后端
shengjk18 小时前
大数据工程师必看:为什么你的 IN 查询在 Flink/Spark 上慢到离谱?
后端