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<MesDvTelemetryDO> {
|
|
default PageResult<MesDvTelemetryDO> selectPage(MesDvTelemetryPageReqVO reqVO) {
|
return selectPage(reqVO, new LambdaQueryWrapperX<MesDvTelemetryDO>()
|
.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<MesDvTelemetryDO> selectLatest(MesDvTelemetryLatestReqVO reqVO, int limit) {
|
return selectList(new LambdaQueryWrapperX<MesDvTelemetryDO>()
|
.eqIfPresent(MesDvTelemetryDO::getTbDeviceId, reqVO.getTbDeviceId())
|
.likeIfPresent(MesDvTelemetryDO::getDeviceName, reqVO.getDeviceName())
|
.orderByDesc(MesDvTelemetryDO::getTelemetryDataTime)
|
.orderByDesc(MesDvTelemetryDO::getId)
|
.last("LIMIT " + limit));
|
}
|
|
default List<MesDvTelemetryDO> selectDeviceList() {
|
return selectList(new LambdaQueryWrapperX<MesDvTelemetryDO>()
|
.select(MesDvTelemetryDO::getTbDeviceId, MesDvTelemetryDO::getDeviceName)
|
.groupBy(MesDvTelemetryDO::getTbDeviceId, MesDvTelemetryDO::getDeviceName)
|
.orderByAsc(MesDvTelemetryDO::getDeviceName));
|
}
|
|
}
|