package com.norteksoft.product.api; import java.util.List; import com.norteksoft.product.api.entity.WorkflowDefinition; import com.norteksoft.wf.engine.entity.WorkflowType; /** * 公开提供给用户使用的工作流定义api * @author wurong * */ public interface WorkflowDefinitionService { /** * 获取启用且版本最高的流程定义 * @param workflowDefinitionName 工作流定义名称 * @param companyId 公司id * @return 流程定义 */ public WorkflowDefinition getEnabledHighestVersionWorkflowDefinition(String workflowDefinitionCode); /** * 根据任务id获得流程定义的id. 如果对应的任务不存在,则返回null * @param taskId 任务id * @return 流程定义id */ public Long getWorkflowDefinitionIdByTask(Long taskId); /** * 用定义id查询流程定义 * @param workflowDefinitionId 定义id * @return 流程定义 */ public WorkflowDefinition getWorkflowDefinition(Long workflowDefinitionId); /** * 查询指定类型的已启用的流程定义 * @param typeNo 流程类型编号 * @return 流程定义集合 */ public List<WorkflowDefinition> getWorkflowDefinitionsByTypeCode(String typeNo); /** * 查询指定类型的已启用的流程定义 * @param workflowDefinitionCode 流程定义编号 * @return 流程定义集合 */ public List<WorkflowDefinition> getWorkflowDefinitionsByCode(String workflowDefinitionCode); /** * 根据流程定义编号和版本获得流程定义 * @param workflowDefinitionCode * @param workflowDefinitionVersion * @return */ public WorkflowDefinition getWorkflowDefinitionByCodeAndVersion(String workflowDefinitionCode,Integer workflowDefinitionVersion); /** * 获得是审批系统的流程类型 * @return */ public List<WorkflowType> getApproveSystemWorkflowTypes(); public List<WorkflowDefinition> getWorkflowDefinitionsByFormCodeAndVersion(String formCode,Integer version); /** * 根据流程名称模糊查询某类别下的流程 * @param companyId * @param typeId * @return */ public List<WorkflowDefinition> getWorkflowDefinitionsByName(String typeNo,String name); }