1.pmsbug调整

This commit is contained in:
wr
2024-03-13 14:00:49 +08:00
parent 5c42afe87d
commit 4ed31bd4b1
10 changed files with 22 additions and 36 deletions

View File

@@ -37,7 +37,7 @@
</resultMap>
<select id="getStatSubstationIconM" resultType="com.njcn.harmonic.pojo.vo.RSubstationIconVO">
SELECT
COALESCE( sum( CASE WHEN X.harmonic_over_day BETWEEN 0 AND 10 THEN 1 ELSE 0 END ), 0 ) "num_1",
COALESCE( sum( CASE WHEN X.harmonic_over_day BETWEEN 1 AND 10 THEN 1 ELSE 0 END ), 0 ) "num_1",
COALESCE ( sum( CASE WHEN X.harmonic_over_day BETWEEN 11 AND 20 THEN 1 ELSE 0 END ), 0 ) "num_2" ,
COALESCE ( sum( CASE WHEN X.harmonic_over_day BETWEEN 21 AND 30 THEN 1 ELSE 0 END ), 0 ) "num_3" ,
COALESCE ( sum( CASE WHEN X.harmonic_over_day BETWEEN 31 AND 40 THEN 1 ELSE 0 END ), 0 ) "num_4" ,
@@ -47,7 +47,7 @@
COALESCE ( sum( CASE WHEN X.harmonic_over_day BETWEEN 71 AND 80 THEN 1 ELSE 0 END ), 0 ) "num_8" ,
COALESCE ( sum( CASE WHEN X.harmonic_over_day BETWEEN 81 AND 90 THEN 1 ELSE 0 END ), 0 ) "num_9" ,
COALESCE ( sum( CASE WHEN X.harmonic_over_day BETWEEN 91 AND 100 THEN 1 ELSE 0 END ), 0 ) "num_10" ,
COALESCE ( round(sum(CASE WHEN X.harmonic_over_day BETWEEN 0 AND 10 THEN 1 ELSE 0 END) / COUNT(X.substation_id),4)*100 , 0 ) "upRatio_1",
COALESCE ( round(sum(CASE WHEN X.harmonic_over_day BETWEEN 1 AND 10 THEN 1 ELSE 0 END) / COUNT(X.substation_id),4)*100 , 0 ) "upRatio_1",
COALESCE ( round(sum(CASE WHEN X.harmonic_over_day BETWEEN 11 AND 20 THEN 1 ELSE 0 END) / COUNT(X.substation_id),4)*100 , 0 ) "upRatio_2",
COALESCE ( round(sum(CASE WHEN X.harmonic_over_day BETWEEN 21 AND 30 THEN 1 ELSE 0 END) / COUNT(X.substation_id),4)*100 , 0 ) "upRatio_3",
COALESCE ( round(sum(CASE WHEN X.harmonic_over_day BETWEEN 31 AND 40 THEN 1 ELSE 0 END) / COUNT(X.substation_id),4)*100 , 0 ) "upRatio_4",

View File

