| | |
| | | import cn.iocoder.yudao.module.hrm.controller.admin.approval.vo.HrmLeaveApplicationPageReqVO; |
| | | import cn.iocoder.yudao.module.hrm.dal.dataobject.approval.HrmLeaveApplicationDO; |
| | | import cn.iocoder.yudao.module.hrm.enums.HrmAuditStatusEnum; |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | import java.time.LocalDateTime; |
| | | import java.util.ArrayList; |
| | | import java.util.Collection; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | .le(HrmLeaveApplicationDO::getEndTime, endTime)); |
| | | } |
| | | |
| | | /** |
| | | * 批量查询多个员工在指定时间范围内已审批通过的请假记录(用于按日区间的考勤统计) |
| | | * |
| | | * @param userIds 员工ID集合(系统用户ID) |
| | | * @param startTime 开始时间 |
| | | * @param endTime 结束时间 |
| | | * @return 请假记录列表 |
| | | */ |
| | | default List<HrmLeaveApplicationDO> selectApprovedListByUserIdsAndTimeRange(Collection<Long> userIds, |
| | | LocalDateTime startTime, LocalDateTime endTime) { |
| | | if (CollUtil.isEmpty(userIds)) { |
| | | return new ArrayList<>(); |
| | | } |
| | | return selectList(new LambdaQueryWrapperX<HrmLeaveApplicationDO>() |
| | | .in(HrmLeaveApplicationDO::getUserId, userIds) |
| | | .eq(HrmLeaveApplicationDO::getStatus, HrmAuditStatusEnum.APPROVE.getStatus()) |
| | | .le(HrmLeaveApplicationDO::getStartTime, endTime) |
| | | .ge(HrmLeaveApplicationDO::getEndTime, startTime)); |
| | | } |
| | | |
| | | } |