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.inspection.SafetyInspectionPageReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.safety.SafetyInspectionDO; import org.apache.ibatis.annotations.Mapper; import java.time.LocalDateTime; import java.util.List; /** * 安全生产 - 巡检记录 Mapper * * @author 超级管理员 */ @Mapper public interface SafetyInspectionMapper extends BaseMapperX { default PageResult selectPage(SafetyInspectionPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .eqIfPresent(SafetyInspectionDO::getPointId, reqVO.getPointId()) .eqIfPresent(SafetyInspectionDO::getPointType, reqVO.getPointType()) .likeIfPresent(SafetyInspectionDO::getInspector, reqVO.getInspector()) .eqIfPresent(SafetyInspectionDO::getResult, reqVO.getResult()) .betweenIfPresent(SafetyInspectionDO::getInspectTime, reqVO.getInspectTime()) .orderByDesc(SafetyInspectionDO::getInspectTime) .orderByDesc(SafetyInspectionDO::getId)); } default List selectListByTimeRange(LocalDateTime begin, LocalDateTime end) { return selectList(new LambdaQueryWrapperX() .geIfPresent(SafetyInspectionDO::getInspectTime, begin) .leIfPresent(SafetyInspectionDO::getInspectTime, end) .orderByAsc(SafetyInspectionDO::getInspectTime)); } default Long selectCountByPointId(Long pointId) { return selectCount(SafetyInspectionDO::getPointId, pointId); } /** 查询某点位最近一次巡检记录 */ default SafetyInspectionDO selectLatestByPointId(Long pointId) { return selectOne(new LambdaQueryWrapperX() .eq(SafetyInspectionDO::getPointId, pointId) .orderByDesc(SafetyInspectionDO::getInspectTime) .last("LIMIT 1")); } }