package cn.iocoder.yudao.module.system.service.approval;
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.module.system.controller.admin.approval.vo.ApprovalConfigPageReqVO;
|
import cn.iocoder.yudao.module.system.controller.admin.approval.vo.ApprovalConfigRespVO;
|
import cn.iocoder.yudao.module.system.controller.admin.approval.vo.ApprovalConfigSaveReqVO;
|
import cn.iocoder.yudao.module.system.dal.dataobject.approval.ApprovalConfigDO;
|
|
import java.util.Set;
|
|
/**
|
* 通用审批配置 Service 接口
|
*
|
* @author 超级管理员
|
*/
|
public interface ApprovalConfigService {
|
|
/**
|
* 保存审批配置(新增或修改)
|
*
|
* 审批人采用整体覆盖方式保存,即传入的 userIds 即为最终结果。
|
*
|
* @param saveReqVO 保存信息
|
* @return 配置编号
|
*/
|
Long saveApprovalConfig(ApprovalConfigSaveReqVO saveReqVO);
|
|
/**
|
* 删除审批配置
|
*
|
* @param id 配置编号
|
*/
|
void deleteApprovalConfig(Long id);
|
|
/**
|
* 获得审批配置
|
*
|
* @param id 配置编号
|
* @return 审批配置
|
*/
|
ApprovalConfigDO getApprovalConfig(Long id);
|
|
/**
|
* 按业务类型获得审批配置
|
*
|
* @param bizType 业务类型编码
|
* @return 审批配置,不存在时返回 null
|
*/
|
ApprovalConfigDO getApprovalConfigByBizType(String bizType);
|
|
/**
|
* 获得审批配置分页,含审批人信息
|
*
|
* @param pageReqVO 分页查询
|
* @return 分页结果
|
*/
|
PageResult<ApprovalConfigRespVO> getApprovalConfigPage(ApprovalConfigPageReqVO pageReqVO);
|
|
/**
|
* 获得指定业务类型的审批人用户编号集合
|
*
|
* @param bizType 业务类型编码
|
* @return 审批人用户编号集合,未配置时返回空集合
|
*/
|
Set<Long> getApproverUserIds(String bizType);
|
|
/**
|
* 校验审批流程可用,并返回审批人集合
|
*
|
* 校验内容:业务类型已启用审批、且已配置至少一个有效审批人。
|
* 供各业务模块在「提交审核」时调用。
|
*
|
* @param bizType 业务类型编码
|
* @return 审批人用户编号集合
|
*/
|
Set<Long> validateApprovalEnabledAndGetApprovers(String bizType);
|
|
/**
|
* 校验指定用户是否为该业务类型的审批人
|
*
|
* 供各业务模块在「审核」时调用。
|
*
|
* @param bizType 业务类型编码
|
* @param userId 用户编号
|
*/
|
void validateApprover(String bizType, Long userId);
|
|
}
|