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.HrmAttendanceRulePageReqVO; import cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo.HrmAttendanceRuleSaveReqVO; import cn.iocoder.yudao.module.hrm.dal.dataobject.attendance.HrmAttendanceRuleDO; import jakarta.validation.Valid; import java.util.List; /** * 考勤规则配置 Service 接口 * * @author 芋道源码 */ public interface HrmAttendanceRuleService { /** * 新增考勤规则 * * @param createReqVO 新增信息 * @return 规则ID */ Long createAttendanceRule(@Valid HrmAttendanceRuleSaveReqVO createReqVO); /** * 更新考勤规则 * * @param updateReqVO 更新信息 */ void updateAttendanceRule(@Valid HrmAttendanceRuleSaveReqVO updateReqVO); /** * 删除考勤规则 * * @param id 规则ID */ void deleteAttendanceRule(Long id); /** * 获得考勤规则 * * @param id 规则ID * @return 考勤规则 */ HrmAttendanceRuleDO getAttendanceRule(Long id); /** * 获得考勤规则分页 * * @param pageReqVO 分页查询参数 * @return 考勤规则分页 */ PageResult getAttendanceRulePage(HrmAttendanceRulePageReqVO pageReqVO); /** * 获得启用的考勤规则列表 * * @return 考勤规则列表 */ List getAttendanceRuleList(); /** * 根据部门ID获取考勤规则 * 优先匹配部门规则,其次查找全局规则(deptId=null) * * @param deptId 部门ID * @return 考勤规则 */ HrmAttendanceRuleDO getAttendanceRuleByDeptId(Long deptId); }