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

@@ -44,6 +44,10 @@ public class PmsStatationStatInfoDTO implements Serializable {
* 电站名称 * 电站名称
*/ */
private String powerName; private String powerName;
/**
* 母线名称
*/
private String busBarName;
/** /**
* 变电站电压等级 * 变电站电压等级

View File

@@ -9,12 +9,14 @@
pm.Org_Name AS orgName, pm.Org_Name AS orgName,
pm.Powerr_Id AS powerId, pm.Powerr_Id AS powerId,
pm.Powerr_Name AS powerName, pm.Powerr_Name AS powerName,
pgw.name AS busBarName,
pm.Id AS monitorId, pm.Id AS monitorId,
pm.`Name` AS monitorName, pm.`Name` AS monitorName,
pss.Voltage_Level AS powerVoltageLevel pss.Voltage_Level AS powerVoltageLevel
FROM FROM
pms_monitor AS pm pms_monitor AS pm
LEFT JOIN pms_statation_stat AS pss ON pss.Power_Id = pm.Powerr_Id LEFT JOIN pms_statation_stat AS pss ON pss.Power_Id = pm.Powerr_Id
LEFT JOIN pms_generatrix_wire AS pgw ON pgw.id = pm.Line_Id
WHERE WHERE
pm.Status = 1 pm.Status = 1
AND pss.Status = 1 AND pss.Status = 1

View File

@@ -55,7 +55,7 @@ public class RStatHarmonicOrgM implements Serializable {
private String dataType; private String dataType;
public void setOverLimitMeasurementAverage(Float overLimitMeasurementAverage) { public void setOverLimitMeasurementAverage(Float overLimitMeasurementAverage) {
this.overLimitMeasurementAverage = NumberUtil.round(overLimitMeasurementAverage*100,2).floatValue();; this.overLimitMeasurementAverage = NumberUtil.round(overLimitMeasurementAverage,2).floatValue();;
} }
public void setOverLimitMeasurementRatioAverage(Float overLimitMeasurementRatioAverage) { public void setOverLimitMeasurementRatioAverage(Float overLimitMeasurementRatioAverage) {

View File

@@ -54,7 +54,7 @@ public class RStatHarmonicOrgQ implements Serializable {
*/ */
private String dataType; private String dataType;
public void setOverLimitMeasurementAverage(Float overLimitMeasurementAverage) { public void setOverLimitMeasurementAverage(Float overLimitMeasurementAverage) {
this.overLimitMeasurementAverage = NumberUtil.round(overLimitMeasurementAverage*100,2).floatValue();; this.overLimitMeasurementAverage = NumberUtil.round(overLimitMeasurementAverage,2).floatValue();;
} }
public void setOverLimitMeasurementRatioAverage(Float overLimitMeasurementRatioAverage) { public void setOverLimitMeasurementRatioAverage(Float overLimitMeasurementRatioAverage) {
this.overLimitMeasurementRatioAverage = NumberUtil.round(overLimitMeasurementRatioAverage*100,2).floatValue(); this.overLimitMeasurementRatioAverage = NumberUtil.round(overLimitMeasurementRatioAverage*100,2).floatValue();

View File

@@ -55,7 +55,7 @@ public class RStatHarmonicOrgY implements Serializable {
private String dataType; private String dataType;
public void setOverLimitMeasurementAverage(Float overLimitMeasurementAverage) { public void setOverLimitMeasurementAverage(Float overLimitMeasurementAverage) {
this.overLimitMeasurementAverage = NumberUtil.round(overLimitMeasurementAverage*100,2).floatValue();; this.overLimitMeasurementAverage = NumberUtil.round(overLimitMeasurementAverage,2).floatValue();;
} }
public void setOverLimitMeasurementRatioAverage(Float overLimitMeasurementRatioAverage) { public void setOverLimitMeasurementRatioAverage(Float overLimitMeasurementRatioAverage) {
this.overLimitMeasurementRatioAverage = NumberUtil.round(overLimitMeasurementRatioAverage*100,2).floatValue(); this.overLimitMeasurementRatioAverage = NumberUtil.round(overLimitMeasurementRatioAverage*100,2).floatValue();

View File

@@ -37,7 +37,7 @@
</resultMap> </resultMap>
<select id="getStatSubstationIconM" resultType="com.njcn.harmonic.pojo.vo.RSubstationIconVO"> <select id="getStatSubstationIconM" resultType="com.njcn.harmonic.pojo.vo.RSubstationIconVO">
SELECT 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 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 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" , 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 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 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 ( 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 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 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", 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> </resultMap>
<select id="getStatSubstationIconQ" resultType="com.njcn.harmonic.pojo.vo.RSubstationIconVO"> <select id="getStatSubstationIconQ" resultType="com.njcn.harmonic.pojo.vo.RSubstationIconVO">
SELECT 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 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 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" , 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 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 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 ( 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 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 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", 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> </resultMap>
<select id="getStatSubstationIconY" resultType="com.njcn.harmonic.pojo.vo.RSubstationIconVO"> <select id="getStatSubstationIconY" resultType="com.njcn.harmonic.pojo.vo.RSubstationIconVO">
SELECT 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 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 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" , 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 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 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 ( 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 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 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", 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.setName(power.getMonitorName());
dto.setPowerCompany(power.getOrgName()); dto.setPowerCompany(power.getOrgName());
dto.setSubstation(power.getPowerName()); dto.setSubstation(power.getPowerName());
dto.setBusBar(power.getBusBarName());
dto.setSubstationId(power.getPowerId()); dto.setSubstationId(power.getPowerId());
if(CollectionUtil.isNotEmpty(lineMap)){ if(CollectionUtil.isNotEmpty(lineMap)){
if(lineMap.containsKey(power.getMonitorId())){ if(lineMap.containsKey(power.getMonitorId())){
@@ -566,7 +567,6 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
@Override @Override
public List<PollutionLineDTO> getLineRankTop10 (HarmonicPublicParam param) { public List<PollutionLineDTO> getLineRankTop10 (HarmonicPublicParam param) {
List<PollutionLineDTO> list= new ArrayList<>(); List<PollutionLineDTO> list= new ArrayList<>();
String pollutionType = param.getStatisticalType ( ).getId ();
if(param.getType()==0) { if(param.getType()==0) {
param.setServerName(generalInfo.getMicroServiceName()); param.setServerName(generalInfo.getMicroServiceName());
List<String> lineList = new ArrayList<>(); List<String> lineList = new ArrayList<>();
@@ -597,6 +597,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
} }
return list; return list;
} }
//pms查询信息
PmsDeviceInfoParam pmsDeviceInfoParam = new PmsDeviceInfoParam(); PmsDeviceInfoParam pmsDeviceInfoParam = new PmsDeviceInfoParam();
pmsDeviceInfoParam.setDeptIndex(param.getDeptIndex()); pmsDeviceInfoParam.setDeptIndex(param.getDeptIndex());
//获取统计类型 //获取统计类型
@@ -610,24 +611,16 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
if(CollectionUtil.isNotEmpty(monitorIdList)){ if(CollectionUtil.isNotEmpty(monitorIdList)){
//获取监测点数据 //获取监测点数据
List<RMpPollutionDPO> lineData = rMpPollutionDPOMapper.selectMaxList ( monitorIdList,pollutionType,param.getSearchBeginTime(),param.getSearchEndTime()); 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)){
if(CollectionUtil.isEmpty(lineData)){
return list; return list;
} }
//获取主网监测点信息 //获取主网监测点信息
List<Monitor> data = monitorClient.getMonitorList(monitorIdList).getData(); List<Monitor> data = monitorClient.getMonitorList(monitorIdList).getData();
Map<String, Monitor> monitorMap = data.stream().collect(Collectors.toMap(Monitor::getId, Function.identity(), (key1, kye2) -> key1)); 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; PollutionLineDTO dto;
for (RMpPollutionDPO lineDatum : lineData) { for (PublicDTO lineDatum : lineData) {
if(monitorMap.containsKey(lineDatum.getLineId())){ if(monitorMap.containsKey(lineDatum.getId())){
Monitor monitor = monitorMap.get(lineDatum.getLineId()); Monitor monitor = monitorMap.get(lineDatum.getId());
dto=new PollutionLineDTO(); dto=new PollutionLineDTO();
dto.setId(monitor.getId()); dto.setId(monitor.getId());
dto.setName(monitor.getName()); dto.setName(monitor.getName());
@@ -635,7 +628,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
dto.setSubstation(monitor.getPowerrId()); dto.setSubstation(monitor.getPowerrId());
dto.setSubstationId(monitor.getPowerrName()); dto.setSubstationId(monitor.getPowerrName());
dto.setBusBar(monitor.getLineName()); dto.setBusBar(monitor.getLineName());
dto.setData(lineDatum.getValue()); dto.setData(lineDatum.getData());
list.add(dto); list.add(dto);
} }
} }

View File

@@ -59,24 +59,11 @@ public class RStatSubstationVoltageMServiceImpl extends ServiceImpl<RStatSubstat
//查询数据库 //查询数据库
List<RVoltageIconVO> statSubstationIcon = rStatSubstationVoltageMMapper.getStatSubstationIcon(baseParam,ids); List<RVoltageIconVO> statSubstationIcon = rStatSubstationVoltageMMapper.getStatSubstationIcon(baseParam,ids);
Map<String, RVoltageIconVO> devVoltageMap = statSubstationIcon.stream()
.collect(Collectors.toMap(RVoltageIconVO::getSubstationVoltage, Function.identity()));
statSubstationIcon.stream().forEach(r->{ statSubstationIcon.stream().forEach(r->{
if(iconVOMap.containsKey(r.getSubstationVoltage())){ if(iconVOMap.containsKey(r.getSubstationVoltage())){
r.setSort(iconVOMap.get(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())); statSubstationIcon.sort(Comparator.comparing(s -> s.getSort()));
return statSubstationIcon; return statSubstationIcon;
} }