diff --git a/src/main/java/com/njcn/influx/service/CommonService.java b/src/main/java/com/njcn/influx/service/CommonService.java index b5948a3..5dd1197 100644 --- a/src/main/java/com/njcn/influx/service/CommonService.java +++ b/src/main/java/com/njcn/influx/service/CommonService.java @@ -89,4 +89,11 @@ public interface CommonService { StatisticalDataDTO getDataCounts(String lineId, String tableName, String columnName,String resultName, String phasic, String dataType, String clDid, String process,String startTime, String endTime); List getModuleData(CommonQueryParam param); + + /** + * 电度增量数据查询 + * @param commonQueryParams + * @return + */ + List getDianDuData(List commonQueryParams); } diff --git a/src/main/java/com/njcn/influx/service/impl/CommonServiceImpl.java b/src/main/java/com/njcn/influx/service/impl/CommonServiceImpl.java index dc00039..99a81b2 100644 --- a/src/main/java/com/njcn/influx/service/impl/CommonServiceImpl.java +++ b/src/main/java/com/njcn/influx/service/impl/CommonServiceImpl.java @@ -1,5 +1,6 @@ package com.njcn.influx.service.impl; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DatePattern; import com.njcn.influx.imapper.CommonMapper; import com.njcn.influx.pojo.bo.CommonQueryParam; @@ -213,4 +214,33 @@ public class CommonServiceImpl implements CommonService { .eq(InfluxDBTableConstant.CL_DID,param.getClDid()); return commonMapper.getDeviceRtDataByTime(influxQueryWrapper); } + + @Override + public List getDianDuData(List commonQueryParams) { + List resultList = new ArrayList<>(); + for (CommonQueryParam commonQueryParam: commonQueryParams) { + InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(commonQueryParam.getTableName(), StatisticalDataDTO.class); + influxQueryWrapper.difference(commonQueryParam.getColumnName()) + .eq(InfluxDBTableConstant.LINE_ID, commonQueryParam.getLineId()) + .eq(InfluxDBTableConstant.PHASIC_TYPE, commonQueryParam.getPhasic()) + .between(InfluxDBTableConstant.TIME, commonQueryParam.getStartTime(), commonQueryParam.getEndTime()) + .eq(InfluxDBTableConstant.CL_DID, commonQueryParam.getClDid()); + if (commonQueryParam.getDataType() != null) { + influxQueryWrapper.eq(InfluxDBTableConstant.VALUE_TYPE, commonQueryParam.getDataType()); + } + if (commonQueryParam.getProcess() != null) { + influxQueryWrapper.eq(InfluxDBTableConstant.PROCESS, commonQueryParam.getProcess()); + } + List deviceRtData = commonMapper.getDeviceRtDataByTime(influxQueryWrapper); + if (CollUtil.isNotEmpty(deviceRtData)) { + deviceRtData.forEach(item -> { + item.setLineId(commonQueryParam.getLineId()); + item.setPhaseType(commonQueryParam.getPhasic()); + item.setValueType("AVG"); + }); + } + resultList.addAll(deviceRtData); + } + return resultList; + } }