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