1.全景展示修改,调整监测基本信息展示
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
package com.njcn.device.pq.pojo.po;
|
package com.njcn.device.pq.pojo.po;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
|
||||||
@@ -180,4 +180,9 @@ public class LineDetail{
|
|||||||
*/
|
*/
|
||||||
private Integer runFlag;
|
private Integer runFlag;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通讯状态
|
||||||
|
*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
private Integer comFlag;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,41 @@
|
|||||||
|
package com.njcn.device.pq.pojo.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author wr
|
||||||
|
* @description
|
||||||
|
* @date 2024/6/3 13:52
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class GridDiagramProVO {
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "num", value = "冀北公司")
|
||||||
|
private List<Details> data;
|
||||||
|
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "num", value = "报送国网")
|
||||||
|
private List<Details> gwData;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public static class Details {
|
||||||
|
@ApiModelProperty(name = "num", value = "监测点个数")
|
||||||
|
private Integer num;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "numList", value = "监测点集合")
|
||||||
|
private List<String> numList;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "onLineNum", value = "在线监测点数")
|
||||||
|
private Integer onLineNum;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "onLineNumList", value = "在线监测点集合")
|
||||||
|
private List<String> onLineNumList;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "integrityRate", value = "数据完整率")
|
||||||
|
private Float integrityRate;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -182,4 +182,20 @@ public class GridDiagramVO {
|
|||||||
private Integer onDevice;
|
private Integer onDevice;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@Data
|
||||||
|
public static class RunData {
|
||||||
|
// 合格/告警 在线/离线 数据完整性≥90% / <90% 电能质量指标未超标/超标
|
||||||
|
@ApiModelProperty(name = "lineNumOne", value = "监测点个数")
|
||||||
|
private Integer lineNumOne;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "lineListOne", value = "监测点集合")
|
||||||
|
private List<String> lineListOne;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "lineNumTwo", value = "监测点个数")
|
||||||
|
private Integer lineNumTwo;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "lineListTwo", value = "监测点集合")
|
||||||
|
private List<String> lineListTwo;
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import com.njcn.common.utils.HttpResultUtil;
|
|||||||
import com.njcn.device.pq.pojo.param.GridDiagramParam;
|
import com.njcn.device.pq.pojo.param.GridDiagramParam;
|
||||||
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.po.RStatOnlinerateD;
|
||||||
|
import com.njcn.device.pq.pojo.vo.GridDiagramProVO;
|
||||||
import com.njcn.device.pq.pojo.vo.GridDiagramVO;
|
import com.njcn.device.pq.pojo.vo.GridDiagramVO;
|
||||||
import com.njcn.device.pq.service.GridDiagramService;
|
import com.njcn.device.pq.service.GridDiagramService;
|
||||||
import com.njcn.web.controller.BaseController;
|
import com.njcn.web.controller.BaseController;
|
||||||
@@ -93,6 +94,18 @@ public class GridDiagramController extends BaseController {
|
|||||||
Map<String, Long> gridDiagramDevTendency = gridDiagramService.getGridDiagramDevTendency(param,6);
|
Map<String, Long> gridDiagramDevTendency = gridDiagramService.getGridDiagramDevTendency(param,6);
|
||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, gridDiagramDevTendency, methodDescribe);
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, gridDiagramDevTendency, methodDescribe);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
|
@PostMapping("/getGridDiagramStatistics")
|
||||||
|
@ApiOperation("监测点指标统计")
|
||||||
|
public HttpResult<GridDiagramProVO> getGridDiagramStatistics(@RequestBody StatisticsBizBaseParam param){
|
||||||
|
String methodDescribe = getMethodDescribe("getGridDiagramStatistics");
|
||||||
|
GridDiagramProVO gridDiagramDevTendency = gridDiagramService.getGridDiagramStatistics(param);
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, gridDiagramDevTendency, methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//---------------------------------------------------市级---------------------------------------
|
//---------------------------------------------------市级---------------------------------------
|
||||||
|
|
||||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
|
|||||||
@@ -53,4 +53,13 @@ public interface LineDetailMapper extends BaseMapper<LineDetail> {
|
|||||||
LineDevGetDTO getMonitorDetail(@Param("monitorId")String monitorId);
|
LineDevGetDTO getMonitorDetail(@Param("monitorId")String monitorId);
|
||||||
|
|
||||||
void updateLineRunFlag(@Param("id")String lineId, @Param("runFlag")Integer status);
|
void updateLineRunFlag(@Param("id")String lineId, @Param("runFlag")Integer status);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据监测点信息获取监测点详情(关联终端和母线)
|
||||||
|
* 获取指定条件的监测点信息
|
||||||
|
* @param Ids 监测点集合
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
List<LineDetail> getLineDetailByIds(@Param("ids") List<String> Ids);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,6 +60,35 @@
|
|||||||
inner join pq_line_detail b on a.id=b.id
|
inner join pq_line_detail b on a.id=b.id
|
||||||
where a.id = #{monitorId}
|
where a.id = #{monitorId}
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getLineDetailByIds" resultType="com.njcn.device.pq.pojo.po.LineDetail">
|
||||||
|
SELECT
|
||||||
|
DISTINCT
|
||||||
|
detail.*,
|
||||||
|
pqd.Com_Flag as comFlag
|
||||||
|
FROM
|
||||||
|
pq_line line,
|
||||||
|
pq_line_detail detail,
|
||||||
|
pq_line vo,
|
||||||
|
pq_voltage vg,
|
||||||
|
pq_line dev,
|
||||||
|
pq_device pqd
|
||||||
|
<where>
|
||||||
|
line.id = detail.id
|
||||||
|
AND vo.id = line.pid
|
||||||
|
AND dev.id = vo.pid
|
||||||
|
AND vo.id = vg.id
|
||||||
|
AND pqd.id = dev.id
|
||||||
|
AND pqd.id = dev.id
|
||||||
|
and pqd.Dev_Model =1
|
||||||
|
and pqd.Run_Flag = 0
|
||||||
|
<if test="ids != null and ids.size > 0">
|
||||||
|
AND line.id IN
|
||||||
|
<foreach collection='ids' item='item' index="index" open='(' separator=',' close=')'>
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
|
||||||
<update id="updateLineRunFlag" >
|
<update id="updateLineRunFlag" >
|
||||||
update pq_line_detail
|
update pq_line_detail
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import com.njcn.common.pojo.param.StatisticsBizBaseParam;
|
|||||||
import com.njcn.device.pq.pojo.param.GridDiagramParam;
|
import com.njcn.device.pq.pojo.param.GridDiagramParam;
|
||||||
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.po.RStatOnlinerateD;
|
||||||
|
import com.njcn.device.pq.pojo.vo.GridDiagramProVO;
|
||||||
import com.njcn.device.pq.pojo.vo.GridDiagramVO;
|
import com.njcn.device.pq.pojo.vo.GridDiagramVO;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -59,8 +60,12 @@ public interface GridDiagramService {
|
|||||||
|
|
||||||
List<GridDiagramVO.DevData> getGridDiagramDevDataList(GridDiagramParam param);
|
List<GridDiagramVO.DevData> getGridDiagramDevDataList(GridDiagramParam param);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 监测点指标统计
|
||||||
|
* @param param
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
GridDiagramProVO getGridDiagramStatistics(StatisticsBizBaseParam param);
|
||||||
//---------------------------------------------------市级---------------------------------------
|
//---------------------------------------------------市级---------------------------------------
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import cn.hutool.core.date.DateField;
|
|||||||
import cn.hutool.core.date.DateTime;
|
import cn.hutool.core.date.DateTime;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.NumberUtil;
|
import cn.hutool.core.util.NumberUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
@@ -13,25 +14,23 @@ import com.njcn.common.pojo.param.StatisticsBizBaseParam;
|
|||||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||||
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
||||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||||
|
import com.njcn.device.pq.mapper.LineDetailMapper;
|
||||||
import com.njcn.device.pq.mapper.RStatIntegrityDMapper;
|
import com.njcn.device.pq.mapper.RStatIntegrityDMapper;
|
||||||
import com.njcn.device.pq.mapper.RStatOnlinerateDMapper;
|
import com.njcn.device.pq.mapper.RStatOnlinerateDMapper;
|
||||||
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
|
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
|
||||||
import com.njcn.device.pq.pojo.param.GridDiagramParam;
|
import com.njcn.device.pq.pojo.param.GridDiagramParam;
|
||||||
|
import com.njcn.device.pq.pojo.param.LineBaseQueryParam;
|
||||||
import com.njcn.device.pq.pojo.param.OnlineRateParam;
|
import com.njcn.device.pq.pojo.param.OnlineRateParam;
|
||||||
import com.njcn.device.pq.pojo.po.Device;
|
import com.njcn.device.pq.pojo.po.*;
|
||||||
import com.njcn.device.pq.pojo.po.Line;
|
import com.njcn.device.pq.pojo.vo.GridDiagramProVO;
|
||||||
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.service.CommTerminalService;
|
import com.njcn.device.pq.service.*;
|
||||||
import com.njcn.device.pq.service.GridDiagramService;
|
|
||||||
import com.njcn.device.pq.service.IDeviceService;
|
|
||||||
import com.njcn.device.pq.service.LineService;
|
|
||||||
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;
|
||||||
import com.njcn.system.pojo.po.DictData;
|
import com.njcn.system.pojo.po.DictData;
|
||||||
import com.njcn.user.api.DeptFeignClient;
|
import com.njcn.user.api.DeptFeignClient;
|
||||||
|
import com.njcn.user.pojo.dto.DeptDTO;
|
||||||
import com.njcn.user.pojo.po.Dept;
|
import com.njcn.user.pojo.po.Dept;
|
||||||
|
|
||||||
import java.time.ZoneId;
|
import java.time.ZoneId;
|
||||||
@@ -40,6 +39,7 @@ import java.util.function.Function;
|
|||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
|
import com.njcn.web.utils.WebUtil;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -63,6 +63,8 @@ public class GridDiagramServiceImpl implements GridDiagramService {
|
|||||||
private final IDeviceService deviceService;
|
private final IDeviceService deviceService;
|
||||||
private final GeneralDeviceService generalDeviceService;
|
private final GeneralDeviceService generalDeviceService;
|
||||||
private final LineService lineService;
|
private final LineService lineService;
|
||||||
|
private final DeptLineService deptLineService;
|
||||||
|
private final LineDetailMapper lineDetailMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public GridDiagramVO getGridDiagramMonitor(GridDiagramParam param) {
|
public GridDiagramVO getGridDiagramMonitor(GridDiagramParam param) {
|
||||||
@@ -398,6 +400,61 @@ public class GridDiagramServiceImpl implements GridDiagramService {
|
|||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public GridDiagramProVO getGridDiagramStatistics(StatisticsBizBaseParam param) {
|
||||||
|
GridDiagramProVO vo = new GridDiagramProVO();
|
||||||
|
// 获取包括当前部门的后代所有部门信息
|
||||||
|
List<String> deptIds = deptFeignClient.getDepSonIdtByDeptId(param.getId()).getData();
|
||||||
|
// 根据部门ids集合查询是否绑定监测点 部门和监测点关联关系中间表:pq_dept_line 可以一对多
|
||||||
|
List<DeptLine> deptLines = deptLineService.selectDeptBindLines(deptIds);
|
||||||
|
List<String> lineIds = deptLines.stream().map(DeptLine::getLineId).collect(Collectors.toList());
|
||||||
|
List<LineDetail> lines = lineDetailMapper.getLineDetailByIds(lineIds);
|
||||||
|
LineBaseQueryParam baseQueryParam = new LineBaseQueryParam();
|
||||||
|
baseQueryParam.setStartTime(param.getStartTime());
|
||||||
|
baseQueryParam.setEndTime(param.getEndTime());
|
||||||
|
//开始组装总信息
|
||||||
|
List<GridDiagramProVO.Details> data = new ArrayList<>();
|
||||||
|
data.add(add(lines, baseQueryParam, null, 0));
|
||||||
|
data.add(add(lines, baseQueryParam, null, 1));
|
||||||
|
//开始组装国网信息
|
||||||
|
List<GridDiagramProVO.Details> gwData = new ArrayList<>();
|
||||||
|
gwData.add(add(lines, baseQueryParam, 1, 0));
|
||||||
|
vo.setData(data);
|
||||||
|
vo.setGwData(gwData);
|
||||||
|
|
||||||
|
return vo;
|
||||||
|
}
|
||||||
|
|
||||||
|
private GridDiagramProVO.Details add(List<LineDetail> lines,
|
||||||
|
LineBaseQueryParam baseQueryParam,
|
||||||
|
Integer gwType,
|
||||||
|
Integer powerFlag) {
|
||||||
|
GridDiagramProVO.Details details = new GridDiagramProVO.Details();
|
||||||
|
Stream<LineDetail> stream = lines.stream();
|
||||||
|
Stream<LineDetail> stream2 = lines.stream();
|
||||||
|
if (gwType != null) {
|
||||||
|
stream = stream.filter(x -> x.getMonitorFlag() == gwType);
|
||||||
|
stream2 = stream2.filter(x -> x.getMonitorFlag() == gwType);
|
||||||
|
}
|
||||||
|
if (powerFlag != null) {
|
||||||
|
stream = stream.filter(x -> x.getPowerFlag() == powerFlag);
|
||||||
|
stream2 = stream2.filter(x -> x.getPowerFlag() == powerFlag);
|
||||||
|
}
|
||||||
|
//总监测点
|
||||||
|
List<String> ids = stream.map(LineDetail::getId).collect(Collectors.toList());
|
||||||
|
//在线监测点
|
||||||
|
List<String> onIds = stream2.filter(x -> x.getComFlag() == 1)
|
||||||
|
.map(LineDetail::getId)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
details.setNum(ids.size());
|
||||||
|
details.setNumList(ids);
|
||||||
|
details.setOnLineNum(onIds.size());
|
||||||
|
details.setOnLineNumList(onIds);
|
||||||
|
baseQueryParam.setLineIds(ids);
|
||||||
|
details.setIntegrityRate(integrityDMapper.selectTotalIntegrityByLineIds(baseQueryParam));
|
||||||
|
return details;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<String> getGridDiagramCityDev(GridDiagramParam param) {
|
public List<String> getGridDiagramCityDev(GridDiagramParam param) {
|
||||||
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceService.getDeviceInfoAsDept(param.getDeviceInfoParam(), null, Stream.of(1).collect(Collectors.toList()));
|
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceService.getDeviceInfoAsDept(param.getDeviceInfoParam(), null, Stream.of(1).collect(Collectors.toList()));
|
||||||
|
|||||||
@@ -99,6 +99,14 @@ public class GridDiagramHarmController extends BaseController {
|
|||||||
List<GridDiagramVO.AreaData> gridDiagramDevData = rStatLimitService.getGridDiagramAreaData(param);
|
List<GridDiagramVO.AreaData> gridDiagramDevData = rStatLimitService.getGridDiagramAreaData(param);
|
||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, gridDiagramDevData, methodDescribe);
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, gridDiagramDevData, methodDescribe);
|
||||||
}
|
}
|
||||||
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
|
@PostMapping("/getGridDiagramRunData")
|
||||||
|
@ApiOperation("监测运行统计")
|
||||||
|
public HttpResult<List<GridDiagramVO.RunData>> getGridDiagramRunData(@RequestBody DeviceInfoParam.BusinessParam param) {
|
||||||
|
String methodDescribe = getMethodDescribe("getGridDiagramRunData");
|
||||||
|
List<GridDiagramVO.RunData> gridDiagramDevData = rStatLimitService.getGridDiagramRunData(param);
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, gridDiagramDevData, methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
@PostMapping("/getGridDiagramTargetData")
|
@PostMapping("/getGridDiagramTargetData")
|
||||||
|
|||||||
@@ -33,4 +33,11 @@ public interface RStatLimitService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<GridDiagramVO.AreaData> getGridDiagramAreaData(DeviceInfoParam.BusinessParam param);
|
List<GridDiagramVO.AreaData> getGridDiagramAreaData(DeviceInfoParam.BusinessParam param);
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param param
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<GridDiagramVO.RunData> getGridDiagramRunData(DeviceInfoParam.BusinessParam param);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -228,6 +228,72 @@ public class RStatLimitServiceImpl implements RStatLimitService {
|
|||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<GridDiagramVO.RunData> getGridDiagramRunData(DeviceInfoParam.BusinessParam param) {
|
||||||
|
|
||||||
|
List<GridDiagramVO.RunData> info = new ArrayList<>();
|
||||||
|
//监测点总数
|
||||||
|
List<GeneralDeviceDTO> data = generalDeviceInfoClient.getPracticalRunDeviceInfo(param).getData();
|
||||||
|
List<String> line = data.stream().flatMap(x -> x.getLineIndexes().stream()).distinct().collect(Collectors.toList());
|
||||||
|
//在线
|
||||||
|
param.setComFlagStatus(1);
|
||||||
|
List<GeneralDeviceDTO> onData = generalDeviceInfoClient.getPracticalRunDeviceInfo(param).getData();
|
||||||
|
List<String> online = onData.stream().flatMap(x -> x.getLineIndexes().stream()).distinct().collect(Collectors.toList());
|
||||||
|
|
||||||
|
StatSubstationBizBaseParam baseParam=new StatSubstationBizBaseParam();
|
||||||
|
baseParam.setIds(line);
|
||||||
|
baseParam.setStartTime(DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())).toString());
|
||||||
|
baseParam.setEndTime(DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())).toString());
|
||||||
|
List<String> linesTarget=targetDService.getLinesTarget(baseParam);
|
||||||
|
List<RStatIntegrityD> integrityDS = lineIntegrityClient.getIntegrityByLineIds(line,
|
||||||
|
DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())).toString(),
|
||||||
|
DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())).toString()).getData();
|
||||||
|
List<String> integrityDS0 = integrityDS.stream().filter(x -> 0 == x.getIntegrityData()).map(RStatIntegrityD::getLineIndex).collect(Collectors.toList());
|
||||||
|
|
||||||
|
//在线-离线
|
||||||
|
GridDiagramVO.RunData runData=new GridDiagramVO.RunData();
|
||||||
|
List<String> Offline = line.stream().filter(x -> !online.contains(x)).distinct().collect(Collectors.toList());
|
||||||
|
runData.setLineNumOne(online.size());
|
||||||
|
runData.setLineListOne(online);
|
||||||
|
runData.setLineNumTwo(Offline.size());
|
||||||
|
runData.setLineListTwo(Offline);
|
||||||
|
info.add(runData);
|
||||||
|
|
||||||
|
//合格-告警
|
||||||
|
GridDiagramVO.RunData alarmData=new GridDiagramVO.RunData();
|
||||||
|
List<String> lineAlarm = new ArrayList<>();
|
||||||
|
lineAlarm.addAll(linesTarget.stream().filter(d -> line.contains(d)).collect(Collectors.toList()));
|
||||||
|
lineAlarm.addAll(integrityDS0.stream().filter(d -> line.contains(d)).collect(Collectors.toList()));
|
||||||
|
List<String> alarm = lineAlarm.stream().distinct().collect(Collectors.toList());
|
||||||
|
List<String> us = line.stream().filter(x -> !alarm.contains(x)).distinct().collect(Collectors.toList());
|
||||||
|
alarmData.setLineNumOne(us.size());
|
||||||
|
alarmData.setLineListOne(us);
|
||||||
|
alarmData.setLineNumTwo(alarm.size());
|
||||||
|
alarmData.setLineListTwo(alarm);
|
||||||
|
info.add(alarmData);
|
||||||
|
|
||||||
|
//数据完整性≥90% - <90%
|
||||||
|
GridDiagramVO.RunData integrityData=new GridDiagramVO.RunData();
|
||||||
|
List<String> integrityDS90 = integrityDS.stream().filter(x -> 0.9 <= x.getIntegrityData()).map(RStatIntegrityD::getLineIndex).collect(Collectors.toList());
|
||||||
|
List<String> integrity = line.stream().filter(x -> !integrityDS90.contains(x)).distinct().collect(Collectors.toList());
|
||||||
|
integrityData.setLineNumOne(integrityDS90.size());
|
||||||
|
integrityData.setLineListOne(integrityDS90);
|
||||||
|
integrityData.setLineNumTwo(integrity.size());
|
||||||
|
integrityData.setLineListTwo(integrity);
|
||||||
|
info.add(integrityData);
|
||||||
|
|
||||||
|
|
||||||
|
//电能质量指标未超标-超标
|
||||||
|
GridDiagramVO.RunData targetData=new GridDiagramVO.RunData();
|
||||||
|
List<String> integrityS = line.stream().filter(x -> !linesTarget.contains(x)).distinct().collect(Collectors.toList());
|
||||||
|
targetData.setLineNumOne(integrityS.size());
|
||||||
|
integrityData.setLineListOne(integrityS);
|
||||||
|
targetData.setLineNumTwo(linesTarget.size());
|
||||||
|
integrityData.setLineListTwo(linesTarget);
|
||||||
|
info.add(targetData);
|
||||||
|
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