Activiti7工作流引擎:进阶篇(十二) 加签和转签

article/2025/10/7 11:51:50

知识传送门 》》》》》》》》》》》》》》》》》》》


  1. 加签就是委派任务delegateTask,然后去解决任务resolveTask(并不是去真正的去完成任务)。
  2. 转签完成后才能完成任务complete

一:委派任务

A由于某些原因不能处理该任务可以把任务委派给用户B代理,当B决绝完之后再次回到用户A这里,然后由A去完成任务,在这个过程中A是任务的所有者OWNER_,B是该任务的办理人Assignee。A->B->A

应用场景:这事太大,我做不了主,我先问一下老大delegateTask,如果老大说可以resolveTask我就完成审批complete
在这里插入图片描述

委派:

  1. act_hi_identitylink和act_run_identitylink分别插入代理人的数据。
  2. act_hi_taskinst和act_hi_actinst分别将任务节点的负责人Assignee设置为代理人。
  3. act_ru_task设置OWNER_为原来的任务负责人,将ASSIGNEE_设置为代理人,将DELEGATION_状态改为pending委托状态。
@Test
public void testTaskDelegate() {TaskService taskService = ProcessEngines.getDefaultProcessEngine().getTaskService();Task task = ProcessEngines.getDefaultProcessEngine().getTaskService().createTaskQuery().processDefinitionKey("helloworld").taskAssignee("pm").singleResult();taskService.delegateTask(task.getId(), "pm2");
}

在这里插入图片描述

public enum DelegationState {PENDING,RESOLVED
}

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

二:解决任务

代理人在完成任务之前需要先resolveTask。

  • act_hi_taskinst和act_hi_actinst分别将任务节点的负责人Assignee设置为之前的owner_。
  • act_ru_task设置Assignee_设置为原来的owner_,将DELEGATION_改为RESOLVED解决委托。
@Test
public void testResolveTaskTask() {TaskService taskService = ProcessEngines.getDefaultProcessEngine().getTaskService();Task task = ProcessEngines.getDefaultProcessEngine().getTaskService().createTaskQuery().processDefinitionKey("helloworld").taskAssignee("pm2").singleResult();taskService.resolveTask(task.getId());// 委托人要想办理任务先要解决任务taskService.complete(task.getId());
}

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

三:转签

转签就是将任务的负责人直接设置为别人。即本来由自己办理,改为别人办理。

void setAssignee(String taskId, String userId);

知识传送门 》》》》》》》》》》》》》》》》》》》


http://chatgpt.dhexx.cn/article/rjUMRWhe.shtml

相关文章

必备基础:加签验签

必备基础:加签验签 1 密码学相关概念1.1 明文、密文、密钥、加密、解密1.2 对称加密、非对称加密1.3 什么是公钥私钥? 2 加签验签概念3 为什么需要加签验签4 常见加密相关算法简介4.1 消息摘要算法4.1.1 MD家族算法4.1.2 ShA家族算法4.1.3 MAC算法家族 4…

Flowable工作流之加签(委派)、转签(转办)

目录 1. 加签1.1. 向前加签1.2. 向后加签 2. 或签3. 委派和转办的区别2.1. 委派2.2. 转办 4. 向前加签4.1. 流程图4.2. 部署并启动4.3. 完成任务4.4. 向前加签实现4.4.1. 添加加签(委派)功能任务4.4.1. 加签(委派)任务的完成 5. 转…

加密、解密、加签、验签专题

首先明确几个名词: 加密:发送方利用接收方的公钥对要发送的明文进行加密。 解密:接受方利用自己的私钥进行解密。 公钥和私钥配对的,用公钥加密的文件,只有对应的私钥才能解密。当然也可以反过来,用私钥…

@ControllerAdvice 之 @InitBinder和@ModelAttribute

InitBinder 准备 InitBinder 在整个 HandlerAdapter 调用过程中所处的位置 收获💡 RequestMappingHandlerAdapter 初始化时会解析 ControllerAdvice 中的 InitBinder 方法(可以定义个性化数据转化器)RequestMappingHandlerAdapter 会以类…

SpringBoot @InitBinder注解实现Bean国际化校验

参考资料 参考: 妥当性チェックのエラーメッセージ出力方法 (需翻墙)springMVC之InitBinder的用法1springMVC之InitBinder的用法2springMVC之InitBinder 和 ValidatorSpring MVCにおけるフォームバリデーションの適用事例【後編】 目录 一. 前期准备1.1 自定义校验…

SpringMVC之@InitBinder注解(日期转换)

InitBinder注解的作用: springmvc并不是能对所有类型的参数进行绑定的,如果对日期Date类型参数进行绑定,就会报错IllegalStateException错误。所以需要注册一些类型绑定器用于对参数进行绑定。InitBinder注解就有这个作用。 程序代码示例&am…

