解决稳态超标占比数据错误bug

This commit is contained in:
wr
2023-05-06 13:46:52 +08:00
parent 01f83e8a3a
commit 1ff04d0338

View File

@@ -1,12 +1,10 @@
package com.njcn.harmonic.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -17,12 +15,9 @@ import com.njcn.device.pq.pojo.param.DeviceInfoParam;
import com.njcn.device.pq.utils.PublicDateUtil;
import com.njcn.harmonic.mapper.RStatLimitRateDMapper;
import com.njcn.harmonic.mapper.SteadyExceedRateMapper;
import com.njcn.harmonic.pojo.dto.SteadyQualifyDTO;
import com.njcn.harmonic.pojo.po.LimitRatePO;
import com.njcn.harmonic.pojo.po.RStatHarmonicD;
import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO;
import com.njcn.harmonic.pojo.vo.MonitorOverLimitVO;
import com.njcn.harmonic.pojo.vo.RHarmonicPolylineVO;
import com.njcn.harmonic.pojo.vo.SteadyExceedRateCensusVO;
import com.njcn.harmonic.pojo.vo.SteadyExceedRateVO;
import com.njcn.harmonic.service.IRStatLimitRateDService;
@@ -32,16 +27,10 @@ import com.njcn.influxdb.param.InfluxDBPublicParam;
import com.njcn.influxdb.utils.InfluxDbUtils;
import lombok.AllArgsConstructor;
import lombok.SneakyThrows;
import org.influxdb.dto.QueryResult;
import org.influxdb.impl.InfluxDBResultMapper;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.text.SimpleDateFormat;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
@@ -103,8 +92,11 @@ public class SteadyExceedRateServiceImpl implements SteadyExceedRateService {
type.add(generalDeviceDTO.getName());
List<String> lineIndexes = generalDeviceDTO.getLineIndexes();
List<MonitorOverLimitVO.DataVO> percentages = rateDMapper.getPercentages(lineIndexes, steadyExceedCensusParam.getSearchBeginTime(), steadyExceedCensusParam.getSearchEndTime());
Map<String, Double> collect = percentages.stream().collect(Collectors.toMap(MonitorOverLimitVO.DataVO::getTime, MonitorOverLimitVO.DataVO::getData));
Map<String, Double> collect=new HashMap<>();
if (CollUtil.isNotEmpty(lineIndexes)) {
List<MonitorOverLimitVO.DataVO> percentages = rateDMapper.getPercentages(lineIndexes, steadyExceedCensusParam.getSearchBeginTime(), steadyExceedCensusParam.getSearchEndTime());
collect = percentages.stream().collect(Collectors.toMap(MonitorOverLimitVO.DataVO::getTime, MonitorOverLimitVO.DataVO::getData));
}
maps.add(collect);
//按部门分类的监测点索引集
tempIndex.add(lineIndexes);
@@ -128,7 +120,7 @@ public class SteadyExceedRateServiceImpl implements SteadyExceedRateService {
SteadyExceedRateVO dataMoreMonitorMoreDay = getDataMoreMonitorMoreDay(qualifiesRate);
steadyExceedRate.add(dataMoreMonitorMoreDay.getSteadyExceedRate());
} else {
steadyExceedRate.add(3.1415);
steadyExceedRate.add(3.14159);
}
}
steadyExceedList.add(steadyExceedRate);
@@ -151,7 +143,7 @@ public class SteadyExceedRateServiceImpl implements SteadyExceedRateService {
List<Double> steadyExceedRate = new ArrayList<>();
for (int i = 0; i < tempIndex.size(); i++) {
if (CollUtil.isNotEmpty(maps.get(i))) {
if (CollUtil.isNotEmpty(maps)&&CollUtil.isNotEmpty(maps.get(i))) {
if (maps.get(i).containsKey(s)) {
Double data = maps.get(i).get(s);
steadyExceedRate.add(data);
@@ -159,7 +151,7 @@ public class SteadyExceedRateServiceImpl implements SteadyExceedRateService {
steadyExceedRate.add(3.14159);
}
} else {
steadyExceedRate.add(3.1415);
steadyExceedRate.add(3.14159);
}
}
steadyExceedList.add(steadyExceedRate);
@@ -176,7 +168,7 @@ public class SteadyExceedRateServiceImpl implements SteadyExceedRateService {
SteadyExceedRateVO dataMoreMonitorSingleDay = getDataMoreMonitorSingleDay(qualifiesRate, lineIndexes, steadyExceedCensusParam.getSearchBeginTime());
steadyExceedRate.add(dataMoreMonitorSingleDay.getSteadyExceedRate());
} else {
steadyExceedRate.add(3.1415);
steadyExceedRate.add(3.14159);
}
}
steadyExceedList.add(steadyExceedRate);