JeecgBoot集成flowable6.7.2实现加签减签

环境说明

flowable6.7.2

加签减签

在用户任务多实例的场景下, 经常需要进行加签操作。也就是加一个人进行审批操作。 也会有减签操作,就是删掉现有审批人员。

  • flowable 提供的加签API
String activityId = "CounterSign";
String processInstanceId = "40005";
Map<String, Object> executionVariables = new HashMap<>();
executionVariables.put("item", "baby");
runtimeService.addMultiInstanceExecution(activityId, processInstanceId, executionVariables);

经过测试,上述API在并行多实例是生效, 在串行多实例不生效。

  • flowable 提供的减签API
Task task = taskService.createTaskQuery().taskId("40028").singleResult();
String executionId = task.getExecutionId();
runtimeService.deleteMultiInstanceExecution(executionId, false);

经过测试,上述API在并行多实例是生效, 在串行多实例不生效。

初步得出结论,串行多实例是需要自己定义逻辑,而不能简单的用自有API

需求说明

在这里插入图片描述

在上面是串行多实例,我们以三国的组织结构为例,在申请节点是给将军提交申请,军师角色的用户在初审进行审批。现在的需求就是在初审环节,可以让用户进行加签减签操作。

在这里插入图片描述

在上面是并行多实例,我们以三国的组织结构为例,在申请节点是给将军提交申请,军师角色的用户在初审进行审批。现在的需求就是在初审环节,可以让用户进行加签减签操作。

演示效果

在这里插入图片描述

上述在初审节点,初始化设置诸葛亮,庞统进行审核。诸葛亮进行减签操作后即流转到刘备。JeecgFlow找到flowable进行体验

在这里插入图片描述

上述在初审节点,初始化设置诸葛亮,庞统进行审核。诸葛亮进行加签操作后, 看到了郭嘉有了审批权限了JeecgFlow找到flowable进行体验

### Jeecg-Boot 3.7 集成 Flowable 工作流引擎教程 #### 环境准备 为了顺利集成Flowable工作流引擎到Jeecg- JDK 版本为1.8[^1] - 使用的Jeecg-Boot版本应为3.7 - Flowable版本指定为6.7.2 此外,还需完成MySQL数据库以及IDEA开发工具的安装,并配置好Maven以支持项目的构建。 #### Maven依赖设置 在父POM文件中定义全局属性并引入必要的依赖项来兼容Flowable: ```xml <properties> <!-- flowable version --> <flowable.version>6.7.2</flowable.version> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>org.flowable</groupId> <artifactId>flowable-spring-boot-starter</artifactId> <version>${flowable.version}</version> </dependency> </dependencies> </dependencyManagement> ``` 对于具体的模块,则应在各自的`pom.xml`里声明对Spring Boot Starter的支持以及其他可能需要用到的功能组件,比如DMN或CMMN等扩展特性。 #### 应用程序配置 编辑application.yml文件Flowable有关的数据源和其他必要参数设定: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/your_database?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8 username: root password: your_password driver-class-name: com.mysql.cj.jdbc.Driver flowable: database-schema-update: true ``` 此部分配置使得应用程序能够自动更新模式至最新状态,简化了首次部署过程中的初始化操作[^3]。 #### 编写控制器进行测试 创建一个新的Controller用于验证整个流程是否正常运作。这一步骤可以通过发起HTTP请求触发特定事件从而检验系统响应情况。 ```java @RestController @RequestMapping("/process") public class ProcessTestController { @Autowired private RuntimeService runtimeService; @GetMapping("/start/{key}") public String startProcess(@PathVariable String key){ ProcessInstance pi = this.runtimeService.startProcessInstanceByKey(key); return "Started process instance id:" + pi.getId(); } } ``` 上述代码片段展示了如何利用RESTful API端点启动一个新实例的方法实现。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值