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.HrmOvertimeApplicationPageReqVO; import cn.iocoder.yudao.module.hrm.controller.admin.approval.vo.HrmOvertimeApplicationRespVO; import cn.iocoder.yudao.module.hrm.controller.admin.approval.vo.HrmOvertimeApplicationSaveReqVO; import jakarta.validation.Valid; import java.util.List; import java.util.Map; public interface HrmOvertimeApplicationService { String BPM_PROCESS_DEFINITION_KEY = "hrm_overtime"; String APPROVE_CATEGORY_CODE = "overtime_approve"; Long create(@Valid HrmOvertimeApplicationSaveReqVO reqVO, Long loginUserId); void update(@Valid HrmOvertimeApplicationSaveReqVO reqVO, Long loginUserId); void delete(Long id, Long loginUserId); HrmOvertimeApplicationRespVO getDetail(Long id, Long loginUserId, boolean canManage); HrmOvertimeApplicationRespVO getCurrentApplicant(Long loginUserId); PageResult getPage(HrmOvertimeApplicationPageReqVO reqVO); void submit(Long id, String processDefinitionKey, Long loginUserId); void cancel(Long id, Long loginUserId); List> getApproveProcessDefinitionList(); void updateAuditStatus(Long id, Integer status); }