@@ -28,7 +28,7 @@
</resultMap>
<select id="getStatSubstationIconQ" resultType="com.njcn.harmonic.pojo.vo.RSubstationIconVO">
SELECT
COALESCE( sum( CASE WHEN X.harmonic_average_over_day BETWEEN 0 AND 10 THEN 1 ELSE 0 END ), 0 ) "num_1",
COALESCE( sum( CASE WHEN X.harmonic_average_over_day BETWEEN 1 AND 10 THEN 1 ELSE 0 END ), 0 ) "num_1",
COALESCE ( sum( CASE WHEN X.harmonic_average_over_day BETWEEN 11 AND 20 THEN 1 ELSE 0 END ), 0 ) "num_2" ,
COALESCE ( sum( CASE WHEN X.harmonic_average_over_day BETWEEN 21 AND 30 THEN 1 ELSE 0 END ), 0 ) "num_3" ,
COALESCE ( sum( CASE WHEN X.harmonic_average_over_day BETWEEN 31 AND 40 THEN 1 ELSE 0 END ), 0 ) "num_4" ,
@@ -38,7 +38,7 @@
COALESCE ( sum( CASE WHEN X.harmonic_average_over_day BETWEEN 71 AND 80 THEN 1 ELSE 0 END ), 0 ) "num_8" ,
COALESCE ( sum( CASE WHEN X.harmonic_average_over_day BETWEEN 81 AND 90 THEN 1 ELSE 0 END ), 0 ) "num_9" ,
COALESCE ( sum( CASE WHEN X.harmonic_average_over_day BETWEEN 91 AND 100 THEN 1 ELSE 0 END ), 0 ) "num_10" ,
COALESCE ( round(sum(CASE WHEN X.harmonic_average_over_day BETWEEN 0 AND 10 THEN 1 ELSE 0 END) / COUNT(X.substation_id),4)*100 , 0 ) "upRatio_1",
COALESCE ( round(sum(CASE WHEN X.harmonic_average_over_day BETWEEN 1 AND 10 THEN 1 ELSE 0 END) / COUNT(X.substation_id),4)*100 , 0 ) "upRatio_1",
COALESCE ( round(sum(CASE WHEN X.harmonic_average_over_day BETWEEN 11 AND 20 THEN 1 ELSE 0 END) / COUNT(X.substation_id),4)*100 , 0 ) "upRatio_2",
COALESCE ( round(sum(CASE WHEN X.harmonic_average_over_day BETWEEN 21 AND 30 THEN 1 ELSE 0 END) / COUNT(X.substation_id),4)*100 , 0 ) "upRatio_3",
COALESCE ( round(sum(CASE WHEN X.harmonic_average_over_day BETWEEN 31 AND 40 THEN 1 ELSE 0 END) / COUNT(X.substation_id),4)*100 , 0 ) "upRatio_4",

View File

@@ -28,7 +28,7 @@
</resultMap>
<select id="getStatSubstationIconY" resultType="com.njcn.harmonic.pojo.vo.RSubstationIconVO">
SELECT
COALESCE( sum( CASE WHEN X.harmonic_over_day BETWEEN 0 AND 10 THEN 1 ELSE 0 END ), 0 ) "num_1",
COALESCE( sum( CASE WHEN X.harmonic_over_day BETWEEN 1 AND 10 THEN 1 ELSE 0 END ), 0 ) "num_1",
COALESCE ( sum( CASE WHEN X.harmonic_over_day BETWEEN 11 AND 20 THEN 1 ELSE 0 END ), 0 ) "num_2" ,
COALESCE ( sum( CASE WHEN X.harmonic_over_day BETWEEN 21 AND 30 THEN 1 ELSE 0 END ), 0 ) "num_3" ,
COALESCE ( sum( CASE WHEN X.harmonic_over_day BETWEEN 31 AND 40 THEN 1 ELSE 0 END ), 0 ) "num_4" ,
@@ -38,7 +38,7 @@
COALESCE ( sum( CASE WHEN X.harmonic_over_day BETWEEN 71 AND 80 THEN 1 ELSE 0 END ), 0 ) "num_8" ,
COALESCE ( sum( CASE WHEN X.harmonic_over_day BETWEEN 81 AND 90 THEN 1 ELSE 0 END ), 0 ) "num_9" ,
COALESCE ( sum( CASE WHEN X.harmonic_over_day BETWEEN 91 AND 100 THEN 1 ELSE 0 END ), 0 ) "num_10" ,
COALESCE ( round(sum(CASE WHEN X.harmonic_over_day BETWEEN 0 AND 10 THEN 1 ELSE 0 END) / COUNT(X.substation_id),4)*100 , 0 ) "upRatio_1",
COALESCE ( round(sum(CASE WHEN X.harmonic_over_day BETWEEN 1 AND 10 THEN 1 ELSE 0 END) / COUNT(X.substation_id),4)*100 , 0 ) "upRatio_1",
COALESCE ( round(sum(CASE WHEN X.harmonic_over_day BETWEEN 11 AND 20 THEN 1 ELSE 0 END) / COUNT(X.substation_id),4)*100 , 0 ) "upRatio_2",
COALESCE ( round(sum(CASE WHEN X.harmonic_over_day BETWEEN 21 AND 30 THEN 1 ELSE 0 END) / COUNT(X.substation_id),4)*100 , 0 ) "upRatio_3",
COALESCE ( round(sum(CASE WHEN X.harmonic_over_day BETWEEN 31 AND 40 THEN 1 ELSE 0 END) / COUNT(X.substation_id),4)*100 , 0 ) "upRatio_4",

View File

