package cn.iocoder.yudao.module.bpm.api.task; import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO; import jakarta.validation.Valid; /** * 流程实例 Api 接口 * * @author 超级管理员 */ public interface BpmProcessInstanceApi { /** * 全局免审批是否开启。业务模块可在完成业务校验后直接执行审批通过逻辑,无需流程模型。 */ boolean isGlobalAutoApprove(); /** * 指定流程是否免审批。 * * 判定规则:全局总开关开启 → 一律免审批;否则看该流程自己的开关。 * 业务模块应优先用本方法判断,这样既能受全局开关统一控制, * 也能只对个别流程单独开启免审批(例如供应商准入不走协同审批)。 * * @param processDefinitionKey 流程定义 Key,如 supplier_apply_approve */ boolean isAutoApprove(String processDefinitionKey); /** * 创建流程实例(提供给内部) * * @param userId 用户编号 * @param reqDTO 创建信息 * @return 实例的编号 */ String createProcessInstance(Long userId, @Valid BpmProcessInstanceCreateReqDTO reqDTO); }