背景
- 在流程图上面配置了签收用户组(
act_id_group
),用户组有且只有一个用户
activiti
对于用户组,没有默认签收功能,即流程流转到下一个环节时,即使当前用户组只有一个用户,也需要签收。
- 将自动签收放到业务层,代码复杂度变高,且无法做到业务与流程引擎的完全解耦。
版本框架
springboot
版本:2.1.4.RELEASE
springboot
集成工作流版本:
<!-- 工作流基础依赖包 -->
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring-boot-starter-basic</artifactId>
<version>6.0.0</version>
</dependency>
解决方案
思路
- 采用
activiti
内部提供的后处理器(Behavior
)扩展点进行扩展
实现代码
package com.framework.activiti.behavior;
import org.activiti.bpmn.model.UserTask;
import org.activiti.engine.IdentityService;
import org.activiti.engine.TaskService;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.identity.User;
import org.activiti.engine.impl.bpmn.behavior.UserTaskActivityBehavior;
import org.activiti.engine.impl.el.ExpressionManager;
import org.activiti.engine.impl.persistence.entity.TaskEntity;
import org.act