流程图的会签、或签、转审、加签、一票否决实现
参考了这篇博客,针对这篇博客做一些补充,记录一下。
1.加签
加签的代码如下:
/** * @Description: 加签 * @param taskId 任务id * @param userId 加签到谁 * @return: com.ruoyi.common.core.domain.AjaxResult * @Author: 小邪123 * @Date: 2022/5/13 11:05 */ @GetMapping("/addSign/{taskId}/{userId}") @ApiOperation("加签") public AjaxResult addSign(@PathVariable String taskId, @PathVariable String userId){ taskService.delegateTask(taskId,userId); return AjaxResult.success("加签成功,加签到"+userId); }
例如加签到了“张三”名下,当张三完成任务时,调用的必须是resolveTask方法,而不是complete方法。 代码如下:
taskService.resolveTask(taskId);
2.一票否决权
工作流中自带了三个变量,供给我们使用: nrOfInstances:总实例数,Collection中的数量。 nrOfCompletedInstances:已经完成的实例数。 nrOfActiveInstances:还没有完成的实例数。
会签一票否决表达式
${ (pass == no)||(nrOfCompletedInstances/nrOfInstances==1)}
这里的pass指的是我们自定义的流程变量。