| | |
| | | import cn.iocoder.yudao.module.hrm.dal.dataobject.approval.HrmTransferApplicationDO; |
| | | import jakarta.validation.Valid; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Set; |
| | | |
| | | /** |
| | | * 调岗申请 Service 接口 |
| | |
| | | * @author 超级管理员 |
| | | */ |
| | | public interface HrmTransferApplicationService { |
| | | |
| | | /** |
| | | * BPM 调岗审批流程标识 |
| | | */ |
| | | String BPM_PROCESS_DEFINITION_KEY = "hrm_transfer"; |
| | | |
| | | /** |
| | | * BPM 调岗审批分类编码 |
| | | */ |
| | | String APPROVE_CATEGORY_CODE = "hrm_transfer_approve"; |
| | | |
| | | /** |
| | | * 创建调岗申请 |
| | |
| | | PageResult<HrmTransferApplicationRespVO> getTransferApplicationPage(HrmTransferApplicationPageReqVO pageReqVO); |
| | | |
| | | /** |
| | | * 提交调岗申请审批 |
| | | * 提交调岗申请审批(草稿 / 审核不通过 → 审批中) |
| | | * |
| | | * 审批人由「系统管理 - 审批配置」按业务类型统一指定,提交时无需选择。 |
| | | * |
| | | * @param id 申请ID |
| | | * @param processDefinitionKey 流程定义Key |
| | | * @param userId 提交人ID |
| | | */ |
| | | void submitTransferApplication(Long id, String processDefinitionKey, Long userId); |
| | | void submitTransferApplication(Long id); |
| | | |
| | | /** |
| | | * 获取可用的审批流程定义列表 |
| | | * 获得调岗申请的审批人编号集合,供前端判断是否展示审核按钮 |
| | | * |
| | | * @return 流程定义列表 |
| | | * @return 审批人用户编号集合 |
| | | */ |
| | | List<Map<String, Object>> getApproveProcessDefinitionList(); |
| | | Set<Long> getTransferApplicationApproverUserIds(); |
| | | |
| | | /** |
| | | * 更新调岗申请审批状态(BPM 回调) |
| | | * 审核调岗申请(审批中 → 审核通过 / 审核不通过) |
| | | * |
| | | * @param id 申请ID |
| | | * @param status 审批状态 |
| | | */ |
| | | void updateTransferApplicationAuditStatus(Long id, Integer status); |
| | | |
| | | /** |
| | | * 根据流程实例ID获取调岗申请 |
| | | * 审核通过时回写员工主档(部门 = 目标部门,岗位 = 目标岗位)。 |
| | | * |
| | | * @param processInstanceId 流程实例ID |
| | | * @return 调岗申请 |
| | | * @param id 申请ID |
| | | * @param pass 是否通过 |
| | | * @param reviewRemark 审核意见(不通过时必填) |
| | | */ |
| | | HrmTransferApplicationDO getTransferApplicationByProcessInstanceId(String processInstanceId); |
| | | void auditTransferApplication(Long id, Boolean pass, String reviewRemark); |
| | | |
| | | } |