流程图的会签、或签、转审、加签、一票否决实现

参考了这篇博客,针对这篇博客做一些补充,记录一下。

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指的是我们自定义的流程变量。

经验分享 程序员 微信小程序 职场和发展