修改数据占比可能超过100%问题
This commit is contained in:
@@ -185,7 +185,7 @@ public class LineIntegrityDataServiceImpl extends ServiceImpl<LineIntegrityDataM
|
||||
lineIntegrityDataVO.setId(generalDeviceDTO.getIndex());
|
||||
lineIntegrityDataVO.setName(generalDeviceDTO.getName());
|
||||
lineIntegrityDataVO.setLevel(0);
|
||||
lineIntegrityDataVO.setIntegrityData(temValue);
|
||||
lineIntegrityDataVO.setIntegrityData(DataStatisticsUtil.dataLimits(temValue));
|
||||
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();
|
||||
publicDTO.setId(po.getDevIndex());
|
||||
publicDTO.setData(onlineRate);
|
||||
publicDTO.setData(DataStatisticsUtil.dataLimits(onlineRate));
|
||||
publicDTOList.add(publicDTO);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -127,7 +127,7 @@ public class DataStatisticsUtil {
|
||||
for (TerminalOnlineRateData onlineRateData : terminalOnlineRateList) {
|
||||
if (onlineRateDataVO.getId().equals(onlineRateData.getDevId())) {
|
||||
flag = true;
|
||||
onlineRateDataVO.setOnlineRate(onlineRateData.getOnlineRate());
|
||||
onlineRateDataVO.setOnlineRate( dataLimits(onlineRateData.getOnlineRate()));
|
||||
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.http.HttpServletResponse;
|
||||
import javax.servlet.http.HttpSession;
|
||||
import java.io.*;
|
||||
import java.net.URLEncoder;
|
||||
import java.util.*;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.regex.Matcher;
|
||||
|
||||
@@ -33,7 +33,6 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
import sun.misc.BASE64Encoder;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.servlet.http.HttpSession;
|
||||
import java.io.*;
|
||||
import java.text.SimpleDateFormat;
|
||||
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.service.IRStatLimitRateDService;
|
||||
import com.njcn.harmonic.service.SteadyExceedRateService;
|
||||
import com.njcn.harmonic.utils.PubUtils;
|
||||
import com.njcn.influxdb.param.InfluxDBPublicParam;
|
||||
import com.njcn.influxdb.utils.InfluxDbUtils;
|
||||
import lombok.AllArgsConstructor;
|
||||
@@ -68,7 +69,7 @@ public class SteadyExceedRateServiceImpl implements SteadyExceedRateService {
|
||||
steadyExceedRateVO.setName(generalDeviceDTO.getName());
|
||||
List<LimitRatePO> qualifiesRate = getQualifiesRate(lineIndexes, steadyExceedParam.getSearchBeginTime(), steadyExceedParam.getSearchEndTime());
|
||||
SteadyExceedRateVO dataMoreMonitorMoreDay = getDataMoreMonitorMoreDay(qualifiesRate);
|
||||
steadyExceedRateVO.setSteadyExceedRate(dataMoreMonitorMoreDay.getSteadyExceedRate());
|
||||
steadyExceedRateVO.setSteadyExceedRate(PubUtils.dataLimits(dataMoreMonitorMoreDay.getSteadyExceedRate()));
|
||||
|
||||
//组装父级数据树
|
||||
List<SteadyExceedRateVO> treeList = getTreeData(lineIndexes, steadyExceedParam);
|
||||
@@ -235,7 +236,7 @@ public class SteadyExceedRateServiceImpl implements SteadyExceedRateService {
|
||||
List<LimitRatePO> qualifiesRate = getQualifiesRate(lineIndexes, steadyExceedParam.getSearchBeginTime(), steadyExceedParam.getSearchEndTime());
|
||||
monitorList.forEach(steadyExceedRateVO -> {
|
||||
SteadyExceedRateVO dataSingleMonitorMoreDay = getDataSingleMonitorMoreDay(qualifiesRate, steadyExceedRateVO.getId());
|
||||
steadyExceedRateVO.setSteadyExceedRate(dataSingleMonitorMoreDay.getSteadyExceedRate());
|
||||
steadyExceedRateVO.setSteadyExceedRate(PubUtils.dataLimits(dataSingleMonitorMoreDay.getSteadyExceedRate()));
|
||||
});
|
||||
setChildesList(substationList,monitorList);
|
||||
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());
|
||||
|
||||
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)) {
|
||||
//求区域监测点多天的平均值
|
||||
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;
|
||||
}
|
||||
@@ -388,7 +389,7 @@ public class SteadyExceedRateServiceImpl implements SteadyExceedRateService {
|
||||
steadyResults = steadyResults.stream().filter(item -> item.getSteadyExceedRate()!=3.14159).collect(Collectors.toList());
|
||||
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);
|
||||
|
||||
@@ -19,6 +19,7 @@ import com.njcn.harmonic.pojo.vo.SteadyQualifyCensusVO;
|
||||
import com.njcn.harmonic.pojo.vo.SteadyQualifyVO;
|
||||
import com.njcn.harmonic.service.IRStatLimitRateDService;
|
||||
import com.njcn.harmonic.service.SteadyQualifyService;
|
||||
import com.njcn.harmonic.utils.PubUtils;
|
||||
import com.njcn.influxdb.param.InfluxDBPublicParam;
|
||||
import com.njcn.influxdb.utils.InfluxDbUtils;
|
||||
import lombok.AllArgsConstructor;
|
||||
@@ -146,14 +147,14 @@ public class SteadyQualifyServiceImpl implements SteadyQualifyService {
|
||||
List<SteadyQualifyDTO> qualifiesRate = getQualifiesRate(lineIndexes, steadyParam.getSearchBeginTime(), steadyParam.getSearchEndTime());
|
||||
monitorList.forEach(steadyQualifyVO -> {
|
||||
SteadyQualifyVO dataSingleMonitorMoreDay = getDataSingleMonitorMoreDay(qualifiesRate, steadyQualifyVO.getId());
|
||||
steadyQualifyVO.setFlicker(dataSingleMonitorMoreDay.getFlicker());
|
||||
steadyQualifyVO.setFreqOffset(dataSingleMonitorMoreDay.getFreqOffset());
|
||||
steadyQualifyVO.setVoltageOffset(dataSingleMonitorMoreDay.getVoltageOffset());
|
||||
steadyQualifyVO.setVoltageUnbalance(dataSingleMonitorMoreDay.getVoltageUnbalance());
|
||||
steadyQualifyVO.setNegativeCurrent(dataSingleMonitorMoreDay.getNegativeCurrent());
|
||||
steadyQualifyVO.setHarmonicVoltage(dataSingleMonitorMoreDay.getHarmonicVoltage());
|
||||
steadyQualifyVO.setHarmonicCurrent(dataSingleMonitorMoreDay.getHarmonicCurrent());
|
||||
steadyQualifyVO.setInterHarmonic(dataSingleMonitorMoreDay.getInterHarmonic());
|
||||
steadyQualifyVO.setFlicker(PubUtils.dataLimits(dataSingleMonitorMoreDay.getFlicker()));
|
||||
steadyQualifyVO.setFreqOffset(PubUtils.dataLimits(dataSingleMonitorMoreDay.getFreqOffset()));
|
||||
steadyQualifyVO.setVoltageOffset(PubUtils.dataLimits(dataSingleMonitorMoreDay.getVoltageOffset()));
|
||||
steadyQualifyVO.setVoltageUnbalance(PubUtils.dataLimits(dataSingleMonitorMoreDay.getVoltageUnbalance()));
|
||||
steadyQualifyVO.setNegativeCurrent(PubUtils.dataLimits(dataSingleMonitorMoreDay.getNegativeCurrent()));
|
||||
steadyQualifyVO.setHarmonicVoltage(PubUtils.dataLimits(dataSingleMonitorMoreDay.getHarmonicVoltage()));
|
||||
steadyQualifyVO.setHarmonicCurrent(PubUtils.dataLimits(dataSingleMonitorMoreDay.getHarmonicCurrent()));
|
||||
steadyQualifyVO.setInterHarmonic(PubUtils.dataLimits(dataSingleMonitorMoreDay.getInterHarmonic()));
|
||||
});
|
||||
setChildesList(substationList,monitorList);
|
||||
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> InterHarmonic = children.stream().filter(child -> !Objects.equals(child.getInterHarmonic(), 3.14159)).collect(Collectors.toList());
|
||||
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)) {
|
||||
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)) {
|
||||
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)) {
|
||||
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)) {
|
||||
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)) {
|
||||
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)) {
|
||||
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)) {
|
||||
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());
|
||||
//求各项平均值
|
||||
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)) {
|
||||
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)) {
|
||||
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)) {
|
||||
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)) {
|
||||
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)) {
|
||||
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)) {
|
||||
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)) {
|
||||
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;
|
||||
|
||||
@@ -26,6 +26,7 @@ import com.njcn.harmonic.pojo.vo.THDistortionCensusVO;
|
||||
import com.njcn.harmonic.pojo.vo.THDistortionVO;
|
||||
import com.njcn.harmonic.service.IRStatDataVDService;
|
||||
import com.njcn.harmonic.service.THDistortionService;
|
||||
import com.njcn.harmonic.utils.PubUtils;
|
||||
import com.njcn.influxdb.utils.InfluxDbUtils;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.influxdb.dto.QueryResult;
|
||||
@@ -105,7 +106,7 @@ public class THDistortionServiceImpl implements THDistortionService {
|
||||
}
|
||||
type.add(generalDeviceDTO.getName());
|
||||
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.setSingle(single);
|
||||
@@ -235,7 +236,7 @@ public class THDistortionServiceImpl implements THDistortionService {
|
||||
}
|
||||
BigDecimal b = new BigDecimal(num);
|
||||
//保留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.TerminalVO;
|
||||
import com.njcn.harmonic.service.TerminalService;
|
||||
import com.njcn.harmonic.utils.PubUtils;
|
||||
import com.njcn.influxdb.param.InfluxDBPublicParam;
|
||||
import com.njcn.influxdb.utils.InfluxDbUtils;
|
||||
import lombok.AllArgsConstructor;
|
||||
@@ -68,7 +69,7 @@ public class TerminalServiceImpl implements TerminalService {
|
||||
terminalVO.setFlag(null);
|
||||
//查找在线率
|
||||
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());
|
||||
//组装父级数据树
|
||||
List<TerminalVO> treeList = getTreeData(deviceIndexes, terminalParam);
|
||||
@@ -172,7 +173,7 @@ public class TerminalServiceImpl implements TerminalService {
|
||||
//根据终端集合组装终端的在线率
|
||||
if (!CollectionUtils.isEmpty(deviceList)) {
|
||||
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;
|
||||
})).collect(Collectors.toList());
|
||||
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();
|
||||
publicDTO.setId(po.getDevIndex());
|
||||
publicDTO.setData(onlineRate);
|
||||
publicDTO.setData(PubUtils.dataLimits(onlineRate));
|
||||
publicDTOList.add(publicDTO);
|
||||
});
|
||||
}
|
||||
@@ -275,7 +276,7 @@ public class TerminalServiceImpl implements TerminalService {
|
||||
List<TerminalVO> children = item.getChildren();
|
||||
List<TerminalVO> tempList = children.stream().filter(s -> !Objects.equals(s.getOnlineRateData(), 3.14159)).collect(Collectors.toList());
|
||||
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 {
|
||||
item.setOnlineRateData(3.14159);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user