package cn.iocoder.yudao.module.hrm.service.approval;
|
|
import cn.iocoder.yudao.module.hrm.dal.dataobject.approval.HrmLeaveApplicationDO;
|
import java.time.LocalDate;
|
import java.util.List;
|
|
/**
|
* 请假查询服务:供考勤模块判断某员工某天是否请假
|
*
|
* <p>独立于 {@link HrmLeaveApplicationService},避免考勤模块依赖审批模块的写操作,
|
* 只暴露只读查询,便于单测和复用。</p>
|
*
|
* @author 超级管理员
|
*/
|
public interface HrmLeaveQueryService {
|
|
/**
|
* 查询某员工在指定日期内、审批通过的请假单
|
*
|
* <p>只返回 status = 审批通过(20) 的单据;驳回、撤销、审批中都不算。</p>
|
*
|
* @param userId 员工编号(对应 hrm_leave_application.user_id)
|
* @param date 日期
|
* @return 覆盖该日期的请假单列表,无则空列表
|
*/
|
List<HrmLeaveApplicationDO> getApprovedLeaveList(Long userId, LocalDate date);
|
|
/**
|
* 判断某员工某天是否请假(是否有审批通过的请假单覆盖该天)
|
*/
|
default boolean isOnLeave(Long userId, LocalDate date) {
|
return !getApprovedLeaveList(userId, date).isEmpty();
|
}
|
|
}
|