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