| | |
| | | import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; |
| | | import cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo.HrmAttendanceRecordPageReqVO; |
| | | import cn.iocoder.yudao.module.hrm.dal.dataobject.attendance.HrmAttendanceRecordDO; |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | import java.time.LocalDate; |
| | | import java.util.ArrayList; |
| | | import java.util.Collection; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | .orderByAsc(HrmAttendanceRecordDO::getDate)); |
| | | } |
| | | |
| | | /** |
| | | * 按员工集合 + 日期区间批量查询打卡记录(用于按日区间的实时考勤统计) |
| | | */ |
| | | default List<HrmAttendanceRecordDO> selectListByUserIdsAndDateBetween(Collection<Long> userIds, |
| | | LocalDate startDate, LocalDate endDate) { |
| | | if (CollUtil.isEmpty(userIds)) { |
| | | return new ArrayList<>(); |
| | | } |
| | | return selectList(new LambdaQueryWrapperX<HrmAttendanceRecordDO>() |
| | | .in(HrmAttendanceRecordDO::getUserId, userIds) |
| | | .ge(HrmAttendanceRecordDO::getDate, startDate) |
| | | .le(HrmAttendanceRecordDO::getDate, endDate) |
| | | .orderByAsc(HrmAttendanceRecordDO::getDate)); |
| | | } |
| | | |
| | | } |