package cn.iocoder.yudao.module.bpm.service.definition;
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.autoapprove.BpmProcessAutoApproveConfigPageReqVO;
|
import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.autoapprove.BpmProcessAutoApproveConfigSaveReqVO;
|
import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessAutoApproveConfigDO;
|
import jakarta.validation.Valid;
|
|
import java.util.List;
|
|
/**
|
* BPM 流程免审批配置 Service 接口
|
*
|
* @author 超级管理员
|
*/
|
public interface BpmProcessAutoApproveService {
|
|
/**
|
* 全局总开关在上述配置表中占用的流程 Key
|
*
|
* 该 Key 不对应任何真实流程,仅作为「所有流程一律免审批」的总闸标记
|
*/
|
String GLOBAL_KEY = "*";
|
|
/**
|
* 判断指定流程是否开启了免审批
|
*
|
* 判定顺序:全局总开关优先,其次看该流程自己的开关。
|
*
|
* 注意:本方法只回答「开关是否打开」,不判断流程是否已部署。
|
* 流程未部署时,创建流程实例阶段就会抛出 PROCESS_DEFINITION_NOT_EXISTS,走不到本方法。
|
*
|
* @param processDefinitionKey 流程定义的 Key
|
* @return 是否免审批
|
*/
|
boolean isAutoApprove(String processDefinitionKey);
|
|
/**
|
* 是否开启了全局免审批总开关
|
*
|
* @return 是否开启
|
*/
|
boolean isGlobalAutoApprove();
|
|
/**
|
* 设置全局免审批总开关
|
*
|
* 开启后所有流程一律免审批(优先于各流程自己的开关);
|
* 关闭后恢复为按各流程自己的开关判定。
|
*
|
* @param autoApprove 是否开启
|
* @param remark 备注
|
*/
|
void updateGlobalAutoApprove(Boolean autoApprove, String remark);
|
|
/**
|
* 按流程定义的 Key 设置免审批开关(不存在则新增,存在则更新)
|
*
|
* 供「流程模型」列表的行内开关直接调用,无需先查询配置编号。
|
*
|
* @param processDefinitionKey 流程定义的 Key
|
* @param autoApprove 是否免审批
|
* @param remark 备注
|
*/
|
void updateAutoApproveByKey(String processDefinitionKey, Boolean autoApprove, String remark);
|
|
/**
|
* 获得全部免审批配置
|
*
|
* 供前端一次性拉取「流程 Key -> 是否免审批」的映射关系
|
*
|
* @return 配置列表
|
*/
|
List<BpmProcessAutoApproveConfigDO> getConfigList();
|
|
/**
|
* 获得免审批配置分页
|
*
|
* @param pageReqVO 分页查询
|
* @return 配置分页
|
*/
|
PageResult<BpmProcessAutoApproveConfigDO> getConfigPage(BpmProcessAutoApproveConfigPageReqVO pageReqVO);
|
|
/**
|
* 创建免审批配置
|
*
|
* @param createReqVO 创建信息
|
* @return 编号
|
*/
|
Long createConfig(@Valid BpmProcessAutoApproveConfigSaveReqVO createReqVO);
|
|
/**
|
* 更新免审批配置
|
*
|
* @param updateReqVO 更新信息
|
*/
|
void updateConfig(@Valid BpmProcessAutoApproveConfigSaveReqVO updateReqVO);
|
|
/**
|
* 删除免审批配置
|
*
|
* @param id 编号
|
*/
|
void deleteConfig(Long id);
|
|
}
|