Camunda大杂烩(三:会签)

会签

根据我们画的图,在用户提交节点,branch==2时,会到达“二级领导审批”的会签节点:

 

 

 会签节点详情(这边没填completion condition,导致必须串行审批人全部审批结束才能继续往下走,相当于无法一人拒绝就退回):

 

 

 

 

 

 开启流程

我们先正常开启一个流程,获取到流程号为:a5908a6a-d1bd-11ec-8f83-a4b1c191e7b9

 进入会签

完成用户提交任务,branch==2,且处理审批人列表字段approverList

{
  "map": {"branch":2,"approverList":["demo1","demo2"]},
  "taskId": "a590b17e-d1bd-11ec-8f83-a4b1c191e7b9"
}

通过后台或者对应接口可以看到,当前审批人approver为demo1,未到达/已处理/总人数分别为1/0/2:

 此处新增一个方法,根据taskId获取任务下的全部variables:

复制代码
    /**
     * 获取所有参数
     * @param taskId 任务Id
     * @return 参数信息
     */
    @Override
    public Map<String, Object> getVariables(String taskId) {
        return taskService.getVariables(taskId);
    }
复制代码

 

会签操作

由于我这里没有做任务对应人员的处理,因此会签就是一个逐步taskComplate的过程,再执行一次taskComplete后,可以发现当前处理人变成了demo2,也就是最后一个需要进行处理的人:

 

 由于继续往下走又需要传branch参数,因此demo2用户再执行一次taskComplete即可完成这个流程:

{
  "map": {"branch":0},
  "taskId": "30ead6f6-d1c2-11ec-b082-a4b1c191e7b9"
}

执行后发现,本流程已经完结

总结:

会签流程并不复杂,只是画图的时候需要设置对应的审批人列表,实际业务中可能在代码里处理对应的审批人即可,流程的流转依然是taskService.complete()

posted @   糖醋小灰  阅读(1859)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示