package cn.iocoder.yudao.module.hrm.dal.mysql.attendance; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.hrm.dal.dataobject.attendance.HrmEmployeeScheduleDO; import org.apache.ibatis.annotations.Mapper; import java.time.LocalDate; import java.util.Collection; import java.util.List; /** * 员工排班明细 Mapper * * @author 超级管理员 */ @Mapper public interface HrmEmployeeScheduleMapper extends BaseMapperX { default HrmEmployeeScheduleDO selectByEmployeeIdAndDate(Long employeeId, LocalDate date) { return selectOne(new LambdaQueryWrapperX() .eq(HrmEmployeeScheduleDO::getEmployeeId, employeeId) .eq(HrmEmployeeScheduleDO::getDate, date)); } default List selectListByPeriod(LocalDate startDate, LocalDate endDate) { return selectList(new LambdaQueryWrapperX() .between(HrmEmployeeScheduleDO::getDate, startDate, endDate) .orderByAsc(HrmEmployeeScheduleDO::getDate)); } default List selectListByEmployeeIdsAndPeriod(Collection employeeIds, LocalDate startDate, LocalDate endDate) { return selectList(new LambdaQueryWrapperX() .in(HrmEmployeeScheduleDO::getEmployeeId, employeeIds) .between(HrmEmployeeScheduleDO::getDate, startDate, endDate) .orderByAsc(HrmEmployeeScheduleDO::getDate)); } default List selectListByEmployeeIdAndPeriod(Long employeeId, LocalDate startDate, LocalDate endDate) { return selectList(new LambdaQueryWrapperX() .eq(HrmEmployeeScheduleDO::getEmployeeId, employeeId) .between(HrmEmployeeScheduleDO::getDate, startDate, endDate) .orderByAsc(HrmEmployeeScheduleDO::getDate)); } default Long selectCountByShiftId(Long shiftId) { return selectCount(new LambdaQueryWrapperX() .eq(HrmEmployeeScheduleDO::getShiftId, shiftId)); } }