Class WorkflowTaskService


  • @Service
    @DependsOn({"runtimeService","repositoryService","historyService","taskService"})
    public class WorkflowTaskService
    extends Object
    Author:
    qinman, zhangchongjie
    Date:
    2022/12/30
    • Constructor Detail

      • WorkflowTaskService

        public WorkflowTaskService()
    • Method Detail

      • getActiveTaskDefinitionKeys

        public List<String> getActiveTaskDefinitionKeys​(String processInstanceId)
        获取当前运行的taskDefKey
      • getActivitiIdByTask

        public String getActivitiIdByTask​(Task task)
        Description: 根据当前的task获取当前活动节点的Id
        Parameters:
        task -
        Returns:
      • getActivitiIdByTaskId

        public String getActivitiIdByTaskId​(String taskId)
        Description: 根据当前的taskId获取当前活动节点的Id,例如outerflow
        Parameters:
        taskId -
        Returns:
      • getListTaskByCreateTime

        public List<Task> getListTaskByCreateTime​(Date createTime)
        根据创建时间,查找所有Task
        Parameters:
        createTime - 创建时间
        Returns:
      • getParallelTask

        public List<org.flowable.task.api.history.HistoricTaskInstance> getParallelTask​(String taskId)
        获取当前正在运行task并行的所有task
        Parameters:
        taskId - 当前正在运行的任务的Id
        Returns:
      • getPreviousTask

        public org.flowable.task.api.history.HistoricTaskInstance getPreviousTask​(String taskId)
        获取当前任务(task)的前一个任务(task),当前任务可以是正在运行的任务,也可以是历史任务 //@param processInstanceId 流程实例Id
      • getSendUserId

        public String getSendUserId​(org.flowable.task.api.history.HistoricTaskInstance historicTaskInstance)
        获取上一任务的发送人,这里之所以从上一步任务获取而不是从变量中的taskSenderId获取,是因为如果当前任务节点是并行串行, 那么就会找到上一发送人而不是上一任务的发送人
        Parameters:
        historicTaskInstance -
        Returns:
      • getSendUserId

        public String getSendUserId​(String taskId)
        获取上一任务的发送人,这里之所以从上一步任务获取而不是从变量中的taskSenderId获取,是因为如果当前任务节点是并行串行, 那么就会找到上一发送人而不是上一任务的发送人 //@param historicTaskInstance
        Returns:
      • getTaskByProcessInstanceId

        public List<Task> getTaskByProcessInstanceId​(String processInstanceId)
        根据流程实例Id查询所有任务
        Parameters:
        processInstanceId -
        Returns:
      • getTaskByProcessInstanceIdAndAssgness

        public Task getTaskByProcessInstanceIdAndAssgness​(String processInstanceId,
                                                          String assgness)
        Parameters:
        processInstanceId -
        assgness -
        Returns:
      • getTaskByTaskId

        public org.flowable.task.service.impl.persistence.entity.TaskEntity getTaskByTaskId​(String taskId)
        根据任务ID获得任务实例
        Parameters:
        taskId - 任务ID
        Returns:
        Throws:
        Exception
      • getTaskDefKey

        public String getTaskDefKey​(org.flowable.task.api.history.HistoricTaskInstance historicTaskInstance)
        获取上一任务节点的Key
        Parameters:
        historicTaskInstance -
        Returns:
      • getUserTaskCount

        public long getUserTaskCount​(String processInstanceId)
        查询经历过的用户类型节点(即userTask)的条数
      • isHandledParallel

        public int isHandledParallel​(String taskId)
        并行办理状态下是否有任务办理完成
        Parameters:
        taskId - 当前正在运行的任务的Id
        Returns:
        1表示存在,0表示不存在,-1表示错误
      • startProUser

        public String startProUser​(String processDefinitionId,
                                   String processInstanceId)
        获取流程启动人 //@param historicTaskInstance //@return
      • startTaskDefKey

        public String startTaskDefKey​(String processDefinitionId,
                                      String processInstanceId)
        获取流程启动节点taskDefKey
        Parameters:
        processDefinitionId -
        processInstanceId -
        Returns: