package cn.iocoder.yudao.module.mes.dal.mysql.dv.metering; 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.mes.controller.admin.dv.metering.vo.MesDvMeteringPageReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.dv.metering.MesDvMeteringDO; import org.apache.ibatis.annotations.Mapper; import java.time.LocalDate; import java.util.List; /** * MES 计量器具 Mapper * * @author 超级管理员 */ @Mapper public interface MesDvMeteringMapper extends BaseMapperX { default PageResult selectPage(MesDvMeteringPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .likeIfPresent(MesDvMeteringDO::getCode, reqVO.getCode()) .likeIfPresent(MesDvMeteringDO::getName, reqVO.getName()) .likeIfPresent(MesDvMeteringDO::getBrand, reqVO.getBrand()) .eqIfPresent(MesDvMeteringDO::getCategory, reqVO.getCategory()) .eqIfPresent(MesDvMeteringDO::getDeptId, reqVO.getDeptId()) .eqIfPresent(MesDvMeteringDO::getChargeUserId, reqVO.getChargeUserId()) .eqIfPresent(MesDvMeteringDO::getStatus, reqVO.getStatus()) .geIfPresent(MesDvMeteringDO::getNextCheckDate, reqVO.getNextCheckDateBegin()) .leIfPresent(MesDvMeteringDO::getNextCheckDate, reqVO.getNextCheckDateEnd()) .orderByDesc(MesDvMeteringDO::getId)); } default MesDvMeteringDO selectByCode(String code) { return selectOne(MesDvMeteringDO::getCode, code); } default List selectListByNextCheckDateBetween(LocalDate begin, LocalDate end) { return selectList(new LambdaQueryWrapperX() .ge(MesDvMeteringDO::getNextCheckDate, begin) .le(MesDvMeteringDO::getNextCheckDate, end)); } }