tuqin
7 小时以前 52feee3e55403d2858da59605173ec055f601bfa
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/attendance/HrmAttendanceRuleService.java
@@ -6,7 +6,6 @@
import cn.iocoder.yudao.module.hrm.dal.dataobject.attendance.HrmAttendanceRuleDO;
import jakarta.validation.Valid;
import java.time.LocalDateTime;
import java.util.List;
/**
@@ -62,24 +61,14 @@
    List<HrmAttendanceRuleDO> getAttendanceRuleList();
    /**
     * 根据部门ID获取考勤规则
     * 优先匹配部门规则,其次查找全局规则(deptId=null)
     * 根据部门ID + 考勤日期获取生效的考勤规则
     * 优先匹配部门规则,其次查找全局规则(deptId=null);
     * 同部门存在多条规则时,取「生效开始日期」最晚且覆盖该日期的那条。
     *
     * @param deptId 部门ID
     * @param date   考勤日期(为空时按当天)
     * @return 考勤规则
     */
    HrmAttendanceRuleDO getAttendanceRuleByDeptId(Long deptId);
    /**
     * 根据部门ID + 打卡时间获取考勤规则
     *
     * 同一个部门允许配置多条考勤规则(多班次),此时按打卡时间匹配班次:
     * 优先取班次时间窗口包含该打卡时间的规则,都不包含时取时间窗口最接近的一条。
     *
     * @param deptId    部门ID
     * @param clockTime 打卡时间;为空时取该部门上班时间最早的一条规则
     * @return 考勤规则
     */
    HrmAttendanceRuleDO getAttendanceRuleByDeptId(Long deptId, LocalDateTime clockTime);
    HrmAttendanceRuleDO getAttendanceRuleByDeptId(Long deptId, java.time.LocalDate date);
}