baoshiwei
2025-03-12 f1208474f771a1c233d7425c8ed13fbaa0d521ac
ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/WorkflowService.java
@@ -1,5 +1,9 @@
package org.dromara.common.core.service;
import org.dromara.common.core.domain.dto.CompleteTaskDTO;
import org.dromara.common.core.domain.dto.StartProcessDTO;
import org.dromara.common.core.domain.dto.StartProcessReturnDTO;
import java.util.List;
import java.util.Map;
@@ -13,64 +17,70 @@
    /**
     * 运行中的实例 删除程实例,删除历史记录,删除业务与流程关联信息
     *
     * @param businessKeys 业务id
     * @param businessIds 业务id
     * @return 结果
     */
    boolean deleteRunAndHisInstance(List<String> businessKeys);
    boolean deleteInstance(List<Long> businessIds);
    /**
     * 获取当前流程状态
     *
     * @param taskId 任务id
     * @return 状态
     */
    String getBusinessStatusByTaskId(String taskId);
    String getBusinessStatusByTaskId(Long taskId);
    /**
     * 获取当前流程状态
     *
     * @param businessKey 业务id
     * @param businessId 业务id
     * @return 状态
     */
    String getBusinessStatus(String businessKey);
    String getBusinessStatus(String businessId);
    /**
     * 设置流程变量(全局变量)
     * 设置流程变量
     *
     * @param taskId       任务id
     * @param variableName 变量名称
     * @param value        变量值
     * @param instanceId 流程实例id
     * @param variable   流程变量
     */
    void setVariable(String taskId, String variableName, Object value);
    void setVariable(Long instanceId, Map<String, Object> variable);
    /**
     * 设置流程变量(全局变量)
     * 获取流程变量
     *
     * @param taskId    任务id
     * @param variables 流程变量
     * @param instanceId 流程实例id
     */
    void setVariables(String taskId, Map<String, Object> variables);
    /**
     * 设置流程变量(本地变量,非全局变量)
     *
     * @param taskId       任务id
     * @param variableName 变量名称
     * @param value        变量值
     */
    void setVariableLocal(String taskId, String variableName, Object value);
    /**
     * 设置流程变量(本地变量,非全局变量)
     *
     * @param taskId    任务id
     * @param variables 流程变量
     */
    void setVariablesLocal(String taskId, Map<String, Object> variables);
    Map<String, Object> instanceVariable(Long instanceId);
    /**
     * 按照业务id查询流程实例id
     *
     * @param businessKey 业务id
     * @param businessId 业务id
     * @return 结果
     */
    String getInstanceIdByBusinessKey(String businessKey);
    Long getInstanceIdByBusinessId(String businessId);
    /**
     * 新增租户流程定义
     *
     * @param tenantId 租户id
     */
    void syncDef(String tenantId);
    /**
     * 启动流程
     *
     * @param startProcess 参数
     * @return 结果
     */
    StartProcessReturnDTO startWorkFlow(StartProcessDTO startProcess);
    /**
     * 办理任务
     *
     * @param completeTask 参数
     * @return 结果
     */
    boolean completeTask(CompleteTaskDTO completeTask);
}