package cn.iocoder.yudao.module.mes.dal.mysql.dv.telemetry; 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.telemetry.vo.MesDvTelemetryLatestReqVO; import cn.iocoder.yudao.module.mes.controller.admin.dv.telemetry.vo.MesDvTelemetryPageReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.dv.telemetry.MesDvTelemetryDO; import org.apache.ibatis.annotations.Mapper; import java.util.List; /** * MES 设备数采遥测数据 Mapper * * @author 超级管理员 */ @Mapper public interface MesDvTelemetryMapper extends BaseMapperX { default PageResult selectPage(MesDvTelemetryPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .eqIfPresent(MesDvTelemetryDO::getTbDeviceId, reqVO.getTbDeviceId()) .likeIfPresent(MesDvTelemetryDO::getDeviceName, reqVO.getDeviceName()) .likeIfPresent(MesDvTelemetryDO::getParamName, reqVO.getParamName()) .eqIfPresent(MesDvTelemetryDO::getWhetherAnomaly, reqVO.getWhetherAnomaly()) .eqIfPresent(MesDvTelemetryDO::getShiftName, reqVO.getShiftName()) .betweenIfPresent(MesDvTelemetryDO::getTelemetryDataTime, reqVO.getTelemetryDataTime()) .orderByDesc(MesDvTelemetryDO::getTelemetryDataTime) .orderByDesc(MesDvTelemetryDO::getId)); } default List selectLatest(MesDvTelemetryLatestReqVO reqVO, int limit) { return selectList(new LambdaQueryWrapperX() .eqIfPresent(MesDvTelemetryDO::getTbDeviceId, reqVO.getTbDeviceId()) .likeIfPresent(MesDvTelemetryDO::getDeviceName, reqVO.getDeviceName()) .orderByDesc(MesDvTelemetryDO::getTelemetryDataTime) .orderByDesc(MesDvTelemetryDO::getId) .last("LIMIT " + limit)); } default List selectDeviceList() { return selectList(new LambdaQueryWrapperX() .select(MesDvTelemetryDO::getTbDeviceId, MesDvTelemetryDO::getDeviceName) .groupBy(MesDvTelemetryDO::getTbDeviceId, MesDvTelemetryDO::getDeviceName) .orderByAsc(MesDvTelemetryDO::getDeviceName)); } }