|
|
|
|
@@ -1,9 +1,12 @@
|
|
|
|
|
package com.njcn.harmonic.service.impl;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
|
|
import cn.hutool.core.io.FileUtil;
|
|
|
|
|
import cn.hutool.core.util.CharUtil;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
|
import com.google.common.collect.Lists;
|
|
|
|
|
import com.njcn.common.config.GeneralInfo;
|
|
|
|
|
@@ -14,6 +17,7 @@ import com.njcn.device.pq.pojo.dto.OverLimitLineDTO;
|
|
|
|
|
import com.njcn.device.pq.pojo.dto.PollutionParamDTO;
|
|
|
|
|
import com.njcn.device.pq.pojo.dto.WarningSubstationDTO;
|
|
|
|
|
import com.njcn.harmonic.constant.Param;
|
|
|
|
|
import com.njcn.harmonic.mapper.RStatLimitRateDMapper;
|
|
|
|
|
import com.njcn.harmonic.pojo.excel.area.AreaExcel;
|
|
|
|
|
import com.njcn.harmonic.pojo.excel.monitor.ITimes;
|
|
|
|
|
import com.njcn.harmonic.pojo.excel.monitor.MonitorExcel;
|
|
|
|
|
@@ -23,6 +27,7 @@ import com.njcn.harmonic.pojo.excel.substation.SubstationExcel;
|
|
|
|
|
import com.njcn.harmonic.pojo.po.EventDetail;
|
|
|
|
|
import com.njcn.harmonic.pojo.po.LimitRate;
|
|
|
|
|
import com.njcn.harmonic.pojo.po.LimitTarget;
|
|
|
|
|
import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO;
|
|
|
|
|
import com.njcn.harmonic.pojo.vo.MonitorOverLimitVO;
|
|
|
|
|
import com.njcn.harmonic.pojo.vo.OverAreaLimitVO;
|
|
|
|
|
import com.njcn.harmonic.pojo.vo.OverAreaVO;
|
|
|
|
|
@@ -33,12 +38,14 @@ import com.njcn.poi.excel.ExcelUtil;
|
|
|
|
|
import com.njcn.web.utils.RequestUtil;
|
|
|
|
|
import lombok.AllArgsConstructor;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import org.apache.commons.beanutils.BeanUtils;
|
|
|
|
|
import org.influxdb.dto.QueryResult;
|
|
|
|
|
import org.influxdb.impl.InfluxDBResultMapper;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
|
|
|
|
import java.io.File;
|
|
|
|
|
import java.lang.reflect.Array;
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
|
|
import java.math.RoundingMode;
|
|
|
|
|
import java.time.Instant;
|
|
|
|
|
@@ -67,6 +74,8 @@ public class AnalyzeServiceImpl implements IAnalyzeService {
|
|
|
|
|
|
|
|
|
|
private final LineFeignClient lineFeignClient;
|
|
|
|
|
|
|
|
|
|
private final RStatLimitRateDMapper rateDMapper;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Page<OverAreaLimitVO> getAreaData(OverAreaVO param) {
|
|
|
|
|
Page<OverAreaLimitVO> page = new Page<>();
|
|
|
|
|
@@ -278,143 +287,60 @@ public class AnalyzeServiceImpl implements IAnalyzeService {
|
|
|
|
|
List<MonitorOverLimitVO> result = new ArrayList<>();
|
|
|
|
|
List<String> lineList = new ArrayList<>();
|
|
|
|
|
List<GeneralDeviceDTO> deptList = generalDeviceInfoClient.getPracticalRunDeviceInfo(param).getData();
|
|
|
|
|
if (!CollectionUtils.isEmpty(deptList)){
|
|
|
|
|
if (!CollectionUtils.isEmpty(deptList)) {
|
|
|
|
|
deptList.forEach(item->{
|
|
|
|
|
lineList.addAll(item.getLineIndexes());
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
if (!CollectionUtils.isEmpty(lineList)){
|
|
|
|
|
page.setTotal(lineList.size());
|
|
|
|
|
int pages = (int)Math.ceil(lineList.size()*1.0/param.getPageSize());
|
|
|
|
|
page.setPages(pages);
|
|
|
|
|
List<List<String>> pageList = Lists.partition(lineList,param.getPageSize());
|
|
|
|
|
List<String> temList = pageList.get(param.getPageNum()-1);
|
|
|
|
|
List<LimitTarget> limitTargetList = getOverDays(temList,param.getSearchBeginTime(),param.getSearchEndTime());
|
|
|
|
|
Map<String,List<LimitTarget>> map = limitTargetList.stream().collect(Collectors.groupingBy(LimitTarget::getLineId));
|
|
|
|
|
Page<RStatLimitRateDPO> p = new Page<>();
|
|
|
|
|
p.setSize(param.getPageSize());
|
|
|
|
|
p.setCurrent(param.getPageNum());
|
|
|
|
|
if (CollectionUtil.isNotEmpty(lineList)) {
|
|
|
|
|
QueryWrapper<RStatLimitRateDPO> queryWrapper = new QueryWrapper<>();
|
|
|
|
|
queryWrapper.in("r_stat_limit_rate_d.my_index",lineList)
|
|
|
|
|
.between("r_stat_limit_rate_d.time_id",
|
|
|
|
|
DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())),
|
|
|
|
|
DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())));
|
|
|
|
|
Page<RStatLimitRateDPO> rateDPOPage = rateDMapper.selectPage(p,queryWrapper);
|
|
|
|
|
List<RStatLimitRateDPO> records = rateDPOPage.getRecords();
|
|
|
|
|
Map<String, List<RStatLimitRateDPO>> lineMap = records.stream().collect(Collectors.groupingBy(RStatLimitRateDPO::getLineId));
|
|
|
|
|
ArrayList<String> list = new ArrayList<>();
|
|
|
|
|
list.addAll(lineMap.keySet());
|
|
|
|
|
PollutionParamDTO pollutionParamDTO = new PollutionParamDTO();
|
|
|
|
|
pollutionParamDTO.setLineList(temList);
|
|
|
|
|
pollutionParamDTO.setLineList(list);
|
|
|
|
|
List<OverLimitLineDTO> overLimitLineList = lineFeignClient.getOverLimitLineInfo(pollutionParamDTO).getData();
|
|
|
|
|
overLimitLineList.forEach(item->{
|
|
|
|
|
int overDay=0,freqOverDay=0,volDevOverDay=0,threeUnbalance=0,flickerOverDay=0,negativeOverDay=0,harmVolOverDay=0,volDisOverDay=0,volContainOverDay=0,harmCurOverDay=0,intHarmOverDay=0;
|
|
|
|
|
int overVolThreeTimes=0,overVolFiveTimes=0,overVolSevenTimes=0,overVolElevenTimes=0,overVolThirteenTimes=0,overVolTwentyThreeTimes=0,overVolTwentyFiveTimes=0,overVolOtherTimes=0;
|
|
|
|
|
int overCurThreeTimes=0,overCurFiveTimes=0,overCurSevenTimes=0,overCurElevenTimes=0,overCurThirteenTimes=0,overCurTwentyThreeTimes=0,overCurTwentyFiveTimes=0,overCurOtherTimes=0;
|
|
|
|
|
List<MonitorOverLimitVO> groupList = rateDMapper.getSumLimitRateByLineIndexes(list, param.getSearchBeginTime(), param.getSearchEndTime());
|
|
|
|
|
Map<String, List<MonitorOverLimitVO>> groupMap = groupList.stream().collect(Collectors.groupingBy(MonitorOverLimitVO::getId));
|
|
|
|
|
for (OverLimitLineDTO vo : overLimitLineList) {
|
|
|
|
|
MonitorOverLimitVO monitorOverLimitVO = new MonitorOverLimitVO();
|
|
|
|
|
BeanUtil.copyProperties(item,monitorOverLimitVO);
|
|
|
|
|
List<LimitTarget> l1 = map.get(item.getId());
|
|
|
|
|
if (!CollectionUtils.isEmpty(l1)){
|
|
|
|
|
for (LimitTarget item2 : l1) {
|
|
|
|
|
if (item2.getFreqDevOverTime()+item2.getVoltageDevOverTime()+item2.getUBalanceOverTime()+item2.getFlickerOverTime()+item2.getINegOverTime()+item2.getUAberranceOverTime()+item2.getUHarmAllOverTime()+item2.getIHarmAllOverTime()+item2.getInuharmAllOverTime() > 0){
|
|
|
|
|
overDay++;
|
|
|
|
|
}
|
|
|
|
|
if (item2.getFreqDevOverTime()>0){
|
|
|
|
|
freqOverDay++;
|
|
|
|
|
}
|
|
|
|
|
if (item2.getVoltageDevOverTime()>0){
|
|
|
|
|
volDevOverDay++;
|
|
|
|
|
}
|
|
|
|
|
if (item2.getUBalanceOverTime()>0){
|
|
|
|
|
threeUnbalance++;
|
|
|
|
|
}
|
|
|
|
|
if (item2.getFlickerOverTime()>0){
|
|
|
|
|
flickerOverDay++;
|
|
|
|
|
}
|
|
|
|
|
if (item2.getINegOverTime()>0){
|
|
|
|
|
negativeOverDay++;
|
|
|
|
|
}
|
|
|
|
|
if (item2.getUAberranceOverTime()+item2.getUHarmAllOverTime()>0){
|
|
|
|
|
harmVolOverDay++;
|
|
|
|
|
}
|
|
|
|
|
if (item2.getUAberranceOverTime()>0){
|
|
|
|
|
volDisOverDay++;
|
|
|
|
|
}
|
|
|
|
|
if (item2.getUHarmAllOverTime()>0){
|
|
|
|
|
volContainOverDay++;
|
|
|
|
|
}
|
|
|
|
|
if (item2.getIHarmAllOverTime()>0){
|
|
|
|
|
harmCurOverDay++;
|
|
|
|
|
}
|
|
|
|
|
if (item2.getInuharmAllOverTime()>0){
|
|
|
|
|
intHarmOverDay++;
|
|
|
|
|
}
|
|
|
|
|
if (item2.getUHarm3OverTime()>0){
|
|
|
|
|
overVolThreeTimes++;
|
|
|
|
|
}
|
|
|
|
|
if (item2.getUHarm5OverTime()>0){
|
|
|
|
|
overVolFiveTimes++;
|
|
|
|
|
}
|
|
|
|
|
if (item2.getUHarm7OverTime()>0){
|
|
|
|
|
overVolSevenTimes++;
|
|
|
|
|
}
|
|
|
|
|
if (item2.getUHarm11OverTime()>0){
|
|
|
|
|
overVolElevenTimes++;
|
|
|
|
|
}
|
|
|
|
|
if (item2.getUHarm13OverTime()>0){
|
|
|
|
|
overVolThirteenTimes++;
|
|
|
|
|
}
|
|
|
|
|
if (item2.getUHarm23OverTime()>0){
|
|
|
|
|
overVolTwentyThreeTimes++;
|
|
|
|
|
}
|
|
|
|
|
if (item2.getUHarm25OverTime()>0){
|
|
|
|
|
overVolTwentyFiveTimes++;
|
|
|
|
|
}
|
|
|
|
|
if (item2.getUHarmAllOverTime()>0){
|
|
|
|
|
overVolOtherTimes++;
|
|
|
|
|
}
|
|
|
|
|
if (item2.getIHarm3OverTime()>0){
|
|
|
|
|
overCurThreeTimes++;
|
|
|
|
|
}
|
|
|
|
|
if (item2.getIHarm5OverTime()>0){
|
|
|
|
|
overCurFiveTimes++;
|
|
|
|
|
}
|
|
|
|
|
if (item2.getIHarm7OverTime()>0){
|
|
|
|
|
overCurSevenTimes++;
|
|
|
|
|
}
|
|
|
|
|
if (item2.getIHarm11OverTime()>0){
|
|
|
|
|
overCurElevenTimes++;
|
|
|
|
|
}
|
|
|
|
|
if (item2.getIHarm13OverTime()>0){
|
|
|
|
|
overCurThirteenTimes++;
|
|
|
|
|
}
|
|
|
|
|
if (item2.getIHarm23OverTime()>0){
|
|
|
|
|
overCurTwentyThreeTimes++;
|
|
|
|
|
}
|
|
|
|
|
if (item2.getIHarm25OverTime()>0){
|
|
|
|
|
overCurTwentyFiveTimes++;
|
|
|
|
|
}
|
|
|
|
|
if (item2.getIHarmAllOverTime()>0){
|
|
|
|
|
overCurOtherTimes++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
monitorOverLimitVO.setOverDay(overDay);
|
|
|
|
|
monitorOverLimitVO.setFreqOverDay(freqOverDay);
|
|
|
|
|
monitorOverLimitVO.setVolDevOverDay(volDevOverDay);
|
|
|
|
|
monitorOverLimitVO.setThreeUnbalance(threeUnbalance);
|
|
|
|
|
monitorOverLimitVO.setFlickerOverDay(flickerOverDay);
|
|
|
|
|
monitorOverLimitVO.setNegativeOverDay(negativeOverDay);
|
|
|
|
|
monitorOverLimitVO.setHarmVolOverDay(harmVolOverDay);
|
|
|
|
|
monitorOverLimitVO.setVolDisOverDay(volDisOverDay);
|
|
|
|
|
monitorOverLimitVO.setVolContainOverDay(volContainOverDay);
|
|
|
|
|
monitorOverLimitVO.setHarmCurOverDay(harmCurOverDay);
|
|
|
|
|
monitorOverLimitVO.setIntHarmOverDay(intHarmOverDay);
|
|
|
|
|
monitorOverLimitVO.setOverVolThreeTimes(overVolThreeTimes);
|
|
|
|
|
monitorOverLimitVO.setOverVolFiveTimes(overVolFiveTimes);
|
|
|
|
|
monitorOverLimitVO.setOverVolSevenTimes(overVolSevenTimes);
|
|
|
|
|
monitorOverLimitVO.setOverVolElevenTimes(overVolElevenTimes);
|
|
|
|
|
monitorOverLimitVO.setOverVolThirteenTimes(overVolThirteenTimes);
|
|
|
|
|
monitorOverLimitVO.setOverVolTwentyThreeTimes(overVolTwentyThreeTimes);
|
|
|
|
|
monitorOverLimitVO.setOverVolTwentyFiveTimes(overVolTwentyFiveTimes);
|
|
|
|
|
monitorOverLimitVO.setOverVolOtherTimes(overVolOtherTimes);
|
|
|
|
|
monitorOverLimitVO.setOverCurThreeTimes(overCurThreeTimes);
|
|
|
|
|
monitorOverLimitVO.setOverCurFiveTimes(overCurFiveTimes);
|
|
|
|
|
monitorOverLimitVO.setOverCurSevenTimes(overCurSevenTimes);
|
|
|
|
|
monitorOverLimitVO.setOverCurElevenTimes(overCurElevenTimes);
|
|
|
|
|
monitorOverLimitVO.setOverCurThirteenTimes(overCurThirteenTimes);
|
|
|
|
|
monitorOverLimitVO.setOverCurTwentyThreeTimes(overCurTwentyThreeTimes);
|
|
|
|
|
monitorOverLimitVO.setOverCurTwentyFiveTimes(overCurTwentyFiveTimes);
|
|
|
|
|
monitorOverLimitVO.setOverCurOtherTimes(overCurOtherTimes);
|
|
|
|
|
BeanUtil.copyProperties(vo,monitorOverLimitVO);
|
|
|
|
|
List<RStatLimitRateDPO> limitRateDPOS = lineMap.get(vo.getId());
|
|
|
|
|
MonitorOverLimitVO overLimitVO = groupMap.get(vo.getId()).get(0);
|
|
|
|
|
BeanUtil.copyProperties(overLimitVO,monitorOverLimitVO);
|
|
|
|
|
|
|
|
|
|
System.out.println(monitorOverLimitVO);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 超标天数
|
|
|
|
|
// long allTimeCount = limitRateDPOS.stream().filter(t -> t.getAllTime() != 0).count();
|
|
|
|
|
// 频率偏差超标天数
|
|
|
|
|
// long freqDevOverCount = limitRateDPOS.stream().filter(t -> t.getFreqDevOvertime() != 0).count();
|
|
|
|
|
// 电压偏差超标天数
|
|
|
|
|
// long voltageDevOverCount = limitRateDPOS.stream().filter(t -> t.getVoltageDevOvertime() != 0).count();
|
|
|
|
|
// 电压谐波畸变率越限次数
|
|
|
|
|
// long UaberranceOverCount = limitRateDPOS.stream().filter(t -> t.getUaberranceOvertime() != 0).count();
|
|
|
|
|
// 谐波电压含有率超标天数
|
|
|
|
|
long volContainOverDay = limitRateDPOS.stream().filter(t -> FilterNotQualifiedUharmData(t)).count();
|
|
|
|
|
// 谐波电流超标天数
|
|
|
|
|
long harmCurOverDay = limitRateDPOS.stream().filter(t -> FilterNotQualifiedIharmData(t)).count();
|
|
|
|
|
// 间谐波电压含有率超标天数
|
|
|
|
|
long intHarmOverDay = limitRateDPOS.stream().filter(t -> FilterNotQualifiedInuharmData(t)).count();
|
|
|
|
|
monitorOverLimitVO.setVolContainOverDay((int) volContainOverDay);
|
|
|
|
|
monitorOverLimitVO.setHarmCurOverDay((int) harmCurOverDay);
|
|
|
|
|
monitorOverLimitVO.setIntHarmOverDay((int) intHarmOverDay);
|
|
|
|
|
result.add(monitorOverLimitVO);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
if (!CollectionUtils.isEmpty(result)){
|
|
|
|
|
List<MonitorOverLimitVO> recordList = new ArrayList<>();
|
|
|
|
|
@@ -424,6 +350,207 @@ public class AnalyzeServiceImpl implements IAnalyzeService {
|
|
|
|
|
return page;
|
|
|
|
|
}
|
|
|
|
|
return page;
|
|
|
|
|
// if (CollectionUtil.isNotEmpty (lineList)) {
|
|
|
|
|
// page.setTotal(lineList.size());
|
|
|
|
|
// int pages = (int)Math.ceil(lineList.size()*1.0/param.getPageSize());
|
|
|
|
|
// page.setPages(pages);
|
|
|
|
|
// List<List<String>> pageList = Lists.partition(lineList,param.getPageSize());
|
|
|
|
|
// List<String> temList = pageList.get(param.getPageNum()-1);
|
|
|
|
|
// List<MonitorOverLimitVO> list = rateDMapper.getSumLimitRateByLineIndexes(lineList, param.getSearchBeginTime(), param.getSearchEndTime());
|
|
|
|
|
// Map<String, List<MonitorOverLimitVO>> mapperMap = list.stream().collect(Collectors.groupingBy(MonitorOverLimitVO::getId));
|
|
|
|
|
// PollutionParamDTO pollutionParamDTO = new PollutionParamDTO();
|
|
|
|
|
// pollutionParamDTO.setLineList(temList);
|
|
|
|
|
// List<OverLimitLineDTO> overLimitLineList = lineFeignClient.getOverLimitLineInfo(pollutionParamDTO).getData();
|
|
|
|
|
// for (OverLimitLineDTO overLimitLineDTO : overLimitLineList) {
|
|
|
|
|
// MonitorOverLimitVO vo = mapperMap.get(overLimitLineDTO.getId()).get(0);
|
|
|
|
|
// if (Objects.isNull(vo)) {
|
|
|
|
|
// continue;
|
|
|
|
|
// }
|
|
|
|
|
// vo.setProvinceCompany(overLimitLineDTO.getProvinceCompany());
|
|
|
|
|
// vo.setCityCompany(overLimitLineDTO.getCityCompany());
|
|
|
|
|
// vo.setLineName(overLimitLineDTO.getLineName());
|
|
|
|
|
// vo.setLoadType(overLimitLineDTO.getLoadType());
|
|
|
|
|
// vo.setLineObjectName(overLimitLineDTO.getLineObjectName());
|
|
|
|
|
// vo.setLineScale(overLimitLineDTO.getLineScale());
|
|
|
|
|
// vo.setSubName(overLimitLineDTO.getSubName());
|
|
|
|
|
// vo.setSubScale(overLimitLineDTO.getSubScale());
|
|
|
|
|
// result.add(vo);
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// if (!CollectionUtils.isEmpty(result)){
|
|
|
|
|
// List<MonitorOverLimitVO> recordList = new ArrayList<>();
|
|
|
|
|
// //默认 根据在线监测点个数 倒叙排序
|
|
|
|
|
// recordList = result.stream().sorted(Comparator.comparing(MonitorOverLimitVO::getOverDay).reversed()).collect(Collectors.toList());
|
|
|
|
|
// page.setRecords(recordList);
|
|
|
|
|
// return page;
|
|
|
|
|
// }
|
|
|
|
|
// return page;
|
|
|
|
|
// if (!CollectionUtils.isEmpty(lineList)){
|
|
|
|
|
// page.setTotal(lineList.size());
|
|
|
|
|
// int pages = (int)Math.ceil(lineList.size()*1.0/param.getPageSize());
|
|
|
|
|
// page.setPages(pages);
|
|
|
|
|
// List<List<String>> pageList = Lists.partition(lineList,param.getPageSize());
|
|
|
|
|
// List<String> temList = pageList.get(param.getPageNum()-1);
|
|
|
|
|
// List<LimitTarget> limitTargetList = getOverDays(temList,param.getSearchBeginTime(),param.getSearchEndTime());
|
|
|
|
|
// Map<String,List<LimitTarget>> map = limitTargetList.stream().collect(Collectors.groupingBy(LimitTarget::getLineId));
|
|
|
|
|
// PollutionParamDTO pollutionParamDTO = new PollutionParamDTO();
|
|
|
|
|
// pollutionParamDTO.setLineList(temList);
|
|
|
|
|
// List<OverLimitLineDTO> overLimitLineList = lineFeignClient.getOverLimitLineInfo(pollutionParamDTO).getData();
|
|
|
|
|
// overLimitLineList.forEach(item->{
|
|
|
|
|
// int overDay=0,freqOverDay=0,volDevOverDay=0,threeUnbalance=0,flickerOverDay=0,negativeOverDay=0,harmVolOverDay=0,volDisOverDay=0,volContainOverDay=0,harmCurOverDay=0,intHarmOverDay=0;
|
|
|
|
|
// int overVolThreeTimes=0,overVolFiveTimes=0,overVolSevenTimes=0,overVolElevenTimes=0,overVolThirteenTimes=0,overVolTwentyThreeTimes=0,overVolTwentyFiveTimes=0,overVolOtherTimes=0;
|
|
|
|
|
// int overCurThreeTimes=0,overCurFiveTimes=0,overCurSevenTimes=0,overCurElevenTimes=0,overCurThirteenTimes=0,overCurTwentyThreeTimes=0,overCurTwentyFiveTimes=0,overCurOtherTimes=0;
|
|
|
|
|
// MonitorOverLimitVO monitorOverLimitVO = new MonitorOverLimitVO();
|
|
|
|
|
// BeanUtil.copyProperties(item,monitorOverLimitVO);
|
|
|
|
|
// List<LimitTarget> l1 = map.get(item.getId());
|
|
|
|
|
// if (!CollectionUtils.isEmpty(l1)) {
|
|
|
|
|
// for (LimitTarget item2 : l1) {
|
|
|
|
|
// if (item2.getFreqDevOverTime()+item2.getVoltageDevOverTime()+item2.getUBalanceOverTime()+item2.getFlickerOverTime()+item2.getINegOverTime()+item2.getUAberranceOverTime()+item2.getUHarmAllOverTime()+item2.getIHarmAllOverTime()+item2.getInuharmAllOverTime() > 0){
|
|
|
|
|
// overDay++;
|
|
|
|
|
// }
|
|
|
|
|
// if (item2.getFreqDevOverTime()>0){
|
|
|
|
|
// freqOverDay++;
|
|
|
|
|
// }
|
|
|
|
|
// if (item2.getVoltageDevOverTime()>0){
|
|
|
|
|
// volDevOverDay++;
|
|
|
|
|
// }
|
|
|
|
|
// if (item2.getUBalanceOverTime()>0){
|
|
|
|
|
// threeUnbalance++;
|
|
|
|
|
// }
|
|
|
|
|
// if (item2.getFlickerOverTime()>0){
|
|
|
|
|
// flickerOverDay++;
|
|
|
|
|
// }
|
|
|
|
|
// if (item2.getINegOverTime()>0){
|
|
|
|
|
// negativeOverDay++;
|
|
|
|
|
// }
|
|
|
|
|
// if (item2.getUAberranceOverTime()+item2.getUHarmAllOverTime()>0){
|
|
|
|
|
// harmVolOverDay++;
|
|
|
|
|
// }
|
|
|
|
|
// if (item2.getUAberranceOverTime()>0){
|
|
|
|
|
// volDisOverDay++;
|
|
|
|
|
// }
|
|
|
|
|
// if (item2.getUHarmAllOverTime()>0){
|
|
|
|
|
// volContainOverDay++;
|
|
|
|
|
// }
|
|
|
|
|
// if (item2.getIHarmAllOverTime()>0){
|
|
|
|
|
// harmCurOverDay++;
|
|
|
|
|
// }
|
|
|
|
|
// if (item2.getInuharmAllOverTime()>0){
|
|
|
|
|
// intHarmOverDay++;
|
|
|
|
|
// }
|
|
|
|
|
// if (item2.getUHarm3OverTime()>0){
|
|
|
|
|
// overVolThreeTimes++;
|
|
|
|
|
// }
|
|
|
|
|
// if (item2.getUHarm5OverTime()>0){
|
|
|
|
|
// overVolFiveTimes++;
|
|
|
|
|
// }
|
|
|
|
|
// if (item2.getUHarm7OverTime()>0){
|
|
|
|
|
// overVolSevenTimes++;
|
|
|
|
|
// }
|
|
|
|
|
// if (item2.getUHarm11OverTime()>0){
|
|
|
|
|
// overVolElevenTimes++;
|
|
|
|
|
// }
|
|
|
|
|
// if (item2.getUHarm13OverTime()>0){
|
|
|
|
|
// overVolThirteenTimes++;
|
|
|
|
|
// }
|
|
|
|
|
// if (item2.getUHarm23OverTime()>0){
|
|
|
|
|
// overVolTwentyThreeTimes++;
|
|
|
|
|
// }
|
|
|
|
|
// if (item2.getUHarm25OverTime()>0){
|
|
|
|
|
// overVolTwentyFiveTimes++;
|
|
|
|
|
// }
|
|
|
|
|
// if (item2.getUHarmAllOverTime()>0){
|
|
|
|
|
// overVolOtherTimes++;
|
|
|
|
|
// }
|
|
|
|
|
// if (item2.getIHarm3OverTime()>0){
|
|
|
|
|
// overCurThreeTimes++;
|
|
|
|
|
// }
|
|
|
|
|
// if (item2.getIHarm5OverTime()>0){
|
|
|
|
|
// overCurFiveTimes++;
|
|
|
|
|
// }
|
|
|
|
|
// if (item2.getIHarm7OverTime()>0){
|
|
|
|
|
// overCurSevenTimes++;
|
|
|
|
|
// }
|
|
|
|
|
// if (item2.getIHarm11OverTime()>0){
|
|
|
|
|
// overCurElevenTimes++;
|
|
|
|
|
// }
|
|
|
|
|
// if (item2.getIHarm13OverTime()>0){
|
|
|
|
|
// overCurThirteenTimes++;
|
|
|
|
|
// }
|
|
|
|
|
// if (item2.getIHarm23OverTime()>0){
|
|
|
|
|
// overCurTwentyThreeTimes++;
|
|
|
|
|
// }
|
|
|
|
|
// if (item2.getIHarm25OverTime()>0){
|
|
|
|
|
// overCurTwentyFiveTimes++;
|
|
|
|
|
// }
|
|
|
|
|
// if (item2.getIHarmAllOverTime()>0){
|
|
|
|
|
// overCurOtherTimes++;
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// monitorOverLimitVO.setOverDay(overDay);
|
|
|
|
|
// monitorOverLimitVO.setFreqOverDay(freqOverDay);
|
|
|
|
|
// monitorOverLimitVO.setVolDevOverDay(volDevOverDay);
|
|
|
|
|
// monitorOverLimitVO.setThreeUnbalance(threeUnbalance);
|
|
|
|
|
// monitorOverLimitVO.setFlickerOverDay(flickerOverDay);
|
|
|
|
|
// monitorOverLimitVO.setNegativeOverDay(negativeOverDay);
|
|
|
|
|
// monitorOverLimitVO.setHarmVolOverDay(harmVolOverDay);
|
|
|
|
|
// monitorOverLimitVO.setVolDisOverDay(volDisOverDay);
|
|
|
|
|
// monitorOverLimitVO.setVolContainOverDay(volContainOverDay);
|
|
|
|
|
// monitorOverLimitVO.setHarmCurOverDay(harmCurOverDay);
|
|
|
|
|
// monitorOverLimitVO.setIntHarmOverDay(intHarmOverDay);
|
|
|
|
|
// monitorOverLimitVO.setOverVolThreeTimes(overVolThreeTimes);
|
|
|
|
|
// monitorOverLimitVO.setOverVolFiveTimes(overVolFiveTimes);
|
|
|
|
|
// monitorOverLimitVO.setOverVolSevenTimes(overVolSevenTimes);
|
|
|
|
|
// monitorOverLimitVO.setOverVolElevenTimes(overVolElevenTimes);
|
|
|
|
|
// monitorOverLimitVO.setOverVolThirteenTimes(overVolThirteenTimes);
|
|
|
|
|
// monitorOverLimitVO.setOverVolTwentyThreeTimes(overVolTwentyThreeTimes);
|
|
|
|
|
// monitorOverLimitVO.setOverVolTwentyFiveTimes(overVolTwentyFiveTimes);
|
|
|
|
|
// monitorOverLimitVO.setOverVolOtherTimes(overVolOtherTimes);
|
|
|
|
|
// monitorOverLimitVO.setOverCurThreeTimes(overCurThreeTimes);
|
|
|
|
|
// monitorOverLimitVO.setOverCurFiveTimes(overCurFiveTimes);
|
|
|
|
|
// monitorOverLimitVO.setOverCurSevenTimes(overCurSevenTimes);
|
|
|
|
|
// monitorOverLimitVO.setOverCurElevenTimes(overCurElevenTimes);
|
|
|
|
|
// monitorOverLimitVO.setOverCurThirteenTimes(overCurThirteenTimes);
|
|
|
|
|
// monitorOverLimitVO.setOverCurTwentyThreeTimes(overCurTwentyThreeTimes);
|
|
|
|
|
// monitorOverLimitVO.setOverCurTwentyFiveTimes(overCurTwentyFiveTimes);
|
|
|
|
|
// monitorOverLimitVO.setOverCurOtherTimes(overCurOtherTimes);
|
|
|
|
|
// result.add(monitorOverLimitVO);
|
|
|
|
|
// });
|
|
|
|
|
// }
|
|
|
|
|
// if (!CollectionUtils.isEmpty(result)){
|
|
|
|
|
// List<MonitorOverLimitVO> recordList = new ArrayList<>();
|
|
|
|
|
// //默认 根据在线监测点个数 倒叙排序
|
|
|
|
|
// recordList = result.stream().sorted(Comparator.comparing(MonitorOverLimitVO::getOverDay).reversed()).collect(Collectors.toList());
|
|
|
|
|
// page.setRecords(recordList);
|
|
|
|
|
// return page;
|
|
|
|
|
// }
|
|
|
|
|
// return page;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private boolean FilterNotQualifiedInuharmData(RStatLimitRateDPO t) {
|
|
|
|
|
int i =t.getInuharm1Overtime()+ t.getInuharm2Overtime() + t.getInuharm3Overtime() + t.getInuharm4Overtime() + t.getInuharm5Overtime() + t.getInuharm6Overtime() + t.getInuharm7Overtime() + t.getInuharm8Overtime() + t.getInuharm9Overtime() + t.getInuharm10Overtime() + t.getInuharm11Overtime() + t.getInuharm12Overtime() + t.getInuharm13Overtime() + t.getInuharm14Overtime() + t.getInuharm15Overtime() + t.getInuharm16Overtime();
|
|
|
|
|
if (i>0){
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private boolean FilterNotQualifiedIharmData(RStatLimitRateDPO t) {
|
|
|
|
|
int i = t.getIharm2Overtime() + t.getIharm3Overtime() + t.getIharm4Overtime() + t.getIharm5Overtime() + t.getIharm6Overtime() + t.getIharm7Overtime() + t.getIharm8Overtime() + t.getIharm9Overtime() + t.getIharm10Overtime() + t.getIharm11Overtime() + t.getIharm12Overtime() + t.getIharm13Overtime() + t.getIharm14Overtime() + t.getIharm15Overtime() + t.getIharm16Overtime() + t.getIharm17Overtime() + t.getIharm18Overtime() + t.getIharm19Overtime() + t.getIharm20Overtime() + t.getIharm21Overtime() + t.getIharm22Overtime() + t.getIharm23Overtime() + t.getIharm24Overtime() + t.getIharm25Overtime();
|
|
|
|
|
if (i>0){
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private boolean FilterNotQualifiedUharmData(RStatLimitRateDPO t) {
|
|
|
|
|
int i = t.getUharm2Overtime() + t.getUharm3Overtime() + t.getUharm4Overtime() + t.getUharm5Overtime() + t.getUharm6Overtime() + t.getUharm7Overtime() + t.getUharm8Overtime() + t.getUharm9Overtime() + t.getUharm10Overtime() + t.getUharm11Overtime() + t.getUharm12Overtime() + t.getUharm13Overtime() + t.getUharm14Overtime() + t.getUharm15Overtime() + t.getUharm16Overtime() + t.getUharm17Overtime() + t.getUharm18Overtime() + t.getUharm19Overtime() + t.getUharm20Overtime() + t.getUharm21Overtime() + t.getUharm22Overtime() + t.getUharm23Overtime() + t.getUharm24Overtime() + t.getUharm25Overtime();
|
|
|
|
|
|
|
|
|
|
if (i>0){
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|