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 userId 用户编号 * @param reqDTO 创建信息 * @return 实例的编号 */ String createProcessInstance(Long userId, @Valid BpmProcessInstanceCreateReqDTO reqDTO); /** * 由流程发起人撤销运行中的流程实例。 * * @param userId 发起人用户编号 * @param processInstanceId 流程实例编号 * @param reason 撤销原因 */ void cancelProcessInstanceByStartUser(Long userId, String processInstanceId, String reason); }