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.HrmTransferApplicationPageReqVO;
|
import cn.iocoder.yudao.module.hrm.controller.admin.approval.vo.HrmTransferApplicationRespVO;
|
import cn.iocoder.yudao.module.hrm.controller.admin.approval.vo.HrmTransferApplicationSaveReqVO;
|
import cn.iocoder.yudao.module.hrm.dal.dataobject.approval.HrmTransferApplicationDO;
|
import jakarta.validation.Valid;
|
|
import java.util.Set;
|
|
/**
|
* 调岗申请 Service 接口
|
*
|
* @author 超级管理员
|
*/
|
public interface HrmTransferApplicationService {
|
|
/**
|
* 创建调岗申请
|
*
|
* @param createReqVO 创建信息
|
* @return 申请ID
|
*/
|
Long createTransferApplication(@Valid HrmTransferApplicationSaveReqVO createReqVO);
|
|
/**
|
* 更新调岗申请
|
*
|
* @param updateReqVO 更新信息
|
*/
|
void updateTransferApplication(@Valid HrmTransferApplicationSaveReqVO updateReqVO);
|
|
/**
|
* 删除调岗申请
|
*
|
* @param id 申请ID
|
*/
|
void deleteTransferApplication(Long id);
|
|
/**
|
* 获得调岗申请
|
*
|
* @param id 申请ID
|
* @return 调岗申请
|
*/
|
HrmTransferApplicationDO getTransferApplication(Long id);
|
|
/**
|
* 获得调岗申请详情(含关联信息)
|
*
|
* @param id 申请ID
|
* @return 调岗申请详情
|
*/
|
HrmTransferApplicationRespVO getTransferApplicationDetail(Long id);
|
|
/**
|
* 获得调岗申请分页
|
*
|
* @param pageReqVO 分页查询
|
* @return 调岗申请分页
|
*/
|
PageResult<HrmTransferApplicationRespVO> getTransferApplicationPage(HrmTransferApplicationPageReqVO pageReqVO);
|
|
/**
|
* 提交调岗申请审批(草稿 / 审核不通过 → 审批中)
|
*
|
* 审批人由「系统管理 - 审批配置」按业务类型统一指定,提交时无需选择。
|
*
|
* @param id 申请ID
|
*/
|
void submitTransferApplication(Long id);
|
|
/**
|
* 获得调岗申请的审批人编号集合,供前端判断是否展示审核按钮
|
*
|
* @return 审批人用户编号集合
|
*/
|
Set<Long> getTransferApplicationApproverUserIds();
|
|
/**
|
* 审核调岗申请(审批中 → 审核通过 / 审核不通过)
|
*
|
* 审核通过时回写员工主档(部门 = 目标部门,岗位 = 目标岗位)。
|
*
|
* @param id 申请ID
|
* @param pass 是否通过
|
* @param reviewRemark 审核意见(不通过时必填)
|
*/
|
void auditTransferApplication(Long id, Boolean pass, String reviewRemark);
|
|
}
|