修改数据占比可能超过100%问题
This commit is contained in:
@@ -185,7 +185,7 @@ public class LineIntegrityDataServiceImpl extends ServiceImpl<LineIntegrityDataM
|
|||||||
lineIntegrityDataVO.setId(generalDeviceDTO.getIndex());
|
lineIntegrityDataVO.setId(generalDeviceDTO.getIndex());
|
||||||
lineIntegrityDataVO.setName(generalDeviceDTO.getName());
|
lineIntegrityDataVO.setName(generalDeviceDTO.getName());
|
||||||
lineIntegrityDataVO.setLevel(0);
|
lineIntegrityDataVO.setLevel(0);
|
||||||
lineIntegrityDataVO.setIntegrityData(temValue);
|
lineIntegrityDataVO.setIntegrityData(DataStatisticsUtil.dataLimits(temValue));
|
||||||
pro.add(lineIntegrityDataVO);
|
pro.add(lineIntegrityDataVO);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -217,7 +217,7 @@ public class TerminalOnlineRateDataServiceImpl implements TerminalOnlineRateData
|
|||||||
//终端在线率 保留两位小数
|
//终端在线率 保留两位小数
|
||||||
Double onlineRate = po.getOnlineRate() == null ? null : BigDecimal.valueOf(Double.parseDouble(po.getOnlineRate().toString())).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
|
Double onlineRate = po.getOnlineRate() == null ? null : BigDecimal.valueOf(Double.parseDouble(po.getOnlineRate().toString())).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
|
||||||
publicDTO.setId(po.getDevIndex());
|
publicDTO.setId(po.getDevIndex());
|
||||||
publicDTO.setData(onlineRate);
|
publicDTO.setData(DataStatisticsUtil.dataLimits(onlineRate));
|
||||||
publicDTOList.add(publicDTO);
|
publicDTOList.add(publicDTO);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -127,7 +127,7 @@ public class DataStatisticsUtil {
|
|||||||
for (TerminalOnlineRateData onlineRateData : terminalOnlineRateList) {
|
for (TerminalOnlineRateData onlineRateData : terminalOnlineRateList) {
|
||||||
if (onlineRateDataVO.getId().equals(onlineRateData.getDevId())) {
|
if (onlineRateDataVO.getId().equals(onlineRateData.getDevId())) {
|
||||||
flag = true;
|
flag = true;
|
||||||
onlineRateDataVO.setOnlineRate(onlineRateData.getOnlineRate());
|
onlineRateDataVO.setOnlineRate( dataLimits(onlineRateData.getOnlineRate()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -140,7 +140,14 @@ public class DataStatisticsUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param data
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static Double dataLimits(Double data){
|
||||||
|
return data>100?100:data;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -85,4 +85,8 @@ public class PubUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Double dataLimits(Double data){
|
||||||
|
return data>100?100:data;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,9 +6,7 @@ import org.slf4j.LoggerFactory;
|
|||||||
|
|
||||||
import javax.servlet.ServletOutputStream;
|
import javax.servlet.ServletOutputStream;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import javax.servlet.http.HttpSession;
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.net.URLEncoder;
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
|
|||||||
@@ -33,7 +33,6 @@ import org.springframework.web.multipart.MultipartFile;
|
|||||||
import sun.misc.BASE64Encoder;
|
import sun.misc.BASE64Encoder;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import javax.servlet.http.HttpSession;
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ 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;
|
||||||
import com.njcn.harmonic.service.SteadyExceedRateService;
|
import com.njcn.harmonic.service.SteadyExceedRateService;
|
||||||
|
import com.njcn.harmonic.utils.PubUtils;
|
||||||
import com.njcn.influxdb.param.InfluxDBPublicParam;
|
import com.njcn.influxdb.param.InfluxDBPublicParam;
|
||||||
import com.njcn.influxdb.utils.InfluxDbUtils;
|
import com.njcn.influxdb.utils.InfluxDbUtils;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
@@ -68,7 +69,7 @@ public class SteadyExceedRateServiceImpl implements SteadyExceedRateService {
|
|||||||
steadyExceedRateVO.setName(generalDeviceDTO.getName());
|
steadyExceedRateVO.setName(generalDeviceDTO.getName());
|
||||||
List<LimitRatePO> qualifiesRate = getQualifiesRate(lineIndexes, steadyExceedParam.getSearchBeginTime(), steadyExceedParam.getSearchEndTime());
|
List<LimitRatePO> qualifiesRate = getQualifiesRate(lineIndexes, steadyExceedParam.getSearchBeginTime(), steadyExceedParam.getSearchEndTime());
|
||||||
SteadyExceedRateVO dataMoreMonitorMoreDay = getDataMoreMonitorMoreDay(qualifiesRate);
|
SteadyExceedRateVO dataMoreMonitorMoreDay = getDataMoreMonitorMoreDay(qualifiesRate);
|
||||||
steadyExceedRateVO.setSteadyExceedRate(dataMoreMonitorMoreDay.getSteadyExceedRate());
|
steadyExceedRateVO.setSteadyExceedRate(PubUtils.dataLimits(dataMoreMonitorMoreDay.getSteadyExceedRate()));
|
||||||
|
|
||||||
//组装父级数据树
|
//组装父级数据树
|
||||||
List<SteadyExceedRateVO> treeList = getTreeData(lineIndexes, steadyExceedParam);
|
List<SteadyExceedRateVO> treeList = getTreeData(lineIndexes, steadyExceedParam);
|
||||||
@@ -235,7 +236,7 @@ public class SteadyExceedRateServiceImpl implements SteadyExceedRateService {
|
|||||||
List<LimitRatePO> qualifiesRate = getQualifiesRate(lineIndexes, steadyExceedParam.getSearchBeginTime(), steadyExceedParam.getSearchEndTime());
|
List<LimitRatePO> qualifiesRate = getQualifiesRate(lineIndexes, steadyExceedParam.getSearchBeginTime(), steadyExceedParam.getSearchEndTime());
|
||||||
monitorList.forEach(steadyExceedRateVO -> {
|
monitorList.forEach(steadyExceedRateVO -> {
|
||||||
SteadyExceedRateVO dataSingleMonitorMoreDay = getDataSingleMonitorMoreDay(qualifiesRate, steadyExceedRateVO.getId());
|
SteadyExceedRateVO dataSingleMonitorMoreDay = getDataSingleMonitorMoreDay(qualifiesRate, steadyExceedRateVO.getId());
|
||||||
steadyExceedRateVO.setSteadyExceedRate(dataSingleMonitorMoreDay.getSteadyExceedRate());
|
steadyExceedRateVO.setSteadyExceedRate(PubUtils.dataLimits(dataSingleMonitorMoreDay.getSteadyExceedRate()));
|
||||||
});
|
});
|
||||||
setChildesList(substationList,monitorList);
|
setChildesList(substationList,monitorList);
|
||||||
setFatherDistortion(substationList);
|
setFatherDistortion(substationList);
|
||||||
@@ -267,7 +268,7 @@ public class SteadyExceedRateServiceImpl implements SteadyExceedRateService {
|
|||||||
List<SteadyExceedRateVO> flicker = children.stream().filter(child -> !Objects.equals(child.getSteadyExceedRate(), 3.14159)).collect(Collectors.toList());
|
List<SteadyExceedRateVO> flicker = children.stream().filter(child -> !Objects.equals(child.getSteadyExceedRate(), 3.14159)).collect(Collectors.toList());
|
||||||
|
|
||||||
if (!CollectionUtils.isEmpty(flicker)) {
|
if (!CollectionUtils.isEmpty(flicker)) {
|
||||||
steadyExceedRateVO.setSteadyExceedRate(NumberUtil.round(flicker.stream().mapToDouble(SteadyExceedRateVO::getSteadyExceedRate).average().orElse(1.2345), 2).doubleValue());
|
steadyExceedRateVO.setSteadyExceedRate(PubUtils.dataLimits(NumberUtil.round(flicker.stream().mapToDouble(SteadyExceedRateVO::getSteadyExceedRate).average().orElse(1.2345), 2).doubleValue()));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -371,7 +372,7 @@ public class SteadyExceedRateServiceImpl implements SteadyExceedRateService {
|
|||||||
}
|
}
|
||||||
if (CollectionUtil.isNotEmpty(steadyResults)) {
|
if (CollectionUtil.isNotEmpty(steadyResults)) {
|
||||||
//求区域监测点多天的平均值
|
//求区域监测点多天的平均值
|
||||||
steadyExceedRateVO.setSteadyExceedRate(NumberUtil.round(steadyResults.stream().mapToDouble(SteadyExceedRateVO::getSteadyExceedRate).average().orElse(0), 2).doubleValue());
|
steadyExceedRateVO.setSteadyExceedRate(PubUtils.dataLimits(NumberUtil.round(steadyResults.stream().mapToDouble(SteadyExceedRateVO::getSteadyExceedRate).average().orElse(0), 2).doubleValue()));
|
||||||
}
|
}
|
||||||
return steadyExceedRateVO;
|
return steadyExceedRateVO;
|
||||||
}
|
}
|
||||||
@@ -388,7 +389,7 @@ public class SteadyExceedRateServiceImpl implements SteadyExceedRateService {
|
|||||||
steadyResults = steadyResults.stream().filter(item -> item.getSteadyExceedRate()!=3.14159).collect(Collectors.toList());
|
steadyResults = steadyResults.stream().filter(item -> item.getSteadyExceedRate()!=3.14159).collect(Collectors.toList());
|
||||||
if (CollectionUtil.isNotEmpty(steadyResults)) {
|
if (CollectionUtil.isNotEmpty(steadyResults)) {
|
||||||
//求多个监测点的平均值
|
//求多个监测点的平均值
|
||||||
steadyExceedRateVO.setSteadyExceedRate(NumberUtil.round(steadyResults.stream().mapToDouble(SteadyExceedRateVO::getSteadyExceedRate).average().orElse(0), 2).doubleValue());
|
steadyExceedRateVO.setSteadyExceedRate(PubUtils.dataLimits(NumberUtil.round(steadyResults.stream().mapToDouble(SteadyExceedRateVO::getSteadyExceedRate).average().orElse(0), 2).doubleValue()));
|
||||||
|
|
||||||
}
|
}
|
||||||
steadyExceedRateVO.setTime(time);
|
steadyExceedRateVO.setTime(time);
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ import com.njcn.harmonic.pojo.vo.SteadyQualifyCensusVO;
|
|||||||
import com.njcn.harmonic.pojo.vo.SteadyQualifyVO;
|
import com.njcn.harmonic.pojo.vo.SteadyQualifyVO;
|
||||||
import com.njcn.harmonic.service.IRStatLimitRateDService;
|
import com.njcn.harmonic.service.IRStatLimitRateDService;
|
||||||
import com.njcn.harmonic.service.SteadyQualifyService;
|
import com.njcn.harmonic.service.SteadyQualifyService;
|
||||||
|
import com.njcn.harmonic.utils.PubUtils;
|
||||||
import com.njcn.influxdb.param.InfluxDBPublicParam;
|
import com.njcn.influxdb.param.InfluxDBPublicParam;
|
||||||
import com.njcn.influxdb.utils.InfluxDbUtils;
|
import com.njcn.influxdb.utils.InfluxDbUtils;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
@@ -146,14 +147,14 @@ public class SteadyQualifyServiceImpl implements SteadyQualifyService {
|
|||||||
List<SteadyQualifyDTO> qualifiesRate = getQualifiesRate(lineIndexes, steadyParam.getSearchBeginTime(), steadyParam.getSearchEndTime());
|
List<SteadyQualifyDTO> qualifiesRate = getQualifiesRate(lineIndexes, steadyParam.getSearchBeginTime(), steadyParam.getSearchEndTime());
|
||||||
monitorList.forEach(steadyQualifyVO -> {
|
monitorList.forEach(steadyQualifyVO -> {
|
||||||
SteadyQualifyVO dataSingleMonitorMoreDay = getDataSingleMonitorMoreDay(qualifiesRate, steadyQualifyVO.getId());
|
SteadyQualifyVO dataSingleMonitorMoreDay = getDataSingleMonitorMoreDay(qualifiesRate, steadyQualifyVO.getId());
|
||||||
steadyQualifyVO.setFlicker(dataSingleMonitorMoreDay.getFlicker());
|
steadyQualifyVO.setFlicker(PubUtils.dataLimits(dataSingleMonitorMoreDay.getFlicker()));
|
||||||
steadyQualifyVO.setFreqOffset(dataSingleMonitorMoreDay.getFreqOffset());
|
steadyQualifyVO.setFreqOffset(PubUtils.dataLimits(dataSingleMonitorMoreDay.getFreqOffset()));
|
||||||
steadyQualifyVO.setVoltageOffset(dataSingleMonitorMoreDay.getVoltageOffset());
|
steadyQualifyVO.setVoltageOffset(PubUtils.dataLimits(dataSingleMonitorMoreDay.getVoltageOffset()));
|
||||||
steadyQualifyVO.setVoltageUnbalance(dataSingleMonitorMoreDay.getVoltageUnbalance());
|
steadyQualifyVO.setVoltageUnbalance(PubUtils.dataLimits(dataSingleMonitorMoreDay.getVoltageUnbalance()));
|
||||||
steadyQualifyVO.setNegativeCurrent(dataSingleMonitorMoreDay.getNegativeCurrent());
|
steadyQualifyVO.setNegativeCurrent(PubUtils.dataLimits(dataSingleMonitorMoreDay.getNegativeCurrent()));
|
||||||
steadyQualifyVO.setHarmonicVoltage(dataSingleMonitorMoreDay.getHarmonicVoltage());
|
steadyQualifyVO.setHarmonicVoltage(PubUtils.dataLimits(dataSingleMonitorMoreDay.getHarmonicVoltage()));
|
||||||
steadyQualifyVO.setHarmonicCurrent(dataSingleMonitorMoreDay.getHarmonicCurrent());
|
steadyQualifyVO.setHarmonicCurrent(PubUtils.dataLimits(dataSingleMonitorMoreDay.getHarmonicCurrent()));
|
||||||
steadyQualifyVO.setInterHarmonic(dataSingleMonitorMoreDay.getInterHarmonic());
|
steadyQualifyVO.setInterHarmonic(PubUtils.dataLimits(dataSingleMonitorMoreDay.getInterHarmonic()));
|
||||||
});
|
});
|
||||||
setChildesList(substationList,monitorList);
|
setChildesList(substationList,monitorList);
|
||||||
setFatherDistortion(substationList);
|
setFatherDistortion(substationList);
|
||||||
@@ -179,28 +180,28 @@ public class SteadyQualifyServiceImpl implements SteadyQualifyService {
|
|||||||
List<SteadyQualifyVO> harmonicCurrent = children.stream().filter(child -> !Objects.equals(child.getHarmonicCurrent(), 3.14159)).collect(Collectors.toList());
|
List<SteadyQualifyVO> harmonicCurrent = children.stream().filter(child -> !Objects.equals(child.getHarmonicCurrent(), 3.14159)).collect(Collectors.toList());
|
||||||
List<SteadyQualifyVO> InterHarmonic = children.stream().filter(child -> !Objects.equals(child.getInterHarmonic(), 3.14159)).collect(Collectors.toList());
|
List<SteadyQualifyVO> InterHarmonic = children.stream().filter(child -> !Objects.equals(child.getInterHarmonic(), 3.14159)).collect(Collectors.toList());
|
||||||
if (!CollectionUtils.isEmpty(flicker)) {
|
if (!CollectionUtils.isEmpty(flicker)) {
|
||||||
steadyQualifyVO.setFlicker(NumberUtil.round(flicker.stream().mapToDouble(SteadyQualifyVO::getFlicker).average().orElse(100), 2).doubleValue());
|
steadyQualifyVO.setFlicker(PubUtils.dataLimits(NumberUtil.round(flicker.stream().mapToDouble(SteadyQualifyVO::getFlicker).average().orElse(100), 2).doubleValue()));
|
||||||
}
|
}
|
||||||
if (!CollectionUtils.isEmpty(freqOffset)) {
|
if (!CollectionUtils.isEmpty(freqOffset)) {
|
||||||
steadyQualifyVO.setFreqOffset(NumberUtil.round(freqOffset.stream().mapToDouble(SteadyQualifyVO::getFreqOffset).average().orElse(100), 2).doubleValue());
|
steadyQualifyVO.setFreqOffset(PubUtils.dataLimits(NumberUtil.round(freqOffset.stream().mapToDouble(SteadyQualifyVO::getFreqOffset).average().orElse(100), 2).doubleValue()));
|
||||||
}
|
}
|
||||||
if (!CollectionUtils.isEmpty(voltageOffset)) {
|
if (!CollectionUtils.isEmpty(voltageOffset)) {
|
||||||
steadyQualifyVO.setVoltageOffset(NumberUtil.round(voltageOffset.stream().mapToDouble(SteadyQualifyVO::getVoltageOffset).average().orElse(100), 2).doubleValue());
|
steadyQualifyVO.setVoltageOffset(PubUtils.dataLimits(NumberUtil.round(voltageOffset.stream().mapToDouble(SteadyQualifyVO::getVoltageOffset).average().orElse(100), 2).doubleValue()));
|
||||||
}
|
}
|
||||||
if (!CollectionUtils.isEmpty(voltageUnbalance)) {
|
if (!CollectionUtils.isEmpty(voltageUnbalance)) {
|
||||||
steadyQualifyVO.setVoltageUnbalance(NumberUtil.round(voltageUnbalance.stream().mapToDouble(SteadyQualifyVO::getVoltageUnbalance).average().orElse(100), 2).doubleValue());
|
steadyQualifyVO.setVoltageUnbalance(PubUtils.dataLimits(NumberUtil.round(voltageUnbalance.stream().mapToDouble(SteadyQualifyVO::getVoltageUnbalance).average().orElse(100), 2).doubleValue()));
|
||||||
}
|
}
|
||||||
if (!CollectionUtils.isEmpty(negativeCurrent)) {
|
if (!CollectionUtils.isEmpty(negativeCurrent)) {
|
||||||
steadyQualifyVO.setNegativeCurrent(NumberUtil.round(negativeCurrent.stream().mapToDouble(SteadyQualifyVO::getNegativeCurrent).average().orElse(100), 2).doubleValue());
|
steadyQualifyVO.setNegativeCurrent(PubUtils.dataLimits(NumberUtil.round(negativeCurrent.stream().mapToDouble(SteadyQualifyVO::getNegativeCurrent).average().orElse(100), 2).doubleValue()));
|
||||||
}
|
}
|
||||||
if (!CollectionUtils.isEmpty(harmonicVoltage)) {
|
if (!CollectionUtils.isEmpty(harmonicVoltage)) {
|
||||||
steadyQualifyVO.setHarmonicVoltage(NumberUtil.round(harmonicVoltage.stream().mapToDouble(SteadyQualifyVO::getHarmonicVoltage).average().orElse(100), 2).doubleValue());
|
steadyQualifyVO.setHarmonicVoltage(PubUtils.dataLimits(NumberUtil.round(harmonicVoltage.stream().mapToDouble(SteadyQualifyVO::getHarmonicVoltage).average().orElse(100), 2).doubleValue()));
|
||||||
}
|
}
|
||||||
if (!CollectionUtils.isEmpty(harmonicCurrent)) {
|
if (!CollectionUtils.isEmpty(harmonicCurrent)) {
|
||||||
steadyQualifyVO.setHarmonicCurrent(NumberUtil.round(harmonicCurrent.stream().mapToDouble(SteadyQualifyVO::getHarmonicCurrent).average().orElse(100), 2).doubleValue());
|
steadyQualifyVO.setHarmonicCurrent(PubUtils.dataLimits(NumberUtil.round(harmonicCurrent.stream().mapToDouble(SteadyQualifyVO::getHarmonicCurrent).average().orElse(100), 2).doubleValue()));
|
||||||
}
|
}
|
||||||
if (!CollectionUtils.isEmpty(InterHarmonic)) {
|
if (!CollectionUtils.isEmpty(InterHarmonic)) {
|
||||||
steadyQualifyVO.setInterHarmonic(NumberUtil.round(InterHarmonic.stream().mapToDouble(SteadyQualifyVO::getInterHarmonic).average().orElse(100), 2).doubleValue());
|
steadyQualifyVO.setInterHarmonic(PubUtils.dataLimits(NumberUtil.round(InterHarmonic.stream().mapToDouble(SteadyQualifyVO::getInterHarmonic).average().orElse(100), 2).doubleValue()));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -333,28 +334,28 @@ public class SteadyQualifyServiceImpl implements SteadyQualifyService {
|
|||||||
List<SteadyQualifyVO> interHarmonic = steadyResults.stream().filter(s -> s.getInterHarmonic() != 3.14159).collect(Collectors.toList());
|
List<SteadyQualifyVO> interHarmonic = steadyResults.stream().filter(s -> s.getInterHarmonic() != 3.14159).collect(Collectors.toList());
|
||||||
//求各项平均值
|
//求各项平均值
|
||||||
if (!CollectionUtils.isEmpty(flicker)) {
|
if (!CollectionUtils.isEmpty(flicker)) {
|
||||||
steadyQualifyVO.setFlicker(NumberUtil.round(steadyResults.stream().mapToDouble(SteadyQualifyVO::getFlicker).average().orElse(100), 2).doubleValue());
|
steadyQualifyVO.setFlicker(PubUtils.dataLimits(NumberUtil.round(steadyResults.stream().mapToDouble(SteadyQualifyVO::getFlicker).average().orElse(100), 2).doubleValue()));
|
||||||
}
|
}
|
||||||
if (!CollectionUtils.isEmpty(freqOffset)) {
|
if (!CollectionUtils.isEmpty(freqOffset)) {
|
||||||
steadyQualifyVO.setFreqOffset(NumberUtil.round(steadyResults.stream().mapToDouble(SteadyQualifyVO::getFreqOffset).average().orElse(100), 2).doubleValue());
|
steadyQualifyVO.setFreqOffset(PubUtils.dataLimits(NumberUtil.round(steadyResults.stream().mapToDouble(SteadyQualifyVO::getFreqOffset).average().orElse(100), 2).doubleValue()));
|
||||||
}
|
}
|
||||||
if (!CollectionUtils.isEmpty(voltageOffset)) {
|
if (!CollectionUtils.isEmpty(voltageOffset)) {
|
||||||
steadyQualifyVO.setVoltageOffset(NumberUtil.round(steadyResults.stream().mapToDouble(SteadyQualifyVO::getVoltageOffset).average().orElse(100), 2).doubleValue());
|
steadyQualifyVO.setVoltageOffset(PubUtils.dataLimits(NumberUtil.round(steadyResults.stream().mapToDouble(SteadyQualifyVO::getVoltageOffset).average().orElse(100), 2).doubleValue()));
|
||||||
}
|
}
|
||||||
if (!CollectionUtils.isEmpty(voltageUnbalance)) {
|
if (!CollectionUtils.isEmpty(voltageUnbalance)) {
|
||||||
steadyQualifyVO.setVoltageUnbalance(NumberUtil.round(steadyResults.stream().mapToDouble(SteadyQualifyVO::getVoltageUnbalance).average().orElse(100), 2).doubleValue());
|
steadyQualifyVO.setVoltageUnbalance(PubUtils.dataLimits(NumberUtil.round(steadyResults.stream().mapToDouble(SteadyQualifyVO::getVoltageUnbalance).average().orElse(100), 2).doubleValue()));
|
||||||
}
|
}
|
||||||
if (!CollectionUtils.isEmpty(negativeCurrent)) {
|
if (!CollectionUtils.isEmpty(negativeCurrent)) {
|
||||||
steadyQualifyVO.setNegativeCurrent(NumberUtil.round(steadyResults.stream().mapToDouble(SteadyQualifyVO::getNegativeCurrent).average().orElse(100), 2).doubleValue());
|
steadyQualifyVO.setNegativeCurrent(PubUtils.dataLimits(NumberUtil.round(steadyResults.stream().mapToDouble(SteadyQualifyVO::getNegativeCurrent).average().orElse(100), 2).doubleValue()));
|
||||||
}
|
}
|
||||||
if (!CollectionUtils.isEmpty(harmonicVoltage)) {
|
if (!CollectionUtils.isEmpty(harmonicVoltage)) {
|
||||||
steadyQualifyVO.setHarmonicVoltage(NumberUtil.round(steadyResults.stream().mapToDouble(SteadyQualifyVO::getHarmonicVoltage).average().orElse(100), 2).doubleValue());
|
steadyQualifyVO.setHarmonicVoltage(PubUtils.dataLimits(NumberUtil.round(steadyResults.stream().mapToDouble(SteadyQualifyVO::getHarmonicVoltage).average().orElse(100), 2).doubleValue()));
|
||||||
}
|
}
|
||||||
if (!CollectionUtils.isEmpty(harmonicCurrent)) {
|
if (!CollectionUtils.isEmpty(harmonicCurrent)) {
|
||||||
steadyQualifyVO.setHarmonicCurrent(NumberUtil.round(steadyResults.stream().mapToDouble(SteadyQualifyVO::getHarmonicCurrent).average().orElse(100), 2).doubleValue());
|
steadyQualifyVO.setHarmonicCurrent(PubUtils.dataLimits(NumberUtil.round(steadyResults.stream().mapToDouble(SteadyQualifyVO::getHarmonicCurrent).average().orElse(100), 2).doubleValue()));
|
||||||
}
|
}
|
||||||
if (!CollectionUtils.isEmpty(interHarmonic)) {
|
if (!CollectionUtils.isEmpty(interHarmonic)) {
|
||||||
steadyQualifyVO.setInterHarmonic(NumberUtil.round(steadyResults.stream().mapToDouble(SteadyQualifyVO::getInterHarmonic).average().orElse(100), 2).doubleValue());
|
steadyQualifyVO.setInterHarmonic(PubUtils.dataLimits(NumberUtil.round(steadyResults.stream().mapToDouble(SteadyQualifyVO::getInterHarmonic).average().orElse(100), 2).doubleValue()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return steadyQualifyVO;
|
return steadyQualifyVO;
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import com.njcn.harmonic.pojo.vo.THDistortionCensusVO;
|
|||||||
import com.njcn.harmonic.pojo.vo.THDistortionVO;
|
import com.njcn.harmonic.pojo.vo.THDistortionVO;
|
||||||
import com.njcn.harmonic.service.IRStatDataVDService;
|
import com.njcn.harmonic.service.IRStatDataVDService;
|
||||||
import com.njcn.harmonic.service.THDistortionService;
|
import com.njcn.harmonic.service.THDistortionService;
|
||||||
|
import com.njcn.harmonic.utils.PubUtils;
|
||||||
import com.njcn.influxdb.utils.InfluxDbUtils;
|
import com.njcn.influxdb.utils.InfluxDbUtils;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import org.influxdb.dto.QueryResult;
|
import org.influxdb.dto.QueryResult;
|
||||||
@@ -105,7 +106,7 @@ public class THDistortionServiceImpl implements THDistortionService {
|
|||||||
}
|
}
|
||||||
type.add(generalDeviceDTO.getName());
|
type.add(generalDeviceDTO.getName());
|
||||||
List<PublicDTO> condition = getCondition(lineIndexes, thDistortionCensusParam.getSearchBeginTime(), thDistortionCensusParam.getSearchEndTime());
|
List<PublicDTO> condition = getCondition(lineIndexes, thDistortionCensusParam.getSearchBeginTime(), thDistortionCensusParam.getSearchEndTime());
|
||||||
single.add(condition.stream().mapToDouble(PublicDTO::getData).average().orElse(3.14159));
|
single.add(roundHalfUp(condition.stream().mapToDouble(PublicDTO::getData).average().orElse(3.14159)));
|
||||||
}
|
}
|
||||||
distortionCensusVO.setType(type);
|
distortionCensusVO.setType(type);
|
||||||
distortionCensusVO.setSingle(single);
|
distortionCensusVO.setSingle(single);
|
||||||
@@ -235,7 +236,7 @@ public class THDistortionServiceImpl implements THDistortionService {
|
|||||||
}
|
}
|
||||||
BigDecimal b = new BigDecimal(num);
|
BigDecimal b = new BigDecimal(num);
|
||||||
//保留2位小数
|
//保留2位小数
|
||||||
return b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
|
return PubUtils.dataLimits(b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import com.njcn.harmonic.pojo.dto.PublicDTO;
|
|||||||
import com.njcn.harmonic.pojo.vo.TerminalCensusVO;
|
import com.njcn.harmonic.pojo.vo.TerminalCensusVO;
|
||||||
import com.njcn.harmonic.pojo.vo.TerminalVO;
|
import com.njcn.harmonic.pojo.vo.TerminalVO;
|
||||||
import com.njcn.harmonic.service.TerminalService;
|
import com.njcn.harmonic.service.TerminalService;
|
||||||
|
import com.njcn.harmonic.utils.PubUtils;
|
||||||
import com.njcn.influxdb.param.InfluxDBPublicParam;
|
import com.njcn.influxdb.param.InfluxDBPublicParam;
|
||||||
import com.njcn.influxdb.utils.InfluxDbUtils;
|
import com.njcn.influxdb.utils.InfluxDbUtils;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
@@ -68,7 +69,7 @@ public class TerminalServiceImpl implements TerminalService {
|
|||||||
terminalVO.setFlag(null);
|
terminalVO.setFlag(null);
|
||||||
//查找在线率
|
//查找在线率
|
||||||
List<PublicDTO> condition = getCondition(deviceIndexes, terminalParam.getSearchBeginTime(), terminalParam.getSearchEndTime());
|
List<PublicDTO> condition = getCondition(deviceIndexes, terminalParam.getSearchBeginTime(), terminalParam.getSearchEndTime());
|
||||||
terminalVO.setOnlineRateData(condition.stream().mapToDouble(PublicDTO::getData).average().orElse(3.14159));
|
terminalVO.setOnlineRateData(PubUtils.dataLimits(condition.stream().mapToDouble(PublicDTO::getData).average().orElse(3.14159)));
|
||||||
terminalVO.setNumber(generalDeviceDTO.getDeviceIndexes().size());
|
terminalVO.setNumber(generalDeviceDTO.getDeviceIndexes().size());
|
||||||
//组装父级数据树
|
//组装父级数据树
|
||||||
List<TerminalVO> treeList = getTreeData(deviceIndexes, terminalParam);
|
List<TerminalVO> treeList = getTreeData(deviceIndexes, terminalParam);
|
||||||
@@ -172,7 +173,7 @@ public class TerminalServiceImpl implements TerminalService {
|
|||||||
//根据终端集合组装终端的在线率
|
//根据终端集合组装终端的在线率
|
||||||
if (!CollectionUtils.isEmpty(deviceList)) {
|
if (!CollectionUtils.isEmpty(deviceList)) {
|
||||||
deviceList.stream().map(list1 -> onlineRateList.stream().filter(list2 -> Objects.equals(list1.getId(), list2.getId())).findAny().map(m -> {
|
deviceList.stream().map(list1 -> onlineRateList.stream().filter(list2 -> Objects.equals(list1.getId(), list2.getId())).findAny().map(m -> {
|
||||||
list1.setOnlineRateData(m.getData());
|
list1.setOnlineRateData(PubUtils.dataLimits(m.getData()));
|
||||||
return list1;
|
return list1;
|
||||||
})).collect(Collectors.toList());
|
})).collect(Collectors.toList());
|
||||||
for (TerminalVO terminalVO: deviceList) {
|
for (TerminalVO terminalVO: deviceList) {
|
||||||
@@ -223,7 +224,7 @@ public class TerminalServiceImpl implements TerminalService {
|
|||||||
//终端在线率 保留两位小数
|
//终端在线率 保留两位小数
|
||||||
Double onlineRate = po.getOnlineRate() == null ? null : BigDecimal.valueOf(Double.parseDouble(po.getOnlineRate().toString())).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
|
Double onlineRate = po.getOnlineRate() == null ? null : BigDecimal.valueOf(Double.parseDouble(po.getOnlineRate().toString())).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
|
||||||
publicDTO.setId(po.getDevIndex());
|
publicDTO.setId(po.getDevIndex());
|
||||||
publicDTO.setData(onlineRate);
|
publicDTO.setData(PubUtils.dataLimits(onlineRate));
|
||||||
publicDTOList.add(publicDTO);
|
publicDTOList.add(publicDTO);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -275,7 +276,7 @@ public class TerminalServiceImpl implements TerminalService {
|
|||||||
List<TerminalVO> children = item.getChildren();
|
List<TerminalVO> children = item.getChildren();
|
||||||
List<TerminalVO> tempList = children.stream().filter(s -> !Objects.equals(s.getOnlineRateData(), 3.14159)).collect(Collectors.toList());
|
List<TerminalVO> tempList = children.stream().filter(s -> !Objects.equals(s.getOnlineRateData(), 3.14159)).collect(Collectors.toList());
|
||||||
if (!CollectionUtils.isEmpty(tempList)) {
|
if (!CollectionUtils.isEmpty(tempList)) {
|
||||||
item.setOnlineRateData(tempList.stream().mapToDouble(TerminalVO::getOnlineRateData).sum() / tempList.size());
|
item.setOnlineRateData(PubUtils.dataLimits(tempList.stream().mapToDouble(TerminalVO::getOnlineRateData).sum() / tempList.size()));
|
||||||
} else {
|
} else {
|
||||||
item.setOnlineRateData(3.14159);
|
item.setOnlineRateData(3.14159);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user