initbinder对ajax不起作用,Spring MVC InitBinder验证方法

使用InitBinder做验证的情况一般会在此Controller中提交的数据需要有一些是业务性质的,也即比较复杂的验证情况下才会使用。大部份简单的表单验证,使用annotation验证即可以解决。 这里需要注意的一点:InitBinder和Annotation两种验证只能二选…

SpringMvc @InitBinder

这篇博客记录InitBinder怎么起作用、起什么作用? 首先,该注解被解析的时机,是该匹配Controller的请求执行映射的方法之前; 同时 InitBinder标注的方法执行是多次的,一次请求来就执行一次。 当某个Controller上的第一次请求由SpringMvc前端控制…

java培训之InitBinder注解

InitBinder注解【了解】 InitBinder由 InitBinder 标识的方法,可以对 WebDataBinder 对象进行初始化。WebDataBinder 是 DataBinder 的子类,用于完成由表单字段到 JavaBean 属性的绑定InitBinder方法不能有返回值,它必须声明为void。InitBin…

SpringBoot @InitBinder注解绑定请求参数

参考资料 springMVC之InitBinder 和 ValidatorspringMVC之InitBinder的用法1springMVC之InitBinder的用法2 目录 一. 作用二. 前期准备三. Get请求 URL传值处理3.1 前台-test16.html3.2 Controller层3.3 效果 四. Post请求 表单传值 自定义日期属性绑定器4.1 前台-test16.h…

详细分析@InitBinder注解的使用和原理

前言 由InitBinder注解修饰的方法用于初始化WebDataBinder对象,能够实现:从request获取到handler方法中由RequestParam注解或PathVariable注解修饰的参数后,假如获取到的参数类型与handler方法上的参数类型不匹配,此时可以使用初…

SpringMVC之@InitBinder注解详解

说明与作用 springmvc并不是能对所有类型的参数进行绑定的,如果对日期Date类型参数进行绑定,就会报错IllegalStateException错误。所以需要注册一些类型绑定器用于对参数进行绑定。InitBinder注解就有这个作用。 Controller public class InitBinderCo…

SpringMVC中的@InitBinder注解【记录】

一、Spring请求参数绑定流程: 1、请求参数绑定流程: 我们在开发的时候,经常会从html,jsp中将请求参数通过request对象传递到后台,可是经常会遇到这么一种情况,那就是传过来的数据到后台后,还要…

springMVC之@InitBinder的用法

目录 一、InitBinder的作用二、数据绑定器三、全局数据绑定器3.1. 方式一:ControllerAdvice3.2. 方式二:RequestMappingHandlerAdapter 四、自定义数据校验器五、参数类型转换器 一、InitBinder的作用 InitBinder从字面意思可以看出这个的作用是给Binder…

JAVA-Switch语句

1、完整的语法结构 该语句为选择分支语句,其语法结构为: switch (值){case:值1 java语句;break;case:值2 java语句;break;case:值3 java语句;break;……default:java语句; } 注意在该语法结构中,“值N"可以表示int型的或者S…

java中的常用语句

Java中的常用语句 一、Java中的语句由3大类的结构 1.顺序结构—自上而下一行一行的有序的执行 2.选择结构 (1)If语句结构 (2)Switch语句结构 3.循环结构 (1)For循环 (2)While循环 (3)Do{}while()循环 二、判断语句中if语句的表现方式和用法 1.if(){} 2.if(){}else{} 3.if(){}e…

4.java中的常见语句

1.顺序结构语句 写好的代码从上往下按照顺序一行一行的执行。 2.选择结构语句 根据判断结果有选择性的执行代码. 2.1 if语句 1.if(判断条件){需要执行的java代码} 首先执行判断条件,如果判断条件的结果为true,就执行“{}”中的java代码&#x…

java基本语法(史上最全)

java基本语法(史上最全) (一)关键字和保留字 关键字的定义和特点 定义:被java语言赋予了特殊含义,用作专门用途的字符串。 特点:关键字中所有字母都为小写。关键字不能用作变量名&#xff0…

Linux Makefile ifeq正确使用

今晚和昨晚捣鼓了很久ifeq,怎么也得不出正确结果。当时我是这么用ifeq的 all: ifeq("ad","cd") echo yes else echo no endif 得出的结果是: 后来经仔细对比发现要这样写 all: ifeq ("ad", "cd&q…

关于shiro

shiro ​ shiro处理的两个过程,一个是登录,这个过程完成后产生一个用户jwt,一个是访问接口时,通过jwt来完成验证的过程 登录逻辑: 访问接口逻辑: 认证(authentication)&#xff1a…