Camunda 动态增加会签

Posted 正怒月神

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Camunda 动态增加会签相关的知识,希望对你有一定的参考价值。

先了解一下:会签,或签,加签是什么意思

会签:几个审批人,要全部同意

或签:几个审批人,只要有一个同意

加签:增加审批人

下面演示动态增加会签

一 流程图

我们只使用 审批1和审批2节点  演示

 

二 设置审批1

1 设置审批1位并行

2 填写右边 Multi-instance 和 User assignment

3 发布流程

 

三 代码接口

1 启动实例

在审批1种,设置了一个admin为审批人

ProcessDefinitionId 在Camunda界面上看一下。

@ApiOperation("启动实例")
    @GetMapping("/start1")
    public ResponseEntity start1(processDefinitionId,businessKey)
        //添加审批人
        Map<String,Object> map = new HashMap<>();
        //主管审批
        List<String> managerList = new ArrayList<>(4);
        managerList.add("admin");
        map.put("userList",managerList);

        //启动实例,添加业务key
        Execution execution = runtimeService.startProcessInstanceById(processDefinitionId,businessKey,map);
        return ResponseEntity.ok(execution.getProcessInstanceId());
    

2 新增一个会签

processInstanceId  在Camunda界面上看

activityId 这个需要在编辑器中查看审批1节点的activityId

@ApiOperation("新增一个实例,并设定开始节点")
    @GetMapping("/assignBefore")
    public ResponseEntity assignBefore(processInstanceId,activityId,user)

        runtimeService.createProcessInstanceModification(processInstanceId)
                .startBeforeActivity(activityId)
                .setVariable("user",user)
                .execute();

        return ResponseEntity.ok("ok");
    

 可以看到,已经新增了test审批。

四 或签

 或签的区别,其实和简单

只是在Multi-instance中增加 $nrOfCompletedInstances == 1  代表1人审核通过,就通过。

nrOfCompletedInstances 是内置变量,无需声明。

 

 

以上是关于Camunda 动态增加会签的主要内容,如果未能解决你的问题,请参考以下文章

基于camunda开源流程引擎如何实现会签及会签原理解析

基于camunda开源流程引擎如何实现会签及会签原理解析

第十四篇Camunda系列-多人会签多实例

第十四篇Camunda系列-多人会签多实例

Camunda 工作流并行子流程工作流会签或签加签比例签)

flowable会签结束,会签变量没有更新。bug