1.冀北电网一张图-暂态水平调整
This commit is contained in:
@@ -21,10 +21,10 @@ public class GridDiagramVO {
|
|||||||
private List<?> gwInfo;
|
private List<?> gwInfo;
|
||||||
|
|
||||||
@ApiModelProperty(name = "data", value = "总信息")
|
@ApiModelProperty(name = "data", value = "总信息")
|
||||||
private Double data;
|
private List<Double> data;
|
||||||
|
|
||||||
@ApiModelProperty(name = "gwData", value = "国网总信息")
|
@ApiModelProperty(name = "gwData", value = "国网总信息")
|
||||||
private Double gwData;
|
private List<Double> gwData;
|
||||||
@Data
|
@Data
|
||||||
public static class LineStatistics {
|
public static class LineStatistics {
|
||||||
@ApiModelProperty(name = "orgId", value = "单位id")
|
@ApiModelProperty(name = "orgId", value = "单位id")
|
||||||
@@ -138,4 +138,32 @@ public class GridDiagramVO {
|
|||||||
@ApiModelProperty(name = "onLineRate", value = "数据在线率")
|
@ApiModelProperty(name = "onLineRate", value = "数据在线率")
|
||||||
private Float onLineRate;
|
private Float onLineRate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public static class AreaData {
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "orgId", value = "单位id")
|
||||||
|
private String orgId;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "orgName", value = "单位名称")
|
||||||
|
private String orgName;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "lineNum", value = "监测点个数")
|
||||||
|
private Integer lineNum;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "lineList", value = "监测点集合")
|
||||||
|
private List<String> lineList;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "alarm", value = "告警监测点个数")
|
||||||
|
private Integer alarm;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "onLineNumList", value = "告警监测点信息")
|
||||||
|
private List<String> alarmList;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "subNum", value = "变电站个数")
|
||||||
|
private Integer subNum;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "deviceNum", value = "终端个数")
|
||||||
|
private Integer deviceNum;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -110,6 +110,7 @@
|
|||||||
inner join pq_substation sub on sub.id = substation.id
|
inner join pq_substation sub on sub.id = substation.id
|
||||||
where device.Dev_Model = 1
|
where device.Dev_Model = 1
|
||||||
and point.state = 1
|
and point.state = 1
|
||||||
|
and device.Run_Flag = 0
|
||||||
and device.Dev_Data_Type in
|
and device.Dev_Data_Type in
|
||||||
<foreach collection="list" item="item" open="(" close=")" separator=",">
|
<foreach collection="list" item="item" open="(" close=")" separator=",">
|
||||||
#{item}
|
#{item}
|
||||||
|
|||||||
@@ -300,13 +300,12 @@ public class RmpEventDetailServiceImpl extends ServiceImpl<RmpEventDetailMapper,
|
|||||||
|
|
||||||
List<String> lineAllIds = collect.stream().map(LineDevGetDTO::getPointId).collect(Collectors.toList());
|
List<String> lineAllIds = collect.stream().map(LineDevGetDTO::getPointId).collect(Collectors.toList());
|
||||||
List<String> gwLineAllIds = collect.stream().filter(x->1==x.getIsUpToGrid()).map(LineDevGetDTO::getPointId).collect(Collectors.toList());
|
List<String> gwLineAllIds = collect.stream().filter(x->1==x.getIsUpToGrid()).map(LineDevGetDTO::getPointId).collect(Collectors.toList());
|
||||||
|
List<RmpEventDetailPO> list1 = this.list(new LambdaQueryWrapper<RmpEventDetailPO>()
|
||||||
List<RmpEventDetailPO> list = this.list(new LambdaQueryWrapper<RmpEventDetailPO>()
|
|
||||||
.in(CollUtil.isNotEmpty(lineAllIds), RmpEventDetailPO::getMeasurementPointId, lineAllIds)
|
.in(CollUtil.isNotEmpty(lineAllIds), RmpEventDetailPO::getMeasurementPointId, lineAllIds)
|
||||||
.in(CollUtil.isNotEmpty(param.getIds()), RmpEventDetailPO::getEventType, param.getIds())
|
|
||||||
.ge(StrUtil.isNotBlank(param.getStartTime()), RmpEventDetailPO::getStartTime, DateUtil.beginOfDay(DateUtil.parse(param.getStartTime())))
|
.ge(StrUtil.isNotBlank(param.getStartTime()), RmpEventDetailPO::getStartTime, DateUtil.beginOfDay(DateUtil.parse(param.getStartTime())))
|
||||||
.le(StrUtil.isNotBlank(param.getEndTime()), RmpEventDetailPO::getStartTime, DateUtil.endOfDay(DateUtil.parse(param.getEndTime())))
|
.le(StrUtil.isNotBlank(param.getEndTime()), RmpEventDetailPO::getStartTime, DateUtil.endOfDay(DateUtil.parse(param.getEndTime())))
|
||||||
);
|
);
|
||||||
|
List<RmpEventDetailPO> list =list1.stream().filter(x->param.getIds().contains(x.getEventType())).collect(Collectors.toList());
|
||||||
|
|
||||||
Map<String, DeptGetChildrenMoreDTO> deptLineMap = deptGetChildrenMoreDTOS.stream().collect(Collectors.toMap(DeptGetChildrenMoreDTO::getUnitId, Function.identity()));
|
Map<String, DeptGetChildrenMoreDTO> deptLineMap = deptGetChildrenMoreDTOS.stream().collect(Collectors.toMap(DeptGetChildrenMoreDTO::getUnitId, Function.identity()));
|
||||||
GridDiagramVO.LineStatistics lineStatistics;
|
GridDiagramVO.LineStatistics lineStatistics;
|
||||||
@@ -330,9 +329,8 @@ public class RmpEventDetailServiceImpl extends ServiceImpl<RmpEventDetailMapper,
|
|||||||
gwInfo.add(gwLineStatistics);
|
gwInfo.add(gwLineStatistics);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
gridDiagramVO.setData(setData(gridDiagramVO, lineAllIds, list));
|
gridDiagramVO.setData(setData(lineAllIds, list1));
|
||||||
gridDiagramVO.setGwData(setData(gridDiagramVO, gwLineAllIds, list));
|
gridDiagramVO.setGwData(setData(gwLineAllIds, list1));
|
||||||
setData(gridDiagramVO, gwLineAllIds, list);
|
|
||||||
gridDiagramVO.setInfo(info);
|
gridDiagramVO.setInfo(info);
|
||||||
gridDiagramVO.setGwInfo(gwInfo);
|
gridDiagramVO.setGwInfo(gwInfo);
|
||||||
return gridDiagramVO;
|
return gridDiagramVO;
|
||||||
@@ -395,16 +393,29 @@ public class RmpEventDetailServiceImpl extends ServiceImpl<RmpEventDetailMapper,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private Double setData(GridDiagramVO gridDiagramVO, List<String> gwLineAllIds, List<RmpEventDetailPO> list) {
|
private List<Double> setData(List<String> gwLineAllIds, List<RmpEventDetailPO> list) {
|
||||||
List<Double> asGwDouble = list.stream()
|
List<Double> info=new ArrayList<>();
|
||||||
|
long count90 = list.stream()
|
||||||
.filter(x -> ObjectUtil.isNotNull(x.getSeverity()))
|
.filter(x -> ObjectUtil.isNotNull(x.getSeverity()))
|
||||||
.filter(x -> gwLineAllIds.contains(x.getMeasurementPointId()))
|
.filter(x -> gwLineAllIds.contains(x.getMeasurementPointId()))
|
||||||
.map(RmpEventDetailPO::getSeverity).collect(Collectors.toList());
|
.filter(x -> 0.9 < x.getFeatureAmplitude())
|
||||||
if(CollUtil.isNotEmpty(asGwDouble)){
|
.map(RmpEventDetailPO::getFeatureAmplitude).count();
|
||||||
return asGwDouble.stream().mapToDouble(Double::doubleValue).average().getAsDouble();
|
long count50 = list.stream()
|
||||||
|
.filter(x -> ObjectUtil.isNotNull(x.getSeverity()))
|
||||||
|
.filter(x -> gwLineAllIds.contains(x.getMeasurementPointId()))
|
||||||
|
.filter(x -> 0.5 < x.getFeatureAmplitude())
|
||||||
|
.map(RmpEventDetailPO::getFeatureAmplitude).count();
|
||||||
|
if(count90>0){
|
||||||
|
info.add(NumberUtil.round(count90*100.0/list.size(),2).doubleValue());
|
||||||
}else {
|
}else {
|
||||||
return 0.0;
|
info.add(0.0);
|
||||||
}
|
}
|
||||||
|
if(count50>0){
|
||||||
|
info.add(NumberUtil.round(count50*100.0/list.size(),2).doubleValue());
|
||||||
|
}else {
|
||||||
|
info.add(0.0);
|
||||||
|
}
|
||||||
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -0,0 +1,59 @@
|
|||||||
|
package com.njcn.harmonic.pojo.vo;
|
||||||
|
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class RStatLimitTargetVO {
|
||||||
|
/**
|
||||||
|
* 监测点ID合格率的变电站/装置/母线/线路序号
|
||||||
|
*/
|
||||||
|
private String lineId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 频率偏差越限次数
|
||||||
|
*/
|
||||||
|
private Integer flickerAllTime=0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电压偏差越限次数
|
||||||
|
*/
|
||||||
|
private Integer freqDevOvertime=0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电压不平衡度越限次数
|
||||||
|
*/
|
||||||
|
private Integer voltageDevOvertime=0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 闪变越限次数
|
||||||
|
*/
|
||||||
|
private Integer ubalanceOvertime=0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电压谐波畸变率越限次数
|
||||||
|
*/
|
||||||
|
private Integer uaberranceOvertime=0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 负序电流限值次数
|
||||||
|
*/
|
||||||
|
private Integer iNegOvertime=0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电压谐波含有率越限次数
|
||||||
|
*/
|
||||||
|
private Integer uharmOvertime=0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电流谐波幅值越限次数
|
||||||
|
*/
|
||||||
|
private Integer iharmOvertime=0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 间谐波电压限值次数
|
||||||
|
*/
|
||||||
|
private Integer inuharmOvertime=0;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|||||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||||
import com.njcn.common.pojo.enums.common.LogEnum;
|
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||||
|
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
|
||||||
import com.njcn.common.pojo.response.HttpResult;
|
import com.njcn.common.pojo.response.HttpResult;
|
||||||
import com.njcn.common.utils.HttpResultUtil;
|
import com.njcn.common.utils.HttpResultUtil;
|
||||||
import com.njcn.device.pq.pojo.dto.PollutionGridDiagramDTO;
|
import com.njcn.device.pq.pojo.dto.PollutionGridDiagramDTO;
|
||||||
@@ -11,7 +12,9 @@ import com.njcn.device.pq.pojo.param.DeviceInfoParam;
|
|||||||
import com.njcn.device.pq.pojo.param.GridDiagramParam;
|
import com.njcn.device.pq.pojo.param.GridDiagramParam;
|
||||||
import com.njcn.device.pq.pojo.vo.GridDiagramVO;
|
import com.njcn.device.pq.pojo.vo.GridDiagramVO;
|
||||||
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
|
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
|
||||||
|
import com.njcn.harmonic.pojo.vo.RStatLimitTargetVO;
|
||||||
import com.njcn.harmonic.service.IRMpTargetWarnDService;
|
import com.njcn.harmonic.service.IRMpTargetWarnDService;
|
||||||
|
import com.njcn.harmonic.service.IRStatLimitTargetDService;
|
||||||
import com.njcn.harmonic.service.PollutionSubstationService;
|
import com.njcn.harmonic.service.PollutionSubstationService;
|
||||||
import com.njcn.harmonic.service.majornetwork.RStatLimitService;
|
import com.njcn.harmonic.service.majornetwork.RStatLimitService;
|
||||||
import com.njcn.web.controller.BaseController;
|
import com.njcn.web.controller.BaseController;
|
||||||
@@ -40,6 +43,9 @@ public class GridDiagramHarmController extends BaseController {
|
|||||||
private final IRMpTargetWarnDService irMpTargetWarnDService;
|
private final IRMpTargetWarnDService irMpTargetWarnDService;
|
||||||
private final PollutionSubstationService pollutionSubstationService;
|
private final PollutionSubstationService pollutionSubstationService;
|
||||||
private final RStatLimitService rStatLimitService;
|
private final RStatLimitService rStatLimitService;
|
||||||
|
private final IRStatLimitTargetDService targetDService;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
@PostMapping("/getSubLineGiveAnAlarm")
|
@PostMapping("/getSubLineGiveAnAlarm")
|
||||||
@@ -84,4 +90,24 @@ public class GridDiagramHarmController extends BaseController {
|
|||||||
List<GridDiagramVO.LineData> gridDiagramDevData = rStatLimitService.getGridDiagramLineData(param);
|
List<GridDiagramVO.LineData> gridDiagramDevData = rStatLimitService.getGridDiagramLineData(param);
|
||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, gridDiagramDevData, methodDescribe);
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, gridDiagramDevData, methodDescribe);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
|
@PostMapping("/getGridDiagramAreaData")
|
||||||
|
@ApiOperation("区域基本信息(监测点,终端,变电站等)")
|
||||||
|
public HttpResult<List<GridDiagramVO.AreaData>> getGridDiagramAreaData(@RequestBody DeviceInfoParam.BusinessParam param) {
|
||||||
|
String methodDescribe = getMethodDescribe("getGridDiagramAreaData");
|
||||||
|
List<GridDiagramVO.AreaData> gridDiagramDevData = rStatLimitService.getGridDiagramAreaData(param);
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, gridDiagramDevData, methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
|
@PostMapping("/getGridDiagramAreaData")
|
||||||
|
@ApiOperation("监测点告警越线天数详细信息")
|
||||||
|
public HttpResult<RStatLimitTargetVO> getGridDiagramAreaData(@RequestBody StatisticsBizBaseParam param) {
|
||||||
|
String methodDescribe = getMethodDescribe("getGridDiagramAreaData");
|
||||||
|
RStatLimitTargetVO gridDiagramDevData = targetDService.getGridDiagramTargetData(param);
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, gridDiagramDevData, methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.njcn.harmonic.mapper;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO;
|
import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO;
|
||||||
|
import com.njcn.harmonic.pojo.vo.RStatLimitTargetVO;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -59,4 +60,8 @@ public interface RStatLimitTargetDMapper extends BaseMapper<RStatLimitTargetDPO>
|
|||||||
List<RStatLimitTargetDPO> getSumTarget(@Param("ids") List<String> ids,
|
List<RStatLimitTargetDPO> getSumTarget(@Param("ids") List<String> ids,
|
||||||
@Param("startTime") String startTime,
|
@Param("startTime") String startTime,
|
||||||
@Param("endTime") String endTime);
|
@Param("endTime") String endTime);
|
||||||
|
|
||||||
|
RStatLimitTargetVO getSumTargetDetails(@Param("ids") List<String> ids,
|
||||||
|
@Param("startTime") String startTime,
|
||||||
|
@Param("endTime") String endTime);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -237,7 +237,7 @@
|
|||||||
from (
|
from (
|
||||||
SELECT
|
SELECT
|
||||||
my_index,
|
my_index,
|
||||||
sum( all_time ) AS allCount
|
sum( all_time )+sum( flicker_all_time )AS allCount
|
||||||
FROM
|
FROM
|
||||||
r_stat_limit_target_d
|
r_stat_limit_target_d
|
||||||
<where>
|
<where>
|
||||||
@@ -282,4 +282,93 @@
|
|||||||
group by
|
group by
|
||||||
my_index
|
my_index
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getSumTargetDetails" resultType="com.njcn.harmonic.pojo.vo.RStatLimitTargetVO">
|
||||||
|
SELECT
|
||||||
|
my_index AS lineId,
|
||||||
|
SUM( all_time ) AS allTime,
|
||||||
|
SUM( flicker_overtime ) AS flickerOvertime,
|
||||||
|
SUM( flicker_all_time ) AS flickerAllTime,
|
||||||
|
SUM( freq_dev_overtime ) AS freqDevOvertime,
|
||||||
|
SUM( voltage_dev_overtime ) AS voltageDevOvertime,
|
||||||
|
SUM( ubalance_overtime ) AS ubalanceOvertime,
|
||||||
|
SUM( uaberrance_overtime ) AS uaberranceOvertime,
|
||||||
|
SUM( i_neg_overtime ) AS iNegOvertime,
|
||||||
|
sum(if((uharm_2_overtime+
|
||||||
|
uharm_3_overtime+
|
||||||
|
uharm_4_overtime+
|
||||||
|
uharm_5_overtime+
|
||||||
|
uharm_6_overtime+
|
||||||
|
uharm_7_overtime+
|
||||||
|
uharm_8_overtime+
|
||||||
|
uharm_9_overtime+
|
||||||
|
uharm_10_overtime+
|
||||||
|
uharm_11_overtime+
|
||||||
|
uharm_12_overtime+
|
||||||
|
uharm_13_overtime+
|
||||||
|
uharm_14_overtime+
|
||||||
|
uharm_15_overtime+
|
||||||
|
uharm_16_overtime+
|
||||||
|
uharm_17_overtime+
|
||||||
|
uharm_18_overtime+
|
||||||
|
uharm_19_overtime+
|
||||||
|
uharm_20_overtime+
|
||||||
|
uharm_21_overtime+
|
||||||
|
uharm_22_overtime+
|
||||||
|
uharm_23_overtime+
|
||||||
|
uharm_24_overtime+
|
||||||
|
uharm_25_overtime)>0,1,0))as uharmOvertime,
|
||||||
|
sum(if((iharm_2_overtime+
|
||||||
|
iharm_3_overtime+
|
||||||
|
iharm_4_overtime+
|
||||||
|
iharm_5_overtime+
|
||||||
|
iharm_6_overtime+
|
||||||
|
iharm_7_overtime+
|
||||||
|
iharm_8_overtime+
|
||||||
|
iharm_9_overtime+
|
||||||
|
iharm_10_overtime+
|
||||||
|
iharm_11_overtime+
|
||||||
|
iharm_12_overtime+
|
||||||
|
iharm_13_overtime+
|
||||||
|
iharm_14_overtime+
|
||||||
|
iharm_15_overtime+
|
||||||
|
iharm_16_overtime+
|
||||||
|
iharm_17_overtime+
|
||||||
|
iharm_18_overtime+
|
||||||
|
iharm_19_overtime+
|
||||||
|
iharm_20_overtime+
|
||||||
|
iharm_21_overtime+
|
||||||
|
iharm_22_overtime+
|
||||||
|
iharm_23_overtime+
|
||||||
|
iharm_24_overtime+
|
||||||
|
iharm_25_overtime)>0,1,0)) as iharmOvertime,
|
||||||
|
sum(if((inuharm_1_overtime+
|
||||||
|
inuharm_2_overtime+
|
||||||
|
inuharm_3_overtime+
|
||||||
|
inuharm_4_overtime+
|
||||||
|
inuharm_5_overtime+
|
||||||
|
inuharm_6_overtime+
|
||||||
|
inuharm_7_overtime+
|
||||||
|
inuharm_8_overtime+
|
||||||
|
inuharm_9_overtime+
|
||||||
|
inuharm_10_overtime+
|
||||||
|
inuharm_11_overtime+
|
||||||
|
inuharm_12_overtime+
|
||||||
|
inuharm_13_overtime+
|
||||||
|
inuharm_14_overtime+
|
||||||
|
inuharm_15_overtime+
|
||||||
|
inuharm_16_overtime)>0,1,0)) as inuharmOvertime
|
||||||
|
FROM
|
||||||
|
r_stat_limit_target_d
|
||||||
|
<where>
|
||||||
|
and time_id between #{startTime} and #{endTime}
|
||||||
|
<if test=" ids != null and ids.size > 0">
|
||||||
|
AND my_index IN
|
||||||
|
<foreach collection='ids' item='item' index="index" open='(' separator=',' close=')'>
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
GROUP BY
|
||||||
|
my_index
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
package com.njcn.harmonic.service;
|
package com.njcn.harmonic.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
|
||||||
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
|
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
|
||||||
import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO;
|
import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO;
|
||||||
|
import com.njcn.harmonic.pojo.vo.RStatLimitTargetVO;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -23,4 +25,11 @@ public interface IRStatLimitTargetDService extends IService<RStatLimitTargetDPO>
|
|||||||
*/
|
*/
|
||||||
List<String> getLinesTarget(StatSubstationBizBaseParam param);
|
List<String> getLinesTarget(StatSubstationBizBaseParam param);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据监测点查询一个月各指标越线超标天数
|
||||||
|
* @param param
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
RStatLimitTargetVO getGridDiagramTargetData(StatisticsBizBaseParam param);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,19 +2,19 @@ package com.njcn.harmonic.service.impl;
|
|||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||||
import com.njcn.device.biz.pojo.dto.DeptGetSubStationDTO;
|
import com.njcn.device.biz.pojo.dto.DeptGetSubStationDTO;
|
||||||
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
|
||||||
import com.njcn.device.biz.pojo.dto.SubGetBase;
|
import com.njcn.device.biz.pojo.dto.SubGetBase;
|
||||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||||
|
import com.njcn.device.pq.api.LineIntegrityClient;
|
||||||
|
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
|
||||||
import com.njcn.device.pq.pojo.vo.GridDiagramVO;
|
import com.njcn.device.pq.pojo.vo.GridDiagramVO;
|
||||||
import com.njcn.harmonic.mapper.RMpTargetWarnDMapper;
|
import com.njcn.harmonic.mapper.RMpTargetWarnDMapper;
|
||||||
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
|
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
|
||||||
import com.njcn.harmonic.pojo.po.RMpTargetWarnDPO;
|
import com.njcn.harmonic.pojo.po.RMpTargetWarnDPO;
|
||||||
import com.njcn.harmonic.service.IRMpTargetWarnDService;
|
import com.njcn.harmonic.service.IRMpTargetWarnDService;
|
||||||
|
import com.njcn.harmonic.service.IRStatLimitTargetDService;
|
||||||
import com.njcn.system.api.DicDataFeignClient;
|
import com.njcn.system.api.DicDataFeignClient;
|
||||||
import com.njcn.system.enums.DicDataEnum;
|
import com.njcn.system.enums.DicDataEnum;
|
||||||
import com.njcn.system.enums.DicDataTypeEnum;
|
import com.njcn.system.enums.DicDataTypeEnum;
|
||||||
@@ -46,7 +46,8 @@ public class RMpTargetWarnDServiceImpl extends ServiceImpl<RMpTargetWarnDMapper,
|
|||||||
private final DeptFeignClient deptFeignClient;
|
private final DeptFeignClient deptFeignClient;
|
||||||
private final DicDataFeignClient dicDataFeignClient;
|
private final DicDataFeignClient dicDataFeignClient;
|
||||||
private final CommTerminalGeneralClient commTerminalGeneralClient;
|
private final CommTerminalGeneralClient commTerminalGeneralClient;
|
||||||
|
private final IRStatLimitTargetDService targetDService;
|
||||||
|
private final LineIntegrityClient lineIntegrityClient;
|
||||||
@Override
|
@Override
|
||||||
public GridDiagramVO getSubLineGiveAnAlarm(StatSubstationBizBaseParam param) {
|
public GridDiagramVO getSubLineGiveAnAlarm(StatSubstationBizBaseParam param) {
|
||||||
//获取电压等级
|
//获取电压等级
|
||||||
@@ -74,15 +75,22 @@ public class RMpTargetWarnDServiceImpl extends ServiceImpl<RMpTargetWarnDMapper,
|
|||||||
List<String> lineIDS = deptGetChildrenMoreDTOS.stream()
|
List<String> lineIDS = deptGetChildrenMoreDTOS.stream()
|
||||||
.flatMap(x -> x.getStationIds().stream().flatMap(l -> l.getUnitChildrenList().stream()))
|
.flatMap(x -> x.getStationIds().stream().flatMap(l -> l.getUnitChildrenList().stream()))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
//根据r_stat_limit_target_d来判断是否告警allTime flicker_overtime
|
||||||
|
|
||||||
|
List<String> integrityList =new ArrayList<>();
|
||||||
List<RMpTargetWarnDPO> list = this.list(new QueryWrapper<RMpTargetWarnDPO>()
|
//根据r_stat_limit_target_d来判断是否告警allTime flicker_overtime
|
||||||
.select("measurement_point_id,sum(is_warn) as isWarn")
|
List<String> linesTarget=new ArrayList<>();
|
||||||
.in(CollUtil.isNotEmpty(lineIDS), "measurement_point_id", lineIDS)
|
if(CollUtil.isNotEmpty(lineIDS)){
|
||||||
.ge(StrUtil.isNotBlank(param.getStartTime()), "data_date", DateUtil.beginOfDay(DateUtil.parse(param.getStartTime())))
|
StatSubstationBizBaseParam baseParam=new StatSubstationBizBaseParam();
|
||||||
.le(StrUtil.isNotBlank(param.getEndTime()), "data_date", DateUtil.endOfDay(DateUtil.parse(param.getEndTime())))
|
baseParam.setIds(lineIDS);
|
||||||
.groupBy("measurement_point_id")
|
baseParam.setStartTime(DateUtil.beginOfDay(DateUtil.parse(param.getStartTime())).toString());
|
||||||
);
|
baseParam.setEndTime(DateUtil.endOfDay(DateUtil.parse(param.getEndTime())).toString());
|
||||||
|
linesTarget.addAll(targetDService.getLinesTarget(baseParam));
|
||||||
|
List<RStatIntegrityD> integrityDS = lineIntegrityClient.getIntegrityByLineIds(lineIDS,
|
||||||
|
DateUtil.beginOfDay(DateUtil.parse(param.getStartTime())).toString(),
|
||||||
|
DateUtil.endOfDay(DateUtil.parse(param.getEndTime())).toString()).getData();
|
||||||
|
integrityList.addAll(integrityDS.stream().filter(x->0==x.getIntegrityData()).map(RStatIntegrityD::getLineIndex).collect(Collectors.toList()));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Map<String, DeptGetSubStationDTO.Info> deptLineMap = deptGetChildrenMoreDTOS.stream().collect(Collectors.toMap(DeptGetSubStationDTO.Info::getUnitId, Function.identity()));
|
Map<String, DeptGetSubStationDTO.Info> deptLineMap = deptGetChildrenMoreDTOS.stream().collect(Collectors.toMap(DeptGetSubStationDTO.Info::getUnitId, Function.identity()));
|
||||||
@@ -99,7 +107,7 @@ public class RMpTargetWarnDServiceImpl extends ServiceImpl<RMpTargetWarnDMapper,
|
|||||||
List<SubGetBase> subBaseList = deptLineMap.get(datum.getId()).getStationIds();
|
List<SubGetBase> subBaseList = deptLineMap.get(datum.getId()).getStationIds();
|
||||||
List<GridDiagramVO.StatisticsData> statisticsData = new ArrayList<>();
|
List<GridDiagramVO.StatisticsData> statisticsData = new ArrayList<>();
|
||||||
List<GridDiagramVO.StatisticsData> gwStatisticsData = new ArrayList<>();
|
List<GridDiagramVO.StatisticsData> gwStatisticsData = new ArrayList<>();
|
||||||
getSubStationStatisticsData(statisticsData, gwStatisticsData, subBaseList, voltageIds, list);
|
getSubStationStatisticsData(statisticsData, gwStatisticsData, subBaseList, voltageIds, linesTarget,integrityList);
|
||||||
lineStatistics.setData(statisticsData);
|
lineStatistics.setData(statisticsData);
|
||||||
gwLineStatistics.setData(gwStatisticsData);
|
gwLineStatistics.setData(gwStatisticsData);
|
||||||
|
|
||||||
@@ -116,7 +124,8 @@ public class RMpTargetWarnDServiceImpl extends ServiceImpl<RMpTargetWarnDMapper,
|
|||||||
List<GridDiagramVO.StatisticsData> gwStatisticsData,
|
List<GridDiagramVO.StatisticsData> gwStatisticsData,
|
||||||
List<SubGetBase> subBaseList,
|
List<SubGetBase> subBaseList,
|
||||||
List<String> voltageIds,
|
List<String> voltageIds,
|
||||||
List<RMpTargetWarnDPO> list
|
List<String> list,
|
||||||
|
List<String> integrityList
|
||||||
) {
|
) {
|
||||||
GridDiagramVO.StatisticsData data;
|
GridDiagramVO.StatisticsData data;
|
||||||
for (String voltageId : voltageIds) {
|
for (String voltageId : voltageIds) {
|
||||||
@@ -143,8 +152,10 @@ public class RMpTargetWarnDServiceImpl extends ServiceImpl<RMpTargetWarnDMapper,
|
|||||||
} else {
|
} else {
|
||||||
line.addAll(x.getGwUnitChildrenList());
|
line.addAll(x.getGwUnitChildrenList());
|
||||||
}
|
}
|
||||||
List<String> collect = list.stream().filter(d -> line.contains(d.getMeasurementPointId()))
|
List<String> collect=new ArrayList<>();
|
||||||
.filter(d -> d.getIsWarn() > 0).map(RMpTargetWarnDPO::getMeasurementPointId).collect(Collectors.toList());
|
collect.addAll(list.stream().filter(d -> line.contains(d)).collect(Collectors.toList()));
|
||||||
|
collect.addAll(integrityList.stream().filter(d -> line.contains(d)).collect(Collectors.toList()));
|
||||||
|
|
||||||
if (CollUtil.isNotEmpty(collect)) {
|
if (CollUtil.isNotEmpty(collect)) {
|
||||||
num.getAndIncrement();
|
num.getAndIncrement();
|
||||||
alarm.addAll(collect);
|
alarm.addAll(collect);
|
||||||
@@ -152,7 +163,7 @@ public class RMpTargetWarnDServiceImpl extends ServiceImpl<RMpTargetWarnDMapper,
|
|||||||
|
|
||||||
});
|
});
|
||||||
data.setNumTwo(num.get());
|
data.setNumTwo(num.get());
|
||||||
data.setNumTwoList(alarm);
|
data.setNumTwoList(alarm.stream().distinct().collect(Collectors.toList()));
|
||||||
if (i == 0) {
|
if (i == 0) {
|
||||||
statisticsData.add(data);
|
statisticsData.add(data);
|
||||||
} else {
|
} else {
|
||||||
@@ -172,16 +183,18 @@ public class RMpTargetWarnDServiceImpl extends ServiceImpl<RMpTargetWarnDMapper,
|
|||||||
List<String> alarm = new ArrayList<>();
|
List<String> alarm = new ArrayList<>();
|
||||||
subBaseList.stream().forEach(x -> {
|
subBaseList.stream().forEach(x -> {
|
||||||
List<String> line = x.getUnitChildrenList();
|
List<String> line = x.getUnitChildrenList();
|
||||||
List<String> alarmList = list.stream().filter(d -> line.contains(d.getMeasurementPointId()))
|
List<String> alarmList=new ArrayList<>();
|
||||||
.filter(d -> d.getIsWarn() > 0).map(RMpTargetWarnDPO::getMeasurementPointId).collect(Collectors.toList());
|
alarmList.addAll(list.stream().filter(d -> line.contains(d)).collect(Collectors.toList()));
|
||||||
|
alarmList.addAll(integrityList.stream().filter(d -> line.contains(d)).collect(Collectors.toList()));
|
||||||
if (CollUtil.isNotEmpty(alarmList)) {
|
if (CollUtil.isNotEmpty(alarmList)) {
|
||||||
num.getAndIncrement();
|
num.getAndIncrement();
|
||||||
alarm.addAll(alarmList);
|
alarm.addAll(alarmList.stream().distinct().collect(Collectors.toList()));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
data.setNumTwo(num.get());
|
data.setNumTwo(num.get());
|
||||||
data.setNumTwoList(alarm);
|
data.setNumTwoList(alarm);
|
||||||
statisticsData.add(data);
|
statisticsData.add(data);
|
||||||
|
//国网监测点
|
||||||
data = new GridDiagramVO.StatisticsData();
|
data = new GridDiagramVO.StatisticsData();
|
||||||
data.setNumOne(subBaseList.stream()
|
data.setNumOne(subBaseList.stream()
|
||||||
.filter(x -> 1 == x.getIsUpToGrid())
|
.filter(x -> 1 == x.getIsUpToGrid())
|
||||||
@@ -195,11 +208,12 @@ public class RMpTargetWarnDServiceImpl extends ServiceImpl<RMpTargetWarnDMapper,
|
|||||||
List<String> gwAlarm = new ArrayList<>();
|
List<String> gwAlarm = new ArrayList<>();
|
||||||
subBaseList.stream().filter(x -> 1 == x.getIsUpToGrid()).forEach(x -> {
|
subBaseList.stream().filter(x -> 1 == x.getIsUpToGrid()).forEach(x -> {
|
||||||
List<String> line = x.getGwUnitChildrenList();
|
List<String> line = x.getGwUnitChildrenList();
|
||||||
List<String> alarmList = list.stream().filter(d -> line.contains(d.getMeasurementPointId()))
|
List<String> alarmList=new ArrayList<>();
|
||||||
.filter(d -> d.getIsWarn() > 0).map(RMpTargetWarnDPO::getMeasurementPointId).collect(Collectors.toList());
|
alarmList.addAll(list.stream().filter(d -> line.contains(d)).collect(Collectors.toList()));
|
||||||
|
alarmList.addAll(integrityList.stream().filter(d -> line.contains(d)).collect(Collectors.toList()));
|
||||||
if (CollUtil.isNotEmpty(alarmList)) {
|
if (CollUtil.isNotEmpty(alarmList)) {
|
||||||
gwNum.getAndIncrement();
|
gwNum.getAndIncrement();
|
||||||
gwAlarm.addAll(alarmList);
|
gwAlarm.addAll(alarmList.stream().distinct().collect(Collectors.toList()));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
data.setNumTwo(gwNum.get());
|
data.setNumTwo(gwNum.get());
|
||||||
|
|||||||
@@ -1,12 +1,16 @@
|
|||||||
package com.njcn.harmonic.service.impl;
|
package com.njcn.harmonic.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
|
||||||
import com.njcn.harmonic.mapper.RStatLimitTargetDMapper;
|
import com.njcn.harmonic.mapper.RStatLimitTargetDMapper;
|
||||||
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
|
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
|
||||||
import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO;
|
import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO;
|
||||||
|
import com.njcn.harmonic.pojo.vo.RStatLimitTargetVO;
|
||||||
import com.njcn.harmonic.service.IRStatLimitTargetDService;
|
import com.njcn.harmonic.service.IRStatLimitTargetDService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -24,4 +28,11 @@ public class RStatLimitTargetDServiceImpl extends ServiceImpl<RStatLimitTargetDM
|
|||||||
public List<String> getLinesTarget(StatSubstationBizBaseParam param) {
|
public List<String> getLinesTarget(StatSubstationBizBaseParam param) {
|
||||||
return this.baseMapper.getLinesTarget(param.getIds(),param.getStartTime(),param.getEndTime());
|
return this.baseMapper.getLinesTarget(param.getIds(),param.getStartTime(),param.getEndTime());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public RStatLimitTargetVO getGridDiagramTargetData(StatisticsBizBaseParam param) {
|
||||||
|
return this.baseMapper.getSumTargetDetails(Arrays.asList(param.getId()),
|
||||||
|
DateUtil.beginOfDay(DateUtil.parse(param.getStartTime())).toString(),
|
||||||
|
DateUtil.endOfDay(DateUtil.parse(param.getEndTime())).toString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,4 +26,11 @@ public interface RStatLimitService {
|
|||||||
List<RStatLimitTargetDPO> monitorIdsGetLimitTargetInfo(String date, List<String> monitorIds);
|
List<RStatLimitTargetDPO> monitorIdsGetLimitTargetInfo(String date, List<String> monitorIds);
|
||||||
|
|
||||||
List<GridDiagramVO.LineData> getGridDiagramLineData(DeviceInfoParam.BusinessParam deviceInfoParam);
|
List<GridDiagramVO.LineData> getGridDiagramLineData(DeviceInfoParam.BusinessParam deviceInfoParam);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 区域基本信息(监测点,终端,变电站等)
|
||||||
|
* @param param
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<GridDiagramVO.AreaData> getGridDiagramAreaData(DeviceInfoParam.BusinessParam param);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,15 +13,14 @@ import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
|
|||||||
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
|
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
|
||||||
import com.njcn.device.pq.pojo.param.OnlineRateParam;
|
import com.njcn.device.pq.pojo.param.OnlineRateParam;
|
||||||
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
|
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
|
||||||
import com.njcn.device.pq.pojo.po.RStatOnlinerateD;
|
|
||||||
import com.njcn.device.pq.pojo.vo.GridDiagramVO;
|
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.device.pq.pojo.vo.TerminalTree;
|
|
||||||
import com.njcn.harmonic.mapper.RStatLimitRateDMapper;
|
import com.njcn.harmonic.mapper.RStatLimitRateDMapper;
|
||||||
import com.njcn.harmonic.mapper.RStatLimitTargetDMapper;
|
import com.njcn.harmonic.mapper.RStatLimitTargetDMapper;
|
||||||
import com.njcn.harmonic.mapper.RStatLimitTargetMapper;
|
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
|
||||||
import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO;
|
import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO;
|
||||||
import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO;
|
import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO;
|
||||||
|
import com.njcn.harmonic.service.IRStatLimitTargetDService;
|
||||||
import com.njcn.harmonic.service.majornetwork.RStatLimitService;
|
import com.njcn.harmonic.service.majornetwork.RStatLimitService;
|
||||||
import com.njcn.system.pojo.enums.StatisticsEnum;
|
import com.njcn.system.pojo.enums.StatisticsEnum;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@@ -31,7 +30,6 @@ import java.util.ArrayList;
|
|||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import java.util.stream.Stream;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* pqs
|
* pqs
|
||||||
@@ -47,6 +45,7 @@ public class RStatLimitServiceImpl implements RStatLimitService {
|
|||||||
private final RStatLimitTargetDMapper rStatLimitTargetDMapper;
|
private final RStatLimitTargetDMapper rStatLimitTargetDMapper;
|
||||||
private final GeneralDeviceInfoClient generalDeviceInfoClient;
|
private final GeneralDeviceInfoClient generalDeviceInfoClient;
|
||||||
private final LineIntegrityClient lineIntegrityClient;
|
private final LineIntegrityClient lineIntegrityClient;
|
||||||
|
private final IRStatLimitTargetDService targetDService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<RStatLimitRateDPO> monitorIdsGetLimitRateInfo(String date, List<String> monitorIds) {
|
public List<RStatLimitRateDPO> monitorIdsGetLimitRateInfo(String date, List<String> monitorIds) {
|
||||||
@@ -137,6 +136,48 @@ public class RStatLimitServiceImpl implements RStatLimitService {
|
|||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<GridDiagramVO.AreaData> getGridDiagramAreaData(DeviceInfoParam.BusinessParam param) {
|
||||||
|
List<GridDiagramVO.AreaData> info = new ArrayList<>();
|
||||||
|
GridDiagramVO.AreaData areaData ;
|
||||||
|
List<GeneralDeviceDTO> data = generalDeviceInfoClient.getPracticalRunDeviceInfo(param).getData();
|
||||||
|
List<String> integrityList;
|
||||||
|
List<String> linesTarget;
|
||||||
|
for (GeneralDeviceDTO datum : data) {
|
||||||
|
areaData = new GridDiagramVO.AreaData();
|
||||||
|
areaData.setOrgId(datum.getIndex());
|
||||||
|
areaData.setOrgName(datum.getName());
|
||||||
|
areaData.setLineNum(datum.getLineIndexes().size());
|
||||||
|
areaData.setLineList(datum.getLineIndexes());
|
||||||
|
areaData.setSubNum(datum.getSubIndexes().size());
|
||||||
|
areaData.setDeviceNum(datum.getDeviceIndexes().size());
|
||||||
|
if(CollUtil.isNotEmpty(datum.getLineIndexes())){
|
||||||
|
integrityList =new ArrayList<>();
|
||||||
|
//根据r_stat_limit_target_d来判断是否告警allTime flicker_overtime
|
||||||
|
StatSubstationBizBaseParam baseParam=new StatSubstationBizBaseParam();
|
||||||
|
baseParam.setIds(datum.getLineIndexes());
|
||||||
|
baseParam.setStartTime(DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())).toString());
|
||||||
|
baseParam.setEndTime(DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())).toString());
|
||||||
|
linesTarget=targetDService.getLinesTarget(baseParam);
|
||||||
|
List<RStatIntegrityD> integrityDS = lineIntegrityClient.getIntegrityByLineIds(datum.getLineIndexes(),
|
||||||
|
DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())).toString(),
|
||||||
|
DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())).toString()).getData();
|
||||||
|
integrityList.addAll(integrityDS.stream().filter(x->0==x.getIntegrityData()).map(RStatIntegrityD::getLineIndex).collect(Collectors.toList()));
|
||||||
|
List<String> collect=new ArrayList<>();
|
||||||
|
collect.addAll(linesTarget.stream().filter(d -> datum.getLineIndexes().contains(d)).collect(Collectors.toList()));
|
||||||
|
collect.addAll(integrityList.stream().filter(d -> datum.getLineIndexes().contains(d)).collect(Collectors.toList()));
|
||||||
|
List<String> alarm = collect.stream().distinct().collect(Collectors.toList());
|
||||||
|
areaData.setAlarm(alarm.size());
|
||||||
|
areaData.setAlarmList(alarm);
|
||||||
|
}else {
|
||||||
|
areaData.setAlarm(0);
|
||||||
|
areaData.setAlarmList(new ArrayList<>());
|
||||||
|
}
|
||||||
|
info.add(areaData);
|
||||||
|
}
|
||||||
|
return info;
|
||||||
|
}
|
||||||
|
|
||||||
private void onLineAndIntegrity(List<String> lineIds, List<RStatIntegrityD> onIntegrityByIds, List<String> devIds, List<RStatOnlinerateVO> onlineRateByDevIds,List<RStatLimitTargetDPO> limitTargetList, GridDiagramVO.LineData lineData) {
|
private void onLineAndIntegrity(List<String> lineIds, List<RStatIntegrityD> onIntegrityByIds, List<String> devIds, List<RStatOnlinerateVO> onlineRateByDevIds,List<RStatLimitTargetDPO> limitTargetList, GridDiagramVO.LineData lineData) {
|
||||||
//监测完整率
|
//监测完整率
|
||||||
List<RStatIntegrityD> integrityDS = onIntegrityByIds.stream().filter(x -> lineIds.contains(x.getLineIndex())).collect(Collectors.toList());
|
List<RStatIntegrityD> integrityDS = onIntegrityByIds.stream().filter(x -> lineIds.contains(x.getLineIndex())).collect(Collectors.toList());
|
||||||
|
|||||||
Reference in New Issue
Block a user