package cn.iocoder.yudao.module.hrm.service.approval;
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.module.hrm.controller.admin.approval.vo.HrmLeaveApplicationPageReqVO;
|
import cn.iocoder.yudao.module.hrm.controller.admin.approval.vo.HrmLeaveApplicationRespVO;
|
import cn.iocoder.yudao.module.hrm.controller.admin.approval.vo.HrmLeaveApplicationSaveReqVO;
|
import cn.iocoder.yudao.module.hrm.dal.dataobject.approval.HrmLeaveApplicationDO;
|
import jakarta.validation.Valid;
|
|
import java.util.Set;
|
|
/**
|
* 请假申请 Service 接口
|
*
|
* @author 超级管理员
|
*/
|
public interface HrmLeaveApplicationService {
|
|
/**
|
* 创建请假申请
|
*
|
* @param createReqVO 创建信息
|
* @return 申请ID
|
*/
|
Long createLeaveApplication(@Valid HrmLeaveApplicationSaveReqVO createReqVO);
|
|
/**
|
* 更新请假申请
|
*
|
* @param updateReqVO 更新信息
|
*/
|
void updateLeaveApplication(@Valid HrmLeaveApplicationSaveReqVO updateReqVO);
|
|
/**
|
* 删除请假申请
|
*
|
* @param id 申请ID
|
*/
|
void deleteLeaveApplication(Long id);
|
|
/**
|
* 获得请假申请
|
*
|
* @param id 申请ID
|
* @return 请假申请
|
*/
|
HrmLeaveApplicationDO getLeaveApplication(Long id);
|
|
/**
|
* 获得请假申请详情(含关联信息)
|
*
|
* @param id 申请ID
|
* @return 请假申请详情
|
*/
|
HrmLeaveApplicationRespVO getLeaveApplicationDetail(Long id);
|
|
/**
|
* 获得请假申请分页
|
*
|
* @param pageReqVO 分页查询
|
* @return 请假申请分页
|
*/
|
PageResult<HrmLeaveApplicationRespVO> getLeaveApplicationPage(HrmLeaveApplicationPageReqVO pageReqVO);
|
|
/**
|
* 提交请假申请审批(草稿 / 审核不通过 → 审批中)
|
*
|
* 审批人由「系统管理 - 审批配置」按业务类型统一指定,提交时无需选择。
|
*
|
* @param id 申请ID
|
*/
|
void submitLeaveApplication(Long id);
|
|
/**
|
* 获得请假申请的审批人编号集合,供前端判断是否展示审核按钮
|
*
|
* @return 审批人用户编号集合
|
*/
|
Set<Long> getLeaveApplicationApproverUserIds();
|
|
/**
|
* 审核请假申请(审批中 → 审核通过 / 审核不通过)
|
*
|
* @param id 申请ID
|
* @param pass 是否通过
|
* @param reviewRemark 审核意见(不通过时必填)
|
*/
|
void auditLeaveApplication(Long id, Boolean pass, String reviewRemark);
|
|
}
|