package cn.iocoder.yudao.module.hrm.dal.mysql.workhour; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.hrm.controller.admin.workhour.vo.HrmWorkHourSummaryPageReqVO; import cn.iocoder.yudao.module.hrm.dal.dataobject.workhour.HrmWorkHourSummaryDO; import org.apache.ibatis.annotations.Mapper; import java.util.List; /** * 月度工时汇总 Mapper * * @author 超级管理员 */ @Mapper public interface HrmWorkHourSummaryMapper extends BaseMapperX { default PageResult selectPage(HrmWorkHourSummaryPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .eqIfPresent(HrmWorkHourSummaryDO::getEmployeeId, reqVO.getEmployeeId()) .eqIfPresent(HrmWorkHourSummaryDO::getDeptId, reqVO.getDeptId()) .eqIfPresent(HrmWorkHourSummaryDO::getPeriod, reqVO.getPeriod()) .orderByDesc(HrmWorkHourSummaryDO::getId)); } default HrmWorkHourSummaryDO selectByEmployeeIdAndPeriod(Long employeeId, String period) { return selectOne(new LambdaQueryWrapperX() .eq(HrmWorkHourSummaryDO::getEmployeeId, employeeId) .eq(HrmWorkHourSummaryDO::getPeriod, period) .last("LIMIT 1")); } default List selectListByPeriod(String period) { return selectList(new LambdaQueryWrapperX() .eq(HrmWorkHourSummaryDO::getPeriod, period) .orderByAsc(HrmWorkHourSummaryDO::getEmployeeId)); } }