@@ -526,6 +526,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
dto.setName(power.getMonitorName());
dto.setPowerCompany(power.getOrgName());
dto.setSubstation(power.getPowerName());
dto.setBusBar(power.getBusBarName());
dto.setSubstationId(power.getPowerId());
if(CollectionUtil.isNotEmpty(lineMap)){
if(lineMap.containsKey(power.getMonitorId())){
@@ -566,7 +567,6 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
@Override
public List<PollutionLineDTO> getLineRankTop10 (HarmonicPublicParam param) {
List<PollutionLineDTO> list= new ArrayList<>();
String pollutionType = param.getStatisticalType ( ).getId ();
if(param.getType()==0) {
param.setServerName(generalInfo.getMicroServiceName());
List<String> lineList = new ArrayList<>();
@@ -597,6 +597,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
}
return list;
}
//pms查询信息
PmsDeviceInfoParam pmsDeviceInfoParam = new PmsDeviceInfoParam();
pmsDeviceInfoParam.setDeptIndex(param.getDeptIndex());
//获取统计类型
@@ -610,24 +611,16 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
if(CollectionUtil.isNotEmpty(monitorIdList)){
//获取监测点数据
List<RMpPollutionDPO> lineData = rMpPollutionDPOMapper.selectMaxList ( monitorIdList,pollutionType,param.getSearchBeginTime(),param.getSearchEndTime());
if(CollectionUtil.isEmpty(lineData)){
List<PublicDTO> lineData =rMpPollutionDPOMapper.getTop10Line(monitorIdList,DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())),DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())), param.getStatisticalType().getId()); if(CollectionUtil.isEmpty(lineData)){
return list;
}
//获取主网监测点信息
List<Monitor> data = monitorClient.getMonitorList(monitorIdList).getData();
Map<String, Monitor> monitorMap = data.stream().collect(Collectors.toMap(Monitor::getId, Function.identity(), (key1, kye2) -> key1));
lineData.sort((item1, item2) -> item2.getValue().compareTo(item1.getValue()));
if (lineData.size() > Param.UP_LIMIT) {
lineData = lineData.subList(Param.DOWN_LIMIT, Param.UP_LIMIT);
}
PollutionLineDTO dto;
for (RMpPollutionDPO lineDatum : lineData) {
if(monitorMap.containsKey(lineDatum.getLineId())){
Monitor monitor = monitorMap.get(lineDatum.getLineId());
for (PublicDTO lineDatum : lineData) {
if(monitorMap.containsKey(lineDatum.getId())){
Monitor monitor = monitorMap.get(lineDatum.getId());
dto=new PollutionLineDTO();
dto.setId(monitor.getId());
dto.setName(monitor.getName());
@@ -635,7 +628,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
dto.setSubstation(monitor.getPowerrId());
dto.setSubstationId(monitor.getPowerrName());
dto.setBusBar(monitor.getLineName());
dto.setData(lineDatum.getValue());
dto.setData(lineDatum.getData());
list.add(dto);
}
}

View File

@@ -59,24 +59,11 @@ public class RStatSubstationVoltageMServiceImpl extends ServiceImpl<RStatSubstat
//查询数据库
List<RVoltageIconVO> statSubstationIcon = rStatSubstationVoltageMMapper.getStatSubstationIcon(baseParam,ids);
Map<String, RVoltageIconVO> devVoltageMap = statSubstationIcon.stream()
.collect(Collectors.toMap(RVoltageIconVO::getSubstationVoltage, Function.identity()));
statSubstationIcon.stream().forEach(r->{
if(iconVOMap.containsKey(r.getSubstationVoltage())){
r.setSort(iconVOMap.get(r.getSubstationVoltage()));
}
});
//处理主节点不存在的集合
List<DictData> notMeasurementList = devVoltageData.stream().filter(r -> !devVoltageMap.containsKey(r.getId()))
.collect(Collectors.toList());
for (DictData notData : notMeasurementList) {
RVoltageIconVO iconVO = new RVoltageIconVO();
iconVO.setSubstationVoltage(notData.getId());
iconVO.setSubstationCount(0);
iconVO.setHarmonicCount(0);
iconVO.setSort(notData.getSort());
statSubstationIcon.add(iconVO);
}
statSubstationIcon.sort(Comparator.comparing(s -> s.getSort()));
return statSubstationIcon;
}