flowable会签结束,会签变量没有更新。bug
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flowable会签结束,会签变量没有更新。bug相关的知识,希望对你有一定的参考价值。
参考技术A flowable会签结束了,但是会签变量没有更新,这是一种bug,可能是因为网络延迟或者是系统的问题,所以才没有更新。 参考技术B 会签的意思是,在流程任务管理中,任务通常是由一个人或者多个人同时去处理的,这种任务叫做会签任务。类似于并行网关。2、会签类型
按数量通过:达到一定数量的处理后,会签通过
按比例通过:达到一定比例的处理后,会签通过
一票否决:只有一个人不同意时,会签通过
一票通过:只有一个同意时,会签通过
Flowable实现会签是基于多实例任务的,将节点设置成多实例,通过在userTask节点的属性配置。
3、多实例类型
可以选择并行会签(parallel)、顺序会签(sequential),其中并行会签的意思是 多个人同时执行任务。顺序会签是按顺序执行任务。
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 是内置变量,无需声明。
以上是关于flowable会签结束,会签变量没有更新。bug的主要内容,如果未能解决你的问题,请参考以下文章