• 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 是内置变量,无需声明。

     
  • 相关阅读:
    ios---图片缩放
    ios---清除缓存
    ReactNative---组件种类
    Linux 用户和用户组管理
    Linux 文件与目录管理
    linux文件的基本属性
    xshell 快速复制打开之前用过的ssh
    ll 和 ls -l的详解
    laravel rbac的用户 角色 权限的crud
    laravel 中的rbac自己简单的实现
  • 原文地址:https://www.cnblogs.com/hanjun0612/p/16566217.html
Copyright © 2020-2023  润新知