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 是內置變量,無需聲明。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章