微调
This commit is contained in:
@@ -8,7 +8,7 @@ import com.njcn.device.pq.api.GeneralDeviceInfoClient;
|
||||
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
|
||||
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
|
||||
import com.njcn.device.pq.pojo.param.OnlineRateParam;
|
||||
import com.njcn.device.pq.pojo.vo.RStatOnlinerateVO;
|
||||
import com.njcn.device.pq.pojo.vo.RStatOnlineRateVO;
|
||||
import com.njcn.harmonic.mapper.OnlineRateDataMapper;
|
||||
import com.njcn.harmonic.pojo.dto.PublicDTO;
|
||||
import com.njcn.harmonic.pojo.vo.OnlineRateCensusVO;
|
||||
@@ -143,7 +143,7 @@ public class OnlineRateDataServiceImpl implements OnlineRateDataService {
|
||||
param.setIds(deviceIndexes);
|
||||
param.setStartTime(DateUtil.beginOfDay(DateUtil.parse(startTime)).toString());
|
||||
param.setEndTime( DateUtil.endOfDay(DateUtil.parse(endTime)).toString());
|
||||
List<RStatOnlinerateVO> data = generalDeviceInfoClient.getOnlineRateByDevIds(param).getData();
|
||||
List<RStatOnlineRateVO> data = generalDeviceInfoClient.getOnlineRateByDevIds(param).getData();
|
||||
if (CollUtil.isNotEmpty(data)) {
|
||||
data.forEach(po -> {
|
||||
PublicDTO publicDTO = new PublicDTO();
|
||||
|
||||
@@ -41,7 +41,7 @@ import com.njcn.device.pq.pojo.po.Line;
|
||||
import com.njcn.device.pq.pojo.po.LineDetail;
|
||||
import com.njcn.device.pq.pojo.vo.GridDiagramVO;
|
||||
import com.njcn.device.pq.pojo.vo.RStatIntegrityVO;
|
||||
import com.njcn.device.pq.pojo.vo.RStatOnlinerateVO;
|
||||
import com.njcn.device.pq.pojo.vo.RStatOnlineRateVO;
|
||||
import com.njcn.event.api.RmpEventDetailFeignClient;
|
||||
import com.njcn.event.pojo.dto.EventCount;
|
||||
import com.njcn.harmonic.mapper.*;
|
||||
@@ -1001,11 +1001,11 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
onlineRateParam.setStartTime(startDate);
|
||||
onlineRateParam.setEndTime(endDate);
|
||||
List<RStatIntegrityVO> integrityVOS = lineFeignClient.getOnIntegrityByIds(onlineRateParam).getData();
|
||||
Map<String, Double> integrityMap = integrityVOS.stream().collect(Collectors.toMap(RStatIntegrityVO::getLineIndex, RStatIntegrityVO::getIntegrityRate));
|
||||
Map<String, BigDecimal> integrityMap = integrityVOS.stream().collect(Collectors.toMap(RStatIntegrityVO::getLineIndex, RStatIntegrityVO::getIntegrityRate));
|
||||
|
||||
//获取装置在线率
|
||||
List<RStatOnlinerateVO> onLineRateVOS = generalDeviceInfoClient.getOnlineRateByDevIds(onlineRateParam).getData();
|
||||
Map<String, Float> onlineRateMap = onLineRateVOS.stream().collect(Collectors.toMap(RStatOnlinerateVO::getDevIndex, RStatOnlinerateVO::getOnlineRate));
|
||||
List<RStatOnlineRateVO> onLineRateVOS = generalDeviceInfoClient.getOnlineRateByDevIds(onlineRateParam).getData();
|
||||
Map<String, BigDecimal> onlineRateMap = onLineRateVOS.stream().collect(Collectors.toMap(RStatOnlineRateVO::getDevIndex, RStatOnlineRateVO::getOnlineRate));
|
||||
|
||||
List<RMpPollutionDPO> rMpPollutionDPOS = rMpPollutionDPOMapper.selectSumList(lineIdList, param.getIds(), startDate, endDate);
|
||||
Map<String, Double> calcMap = new HashMap<>();
|
||||
@@ -1023,12 +1023,12 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
BeanUtil.copyProperties(eventMap.get(lineId), linePollution);
|
||||
BeanUtil.copyProperties(data, linePollution, true);
|
||||
//监测点在线率
|
||||
Float vo2 = onlineRateMap.get(data.getDeviceId());
|
||||
linePollution.setOnlineRate(Objects.isNull(vo2) ? 0.0f : vo2);
|
||||
BigDecimal vo2 = onlineRateMap.get(data.getDeviceId());
|
||||
linePollution.setOnlineRate(Objects.isNull(vo2) ? 0.0f : vo2.floatValue());
|
||||
//获取监测点数据完整性
|
||||
linePollution.setIntegrity(Objects.isNull(integrityMap.get(lineId)) ? 0.0 : integrityMap.get(lineId)>100?100.0:integrityMap.get(lineId));
|
||||
linePollution.setIntegrity(Objects.isNull(integrityMap.get(lineId)) ? 0.0 : integrityMap.get(lineId).doubleValue()>100?100.0:integrityMap.get(lineId).doubleValue());
|
||||
// 计算谐波的污染值
|
||||
linePollution.setHarmonicValue(calcMap.containsKey(lineId)?calcMap.get(lineId)>100?100.0:integrityMap.get(lineId):0.0);
|
||||
linePollution.setHarmonicValue(calcMap.containsKey(lineId)?calcMap.get(lineId)>100?100.0:integrityMap.get(lineId).doubleValue():0.0);
|
||||
linePollution.setInterval(data.getTimeInterval());
|
||||
linePollutionList.add(linePollution);
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import com.njcn.device.pq.api.GeneralDeviceInfoClient;
|
||||
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
|
||||
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
|
||||
import com.njcn.device.pq.pojo.param.OnlineRateParam;
|
||||
import com.njcn.device.pq.pojo.vo.RStatOnlinerateVO;
|
||||
import com.njcn.device.pq.pojo.vo.RStatOnlineRateVO;
|
||||
import com.njcn.harmonic.mapper.TerminalDataMapper;
|
||||
import com.njcn.harmonic.pojo.dto.PublicDTO;
|
||||
import com.njcn.harmonic.pojo.vo.TerminalCensusVO;
|
||||
@@ -211,7 +211,7 @@ public class TerminalServiceImpl implements TerminalService {
|
||||
param.setIds(deviceIndexes);
|
||||
param.setStartTime( DateUtil.beginOfDay(DateUtil.parse(startTime)).toString());
|
||||
param.setEndTime( DateUtil.endOfDay(DateUtil.parse(endTime)).toString());
|
||||
List<RStatOnlinerateVO> data = generalDeviceInfoClient.getOnlineRateByDevIds(param).getData();
|
||||
List<RStatOnlineRateVO> data = generalDeviceInfoClient.getOnlineRateByDevIds(param).getData();
|
||||
if (CollUtil.isNotEmpty(data)) {
|
||||
data.forEach(po -> {
|
||||
PublicDTO publicDTO = new PublicDTO();
|
||||
|
||||
@@ -25,7 +25,7 @@ import com.njcn.device.pq.pojo.param.DeviceInfoParam;
|
||||
import com.njcn.device.pq.pojo.param.OnlineRateParam;
|
||||
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
|
||||
import com.njcn.device.pq.pojo.vo.GridDiagramVO;
|
||||
import com.njcn.device.pq.pojo.vo.RStatOnlinerateVO;
|
||||
import com.njcn.device.pq.pojo.vo.RStatOnlineRateVO;
|
||||
import com.njcn.harmonic.mapper.RStatLimitTargetDMapper;
|
||||
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
|
||||
import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO;
|
||||
@@ -103,7 +103,7 @@ public class RStatLimitServiceImpl implements RStatLimitService {
|
||||
integrityList = lineIntegrityClient.getIntegrityByLineIds(lineIds, deviceInfoParam.getSearchBeginTime(), deviceInfoParam.getSearchEndTime()).getData();
|
||||
}
|
||||
//终端在线率
|
||||
List<RStatOnlinerateVO> onlineRateList =new ArrayList<>();
|
||||
List<RStatOnlineRateVO> onlineRateList =new ArrayList<>();
|
||||
if(CollUtil.isNotEmpty(devIds)){
|
||||
OnlineRateParam param=new OnlineRateParam();
|
||||
param.setIds(devIds);
|
||||
@@ -580,7 +580,7 @@ public class RStatLimitServiceImpl implements RStatLimitService {
|
||||
}
|
||||
|
||||
|
||||
private void onLineAndIntegrity(List<String> lineIds, List<RStatIntegrityD> onIntegrityByIds, List<String> devIds, List<RStatOnlinerateVO> onlineRateByDevIds,List<RStatLimitTargetVO> limitTargetList, GridDiagramVO.LineData lineData) {
|
||||
private void onLineAndIntegrity(List<String> lineIds, List<RStatIntegrityD> onIntegrityByIds, List<String> devIds, List<RStatOnlineRateVO> onlineRateByDevIds, List<RStatLimitTargetVO> limitTargetList, GridDiagramVO.LineData lineData) {
|
||||
//监测完整率
|
||||
List<RStatIntegrityD> integrityDS = onIntegrityByIds.stream().filter(x -> lineIds.contains(x.getLineIndex())).collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(integrityDS)) {
|
||||
@@ -591,10 +591,10 @@ public class RStatLimitServiceImpl implements RStatLimitService {
|
||||
lineData.setIntegrityRate(0.0f);
|
||||
}
|
||||
//终端在线率
|
||||
List<RStatOnlinerateVO> onlineRateDS = onlineRateByDevIds.stream().filter(x -> devIds.contains(x.getDevIndex())).collect(Collectors.toList());
|
||||
List<RStatOnlineRateVO> onlineRateDS = onlineRateByDevIds.stream().filter(x -> devIds.contains(x.getDevIndex())).collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(onlineRateDS)) {
|
||||
double onlineTime = onlineRateDS.stream().mapToDouble(RStatOnlinerateVO::getOnlineMin).sum();
|
||||
double offlineTime = onlineRateDS.stream().mapToDouble(RStatOnlinerateVO::getOfflineMin).sum();
|
||||
double onlineTime = onlineRateDS.stream().mapToDouble(RStatOnlineRateVO::getOnlineMin).sum();
|
||||
double offlineTime = onlineRateDS.stream().mapToDouble(RStatOnlineRateVO::getOfflineMin).sum();
|
||||
lineData.setOnLineRate(Math.min(NumberUtil.round(onlineTime * 100.0 / (onlineTime + offlineTime), 2).floatValue(),100));
|
||||
} else {
|
||||
lineData.setOnLineRate(0.0f);
|
||||
|
||||
Reference in New Issue
Block a user