package cn.iocoder.yudao.module.mes.dal.mysql.safety; 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.safety.vo.cert.SafetyCertificatePageReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.safety.SafetyCertificateDO; import org.apache.ibatis.annotations.Mapper; import java.time.LocalDate; import java.util.List; /** * 安全生产 - 特种作业证 Mapper * * @author 超级管理员 */ @Mapper public interface SafetyCertificateMapper extends BaseMapperX { default PageResult selectPage(SafetyCertificatePageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .likeIfPresent(SafetyCertificateDO::getEmployeeName, reqVO.getEmployeeName()) .likeIfPresent(SafetyCertificateDO::getEmployeeNo, reqVO.getEmployeeNo()) .likeIfPresent(SafetyCertificateDO::getDeptName, reqVO.getDeptName()) .eqIfPresent(SafetyCertificateDO::getCertType, reqVO.getCertType()) .eqIfPresent(SafetyCertificateDO::getStatus, reqVO.getStatus()) .likeIfPresent(SafetyCertificateDO::getCertNo, reqVO.getCertNo()) .geIfPresent(SafetyCertificateDO::getExpireDate, reqVO.getExpireDateStart()) .leIfPresent(SafetyCertificateDO::getExpireDate, reqVO.getExpireDateEnd()) .orderByAsc(SafetyCertificateDO::getExpireDate) .orderByDesc(SafetyCertificateDO::getId)); } default SafetyCertificateDO selectByCertNo(String certNo) { return selectOne(SafetyCertificateDO::getCertNo, certNo); } /** 查询即将到期或已过期的证件(expireDate <= 截止日期) */ default List selectExpiringBefore(LocalDate deadline) { return selectList(new LambdaQueryWrapperX() .le(SafetyCertificateDO::getExpireDate, deadline) .orderByAsc(SafetyCertificateDO::getExpireDate)); } }