package cn.iocoder.yudao.module.hrm.service.attendance; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo.HrmAttendanceExceptionPageReqVO; import cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo.HrmAttendanceExceptionSaveReqVO; import cn.iocoder.yudao.module.hrm.dal.dataobject.attendance.HrmAttendanceExceptionDO; import jakarta.validation.Valid; /** * 考勤异常申请 Service 接口 * * @author 芋道源码 */ public interface HrmAttendanceExceptionService { /** * 创建考勤异常申请 */ Long createAttendanceException(@Valid HrmAttendanceExceptionSaveReqVO createReqVO); /** * 更新考勤异常申请 */ void updateAttendanceException(@Valid HrmAttendanceExceptionSaveReqVO updateReqVO); /** * 删除考勤异常申请 */ void deleteAttendanceException(Long id); /** * 获得考勤异常申请分页 */ PageResult getAttendanceExceptionPage(HrmAttendanceExceptionPageReqVO pageReqVO); /** * 获得考勤异常申请 */ HrmAttendanceExceptionDO getAttendanceException(Long id); /** * 提交考勤异常申请 * * @param id 申请ID * @param processDefinitionKey 流程定义Key * @param userId 提交人ID */ void submitAttendanceException(Long id, String processDefinitionKey, Long userId); /** * 更新考勤异常申请审批状态 * * @param id 申请ID * @param auditStatus 审批状态 */ void updateAttendanceExceptionAuditStatus(Long id, Integer auditStatus); }