类 WorkflowProcessDefinitionService


  • @Service
    @DependsOn("repositoryService")
    public class WorkflowProcessDefinitionService
    extends Object
    作者:
    qinman, zhangchongjie
    Date:
    2022/12/30
    • 构造器详细资料

      • WorkflowProcessDefinitionService

        public WorkflowProcessDefinitionService()
    • 方法详细资料

      • findProcessDefinition

        public org.flowable.engine.impl.persistence.entity.ProcessDefinitionEntity findProcessDefinition​(String processDefinitionId)
        根据processDefinitionId(例如:luohufawen:10:2494)获取流程定义
        参数:
        processDefinitionId - 流程定义Id(例如:luohufawen:10:2494)
        返回:
        ProcessDefinitionEntity
      • findProcessDefinitionByPid

        public org.flowable.engine.impl.persistence.entity.ProcessDefinitionEntity findProcessDefinitionByPid​(String processInstanceId)
        根据流程实例ID查询流程定义对象ProcessDefinition
        参数:
        processInstanceId - 流程实例ID
        返回:
        流程定义对象ProcessDefinition
      • getActivityImpls

        public List<org.flowable.bpmn.model.FlowElement> getActivityImpls​(org.flowable.bpmn.model.BpmnModel bpmnModel)
        获取ActivityImpl的list
        参数:
        bpmnModel -
        返回:
      • getActivityImpls

        public List<org.flowable.bpmn.model.FlowElement> getActivityImpls​(String processDefinitionId)
        获取ActivityImpl的list
        参数:
        processDefinitionId - 流程定义Id
        返回:
      • getActivityProperties

        public Map<String,​String> getActivityProperties​(List<org.flowable.bpmn.model.FlowElement> activities,
                                                              String activityId,
                                                              List<String> propertiesNameList)
        参数:
        activities - 流程定义中的任务节点List
        activityId - 任务节点Id(例如 outerflow)
        propertiesNameList - 指定要获取的属性的列表
        返回:
      • getActivityProperties

        public Map<String,​String> getActivityProperties​(String processDefinitionId,
                                                              String activityId,
                                                              List<String> propertiesNameList)
        获取某节点的指定属性
        参数:
        processDefinitionId - 流程定义ID
        activityId - 任务节点Id(例如 outerflow)
        propertiesNameList - 指定要获取的属性的列表
        返回:
      • getActivityProperty

        public String getActivityProperty​(String processDefinitionId,
                                          String activityId,
                                          String propertyName)
        根据processDefinition获取某一节点的属性
        参数:
        processDefinitionId - 流程定义ID
        activityId - 任务节点Id(例如 outerflow)
        propertyName - 指定要获取的属性的列表
        返回:
      • getBpmList

        public List<Map<String,​Object>> getBpmList​(String processDefinitionId,
                                                         Boolean isFilter)
        获取任务节点信息和流程定义信息
        参数:
        processDefinitionId -
        isFilter - 是否过滤掉开始节点和结束节点
        返回:
      • getBpmListContainStart

        public List<Map<String,​Object>> getBpmListContainStart​(String processDefinitionId)
        获取任务节点信息和流程定义信息,包含开始节点
        参数:
        processDefinitionId -
        返回:
      • getFilteredActivityImpls

        public List<org.flowable.bpmn.model.FlowElement> getFilteredActivityImpls​(org.flowable.bpmn.model.BpmnModel bpmnModel)
        获取过滤过的ActivityImpl的list,过滤掉GateWay类型节点
        参数:
        bpmnModel -
        返回:
      • getFilteredActivityImpls

        public List<org.flowable.bpmn.model.FlowElement> getFilteredActivityImpls​(String processDefinitionId)
        获取过滤过的ActivityImpl的list,过滤掉GateWay类型节点
        参数:
        processDefinitionId -
        返回:
      • getFilteredActivityImpls

        public List<org.flowable.bpmn.model.FlowElement> getFilteredActivityImpls​(String processDefinitionId,
                                                                                  List<String> filterList)
        获取过滤过的ActivityImpl的list,过滤掉GateWay类型节点,同时过滤掉filterList内包含的类型节点
        参数:
        processDefinitionId -
        返回:
      • getLatestProcessDefinition

        public org.flowable.engine.repository.ProcessDefinition getLatestProcessDefinition​(String processDefinitionKey)
        查询最新的流程定义
        参数:
        processDefinitionKey - 流程定义Key,例如luohubanwen
        返回:
      • getLatestProcessDefinitionId

        public String getLatestProcessDefinitionId​(String processDefinitionKey)
        查询最新的流程定义对应的Id
        参数:
        processDefinitionKey - 流程定义Key,例如luohubanwen
        返回:
      • getMultiinstanceType

        public String getMultiinstanceType​(String processDefinitionId,
                                           String activityId)
                                    throws Exception
        判断当前节点是并行还是串行,得到当前节点的multiInstance
        参数:
        processDefinitionId - 流程定义ID
        activityId - 任务节点Id(例如 outerflow)
        返回:
        PARALLEL表示并行,SEQUENTIAL表示串行
        抛出:
        Exception
      • getNodeName

        public List<String> getNodeName​(String processDefinitionId,
                                        String nodeType)
        根据processDefinitionId获取节点类型nodeType对应的节点名称
        参数:
        processDefinitionId - 流程定义Id
        nodeType - 节点类型,例如userTask、startEvent、endEvent等
        返回:
      • getProcessDefinitionIds

        public List<String> getProcessDefinitionIds​(String processDefinitionKey)
        获取指定processDefinitionKey的所有历史流程定义Id
        参数:
        processDefinitionKey -
        返回:
      • getProcessDefinitions

        public List<org.flowable.engine.repository.ProcessDefinition> getProcessDefinitions​(String processDefinitionKey)
        获取指定processDefinitionKey的所有历史流程定义
        参数:
        processDefinitionKey - 流程定义Key,例如luohubanwen
        返回:
      • getProcessDefinitionVersions

        public List<Integer> getProcessDefinitionVersions​(String processDefinitionKey)
        获取指定流程定义的所有版本号
        参数:
        processDefinitionKey - 流程定义Key,例如luohubanwen
        返回:
      • getStartActivityImplByProcessDefinitionKey

        public String getStartActivityImplByProcessDefinitionKey​(String processDefinitionKey)
        根据流程定义processDefinitionKey获取当前流程的启动节点Id
        参数:
        processDefinitionKey -
        返回:
      • getStartTaskDefinitionKey

        public String getStartTaskDefinitionKey​(String processDefinitionId)
        获取开始节点的taskDefinitionKey
        参数:
        processDefinitionId - 流程定义Id,例如luohubanwen:1:8
        返回:
      • procDefIdMap

        public Map<String,​String> procDefIdMap()
        Description: 获取流程定义Id
        返回:
      • redeploy

        public void redeploy​(String... processKeys)
                      throws Exception
        重新部署流程定义
        参数:
        processKeys - 流程定义KEY
        抛出:
        Exception