package cn.iocoder.yudao.module.hrm.service.approval;
|
|
import cn.iocoder.yudao.module.hrm.dal.dataobject.approval.HrmLeaveApplicationDO;
|
import cn.iocoder.yudao.module.hrm.dal.mysql.approval.HrmLeaveApplicationMapper;
|
import cn.iocoder.yudao.module.hrm.enums.HrmAuditStatusEnum;
|
import jakarta.annotation.Resource;
|
import org.springframework.stereotype.Service;
|
|
import java.time.LocalDate;
|
import java.time.LocalDateTime;
|
import java.util.List;
|
|
/**
|
* 请假查询服务实现
|
*
|
* @author 超级管理员
|
*/
|
@Service
|
public class HrmLeaveQueryServiceImpl implements HrmLeaveQueryService {
|
|
@Resource
|
private HrmLeaveApplicationMapper leaveApplicationMapper;
|
|
@Override
|
public List<HrmLeaveApplicationDO> getApprovedLeaveList(Long userId, LocalDate date) {
|
if (userId == null || date == null) {
|
return List.of();
|
}
|
// 请假单与当天有交集即为命中:start_time < 次日 00:00 且 end_time >= 当天 00:00
|
LocalDateTime dayStart = date.atStartOfDay();
|
LocalDateTime dayEnd = date.plusDays(1).atStartOfDay();
|
return leaveApplicationMapper.selectListByUserIdAndOverlapDate(
|
userId, HrmAuditStatusEnum.APPROVE.getStatus(), dayStart, dayEnd);
|
}
|
|
}
|