1.全景增加技术监督计划调整
2.增加暂态列表信息和监测点评估信息
This commit is contained in:
@@ -99,4 +99,9 @@ public class PollutionLineInfoDTO {
|
|||||||
* 监测点名称
|
* 监测点名称
|
||||||
*/
|
*/
|
||||||
private String lineName;
|
private String lineName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 实际安装位置
|
||||||
|
*/
|
||||||
|
private String actualArea;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,4 +77,7 @@ public class RunManageParam extends BaseParam implements Serializable {
|
|||||||
|
|
||||||
@ApiModelProperty(name = "evaluate", value = "评价")
|
@ApiModelProperty(name = "evaluate", value = "评价")
|
||||||
private String evaluate;
|
private String evaluate;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "ids", value = "监测点id集合")
|
||||||
|
private List<String> ids;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,6 +36,9 @@ public class GridDiagramProVO {
|
|||||||
|
|
||||||
@ApiModelProperty(name = "integrityRate", value = "数据完整率")
|
@ApiModelProperty(name = "integrityRate", value = "数据完整率")
|
||||||
private Float integrityRate;
|
private Float integrityRate;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "onLineRate", value = "数据在线率")
|
||||||
|
private Float onLineRate;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,10 @@
|
|||||||
package com.njcn.device.pq.pojo.vo.dataClean;
|
package com.njcn.device.pq.pojo.vo.dataClean;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author: cdf
|
* @Author: cdf
|
||||||
* @CreateTime: 2025-03-31
|
* @CreateTime: 2025-03-31
|
||||||
@@ -78,4 +81,71 @@ public class DetailAbnormalVO {
|
|||||||
//限值
|
//限值
|
||||||
private float overLimitValue;
|
private float overLimitValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public static class Assess {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 频率偏差
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("频率偏差")
|
||||||
|
private Double freqData = 3.14159;
|
||||||
|
@ApiModelProperty("频率偏差限值")
|
||||||
|
private Float freqLimit = 3.14159F;
|
||||||
|
@ApiModelProperty("频率偏差信息")
|
||||||
|
private List<DetailLimitInnerVO> freqDataList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电压偏差上
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("电压上偏差")
|
||||||
|
private Double vDevData = 3.14159;
|
||||||
|
|
||||||
|
@ApiModelProperty("电压上偏差限值")
|
||||||
|
private Float vDevLimit = 3.14159F;
|
||||||
|
@ApiModelProperty("频率偏差信息")
|
||||||
|
private List<DetailLimitInnerVO> vDevDataList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电压偏差下
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("电压下偏差")
|
||||||
|
private Double uDevData = 3.14159;
|
||||||
|
@ApiModelProperty("电压下偏差限值")
|
||||||
|
private Float uDevLimit = 3.14159F;
|
||||||
|
@ApiModelProperty("频率偏差信息")
|
||||||
|
private List<DetailLimitInnerVO> uDevDataList;
|
||||||
|
/**
|
||||||
|
* 总谐波畸变率
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("总谐波畸变率")
|
||||||
|
private Double uaberranceData = 3.14159;
|
||||||
|
@ApiModelProperty("总谐波畸变率限值")
|
||||||
|
private Float uaberranceLimit = 3.14159F;
|
||||||
|
@ApiModelProperty("频率偏差信息")
|
||||||
|
private List<DetailLimitInnerVO> uaberranceDataList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 三相电压不平衡度
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("三相电压不平衡度")
|
||||||
|
private Double unbalanceData = 3.14159;
|
||||||
|
@ApiModelProperty("三相电压不平衡度限值")
|
||||||
|
private Float unbalanceLimit = 3.14159F;
|
||||||
|
@ApiModelProperty("频率偏差信息")
|
||||||
|
private List<DetailLimitInnerVO> unbalanceDataList;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电压闪变
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("电压闪变")
|
||||||
|
private Double flickerData = 3.14159;
|
||||||
|
@ApiModelProperty("电压闪变限值")
|
||||||
|
private Float flickerLimit = 3.14159F;
|
||||||
|
@ApiModelProperty("频率偏差信息")
|
||||||
|
private List<DetailLimitInnerVO> flickerDataList;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -141,5 +141,14 @@ public class DataVerifyController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
|
@PostMapping("/limitTableDetail")
|
||||||
|
@ApiOperation("监测点评价")
|
||||||
|
public HttpResult<DetailAbnormalVO.Assess> limitTableDetail(@RequestBody MonitorBaseParam monitorBaseParam) {
|
||||||
|
String methodDescribe = getMethodDescribe("limitTableDetail");
|
||||||
|
DetailAbnormalVO.Assess list = iDataVerifyService.limitTableDetail(monitorBaseParam);
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -44,4 +44,5 @@ public interface IDataVerifyService extends IService<DataVerify> {
|
|||||||
List<DetailAbnormalVO.DetailLimitInnerVO> monitorLimitTableDetail(MonitorBaseParam monitorBaseParam);
|
List<DetailAbnormalVO.DetailLimitInnerVO> monitorLimitTableDetail(MonitorBaseParam monitorBaseParam);
|
||||||
|
|
||||||
|
|
||||||
|
DetailAbnormalVO.Assess limitTableDetail(MonitorBaseParam monitorBaseParam);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.njcn.device.pq.service.impl;
|
|||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.njcn.common.pojo.enums.common.ServerEnum;
|
import com.njcn.common.pojo.enums.common.ServerEnum;
|
||||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||||
@@ -331,7 +332,9 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
|||||||
@Override
|
@Override
|
||||||
public List<String> getRunMonitorByDept(MonitorBaseParam monitorBaseParam) {
|
public List<String> getRunMonitorByDept(MonitorBaseParam monitorBaseParam) {
|
||||||
List<String> ids = deptFeignClient.getDepSonIdtByDeptId(monitorBaseParam.getDeptId()).getData();
|
List<String> ids = deptFeignClient.getDepSonIdtByDeptId(monitorBaseParam.getDeptId()).getData();
|
||||||
List<String> monitorIds = deptLineService.getLineByDeptIds(ids, monitorBaseParam.getManufacturer(), Arrays.asList(monitorBaseParam.getLineRunFlag()), Stream.of(0, 1, 2).collect(Collectors.toList()), monitorBaseParam.getObjType());
|
List<String> monitorIds = deptLineService.getLineByDeptIds(ids, monitorBaseParam.getManufacturer(),
|
||||||
|
ObjectUtil.isNotNull(monitorBaseParam.getLineRunFlag())? Arrays.asList(monitorBaseParam.getLineRunFlag()):null,
|
||||||
|
Stream.of(0, 1, 2).collect(Collectors.toList()), monitorBaseParam.getObjType());
|
||||||
return monitorIds;
|
return monitorIds;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -19,9 +19,12 @@ import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
|||||||
import com.njcn.dataProcess.pojo.dto.DataLimitRateDetailDto;
|
import com.njcn.dataProcess.pojo.dto.DataLimitRateDetailDto;
|
||||||
import com.njcn.dataProcess.pojo.dto.DataLimitTargetDto;
|
import com.njcn.dataProcess.pojo.dto.DataLimitTargetDto;
|
||||||
import com.njcn.dataProcess.pojo.dto.PqReasonableRangeDto;
|
import com.njcn.dataProcess.pojo.dto.PqReasonableRangeDto;
|
||||||
|
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||||
import com.njcn.device.biz.enums.DeviceResponseEnum;
|
import com.njcn.device.biz.enums.DeviceResponseEnum;
|
||||||
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
||||||
|
import com.njcn.device.biz.pojo.po.Overlimit;
|
||||||
import com.njcn.device.line.mapper.LineMapper;
|
import com.njcn.device.line.mapper.LineMapper;
|
||||||
|
import com.njcn.device.overlimit.service.IOverLimitService;
|
||||||
import com.njcn.device.pq.mapper.DataVerifyMapper;
|
import com.njcn.device.pq.mapper.DataVerifyMapper;
|
||||||
import com.njcn.device.pq.mapper.PqDataVerifyBakMapper;
|
import com.njcn.device.pq.mapper.PqDataVerifyBakMapper;
|
||||||
import com.njcn.device.pq.pojo.param.dataClean.MonitorBaseParam;
|
import com.njcn.device.pq.pojo.param.dataClean.MonitorBaseParam;
|
||||||
@@ -45,6 +48,7 @@ import org.slf4j.LoggerFactory;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
@@ -87,8 +91,7 @@ public class DataVerifyServiceImpl extends ServiceImpl<DataVerifyMapper, DataVer
|
|||||||
private final DataLimitRateDetailFeignClient dataLimitRateDetailFeignClient;
|
private final DataLimitRateDetailFeignClient dataLimitRateDetailFeignClient;
|
||||||
private final DicDataFeignClient dicDataFeignClient;
|
private final DicDataFeignClient dicDataFeignClient;
|
||||||
|
|
||||||
private final PqDataVerifyBakMapper pqDataVerifyBakMapper;
|
private final IOverLimitService overLimitService;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public VerifyMonitorVO getMonitorVerifyData(MonitorBaseParam monitorBaseParam) {
|
public VerifyMonitorVO getMonitorVerifyData(MonitorBaseParam monitorBaseParam) {
|
||||||
@@ -394,6 +397,88 @@ public class DataVerifyServiceImpl extends ServiceImpl<DataVerifyMapper, DataVer
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DetailAbnormalVO.Assess limitTableDetail(MonitorBaseParam monitorBaseParam) {
|
||||||
|
DetailAbnormalVO.Assess assess = new DetailAbnormalVO.Assess();
|
||||||
|
LineCountEvaluateParam lineCountEvaluateParam = new LineCountEvaluateParam();
|
||||||
|
lineCountEvaluateParam.setLineId(Collections.singletonList(monitorBaseParam.getMonitorIds().get(0)));
|
||||||
|
lineCountEvaluateParam.setStartTime(monitorBaseParam.getSearchBeginTime());
|
||||||
|
lineCountEvaluateParam.setEndTime(monitorBaseParam.getSearchBeginTime());
|
||||||
|
List<DataLimitRateDetailDto> dtoList = dataLimitRateDetailFeignClient.getRawData(lineCountEvaluateParam).getData();
|
||||||
|
Overlimit overLimitDataById = overLimitService.getOverLimitDataById(monitorBaseParam.getMonitorIds().get(0));
|
||||||
|
|
||||||
|
List<DetailAbnormalVO.DetailLimitInnerVO> freq = new ArrayList<>();
|
||||||
|
List<DetailAbnormalVO.DetailLimitInnerVO> voltage = new ArrayList<>();
|
||||||
|
List<DetailAbnormalVO.DetailLimitInnerVO> uaberrance = new ArrayList<>();
|
||||||
|
List<DetailAbnormalVO.DetailLimitInnerVO> ubalance = new ArrayList<>();
|
||||||
|
List<DetailAbnormalVO.DetailLimitInnerVO> flicker = new ArrayList<>();
|
||||||
|
for (DataLimitRateDetailDto dto : dtoList) {
|
||||||
|
dealJsonArr(new JSONArray(dto.getFreqDevOvertime()), freq, DicDataEnum.FREQUENCY_DEV.getCode(), null);
|
||||||
|
dealJsonArr(new JSONArray(dto.getVoltageDevOvertime()), voltage, DicDataEnum.VOLTAGE_DEV.getCode(), null);
|
||||||
|
dealJsonArr(new JSONArray(dto.getUaberranceOvertime()), uaberrance, DicDataEnum.THD_V.getCode(), null);
|
||||||
|
dealJsonArr(new JSONArray(dto.getUbalanceOvertime()), ubalance, DicDataEnum.phase_Voltage.getCode(), null);
|
||||||
|
dealJsonArr(new JSONArray(dto.getFlickerOvertime()), flicker, DicDataEnum.FLICKER.getCode(), null);
|
||||||
|
}
|
||||||
|
if (CollUtil.isNotEmpty(freq)) {
|
||||||
|
List<DetailAbnormalVO.DetailLimitInnerVO> collect = freq.stream().sorted(Comparator.comparing(DetailAbnormalVO.DetailLimitInnerVO::getVal).reversed()).collect(Collectors.toList());
|
||||||
|
DetailAbnormalVO.DetailLimitInnerVO val = collect.get(0);
|
||||||
|
assess.setFreqData(Double.valueOf(val.getVal()));
|
||||||
|
assess.setFreqLimit(val.getOverLimitValue());
|
||||||
|
assess.setFreqDataList(collect);
|
||||||
|
} else {
|
||||||
|
assess.setFreqLimit(overLimitDataById.getFreqDev());
|
||||||
|
}
|
||||||
|
if (CollUtil.isNotEmpty(voltage)) {
|
||||||
|
List<DetailAbnormalVO.DetailLimitInnerVO> collect = voltage.stream().filter(x->Double.valueOf(x.getVal()) > 0).sorted(Comparator.comparing(DetailAbnormalVO.DetailLimitInnerVO::getVal).reversed()).collect(Collectors.toList());
|
||||||
|
if(CollUtil.isNotEmpty(collect)){
|
||||||
|
DetailAbnormalVO.DetailLimitInnerVO val = collect.get(0);
|
||||||
|
assess.setVDevData(Double.valueOf(val.getVal()));
|
||||||
|
assess.setVDevLimit(val.getOverLimitValue());
|
||||||
|
assess.setVDevDataList(collect);
|
||||||
|
}
|
||||||
|
List<DetailAbnormalVO.DetailLimitInnerVO> collect2 = voltage.stream().filter(x->Double.valueOf(x.getVal()) < 0).sorted(Comparator.comparing(DetailAbnormalVO.DetailLimitInnerVO::getVal)).collect(Collectors.toList());
|
||||||
|
if(CollUtil.isNotEmpty(collect2)){
|
||||||
|
DetailAbnormalVO.DetailLimitInnerVO val2 = collect2.get(0);
|
||||||
|
assess.setUDevData(Double.valueOf(val2.getVal()));
|
||||||
|
assess.setUDevLimit(val2.getOverLimitValue());
|
||||||
|
assess.setUDevDataList(collect2);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
assess.setVDevLimit(overLimitDataById.getVoltageDev());
|
||||||
|
assess.setUDevLimit(overLimitDataById.getUvoltageDev());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (CollUtil.isNotEmpty(uaberrance)) {
|
||||||
|
List<DetailAbnormalVO.DetailLimitInnerVO> collect = uaberrance.stream().sorted(Comparator.comparing(DetailAbnormalVO.DetailLimitInnerVO::getVal).reversed()).collect(Collectors.toList());
|
||||||
|
DetailAbnormalVO.DetailLimitInnerVO val = collect.get(0);
|
||||||
|
assess.setUaberranceData(Double.valueOf(val.getVal()));
|
||||||
|
assess.setUaberranceLimit(val.getOverLimitValue());
|
||||||
|
assess.setUaberranceDataList(collect);
|
||||||
|
}else {
|
||||||
|
assess.setUaberranceLimit(overLimitDataById.getUaberrance());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (CollUtil.isNotEmpty(ubalance)) {
|
||||||
|
List<DetailAbnormalVO.DetailLimitInnerVO> collect = ubalance.stream().sorted(Comparator.comparing(DetailAbnormalVO.DetailLimitInnerVO::getVal).reversed()).collect(Collectors.toList());
|
||||||
|
DetailAbnormalVO.DetailLimitInnerVO val = collect.get(0);
|
||||||
|
assess.setUnbalanceData(Double.valueOf(val.getVal()));
|
||||||
|
assess.setUnbalanceLimit(val.getOverLimitValue());
|
||||||
|
assess.setUnbalanceDataList(collect);
|
||||||
|
}else{
|
||||||
|
assess.setUnbalanceLimit(overLimitDataById.getUbalance());
|
||||||
|
}
|
||||||
|
if (CollUtil.isNotEmpty(flicker)) {
|
||||||
|
List<DetailAbnormalVO.DetailLimitInnerVO> collect = flicker.stream().sorted(Comparator.comparing(DetailAbnormalVO.DetailLimitInnerVO::getVal).reversed()).collect(Collectors.toList());
|
||||||
|
DetailAbnormalVO.DetailLimitInnerVO val = collect.get(0);
|
||||||
|
assess.setFlickerData(Double.valueOf(val.getVal()));
|
||||||
|
assess.setFlickerLimit(val.getOverLimitValue());
|
||||||
|
assess.setFlickerDataList(collect);
|
||||||
|
}else {
|
||||||
|
assess.setFlickerLimit(overLimitDataById.getFlicker());
|
||||||
|
}
|
||||||
|
return assess;
|
||||||
|
}
|
||||||
|
|
||||||
private Map<String, DictData> getTargetMap() {
|
private Map<String, DictData> getTargetMap() {
|
||||||
List<DictData> dictDataList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.STEADY_STATIS.getCode()).getData();
|
List<DictData> dictDataList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.STEADY_STATIS.getCode()).getData();
|
||||||
return dictDataList.stream().collect(Collectors.toMap(DictData::getCode, Function.identity()));
|
return dictDataList.stream().collect(Collectors.toMap(DictData::getCode, Function.identity()));
|
||||||
@@ -572,8 +657,6 @@ public class DataVerifyServiceImpl extends ServiceImpl<DataVerifyMapper, DataVer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
//谐波电压指标包含 各次谐波电压含有率 + 电压总谐波畸变率
|
|
||||||
HARMONIC_VOLTAGE.addAll(THD_V);
|
|
||||||
|
|
||||||
Map<String, Set<String>> overLimitCount = new HashMap<>();
|
Map<String, Set<String>> overLimitCount = new HashMap<>();
|
||||||
overLimitCount.put(DicDataEnum.FLICKER.getCode() + SEPARATOR + DicDataEnum.FLICKER.getName(), FLICKER);
|
overLimitCount.put(DicDataEnum.FLICKER.getCode() + SEPARATOR + DicDataEnum.FLICKER.getName(), FLICKER);
|
||||||
|
|||||||
@@ -472,7 +472,7 @@ public class DeviceRunEvaluateServiceImpl implements DeviceRunEvaluateService {
|
|||||||
if (CollUtil.isNotEmpty(onlineRateDS)) {
|
if (CollUtil.isNotEmpty(onlineRateDS)) {
|
||||||
double onlineTime = onlineRateDS.stream().mapToDouble(RStatOnlineRateVO::getOnlineMin).sum();
|
double onlineTime = onlineRateDS.stream().mapToDouble(RStatOnlineRateVO::getOnlineMin).sum();
|
||||||
double offlineTime = onlineRateDS.stream().mapToDouble(RStatOnlineRateVO::getOfflineMin).sum();
|
double offlineTime = onlineRateDS.stream().mapToDouble(RStatOnlineRateVO::getOfflineMin).sum();
|
||||||
if (offlineTime == 0) {
|
if ((onlineTime + offlineTime) == 0) {
|
||||||
return new BigDecimal(0);
|
return new BigDecimal(0);
|
||||||
}
|
}
|
||||||
return NumberUtil.round(Math.min(onlineTime * 100.0 / (onlineTime + offlineTime), 100), 2);
|
return NumberUtil.round(Math.min(onlineTime * 100.0 / (onlineTime + offlineTime), 100), 2);
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ 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.common.mapper.onlinerate.OnLineRateMapper;
|
||||||
import com.njcn.device.common.service.GeneralDeviceService;
|
import com.njcn.device.common.service.GeneralDeviceService;
|
||||||
import com.njcn.device.device.service.IDeviceService;
|
import com.njcn.device.device.service.IDeviceService;
|
||||||
import com.njcn.device.line.mapper.LineDetailMapper;
|
import com.njcn.device.line.mapper.LineDetailMapper;
|
||||||
@@ -26,6 +27,7 @@ import com.njcn.device.pq.pojo.param.OnlineRateParam;
|
|||||||
import com.njcn.device.pq.pojo.po.*;
|
import com.njcn.device.pq.pojo.po.*;
|
||||||
import com.njcn.device.pq.pojo.vo.GridDiagramProVO;
|
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.pojo.vo.RStatOnlineRateVO;
|
||||||
import com.njcn.device.pq.service.*;
|
import com.njcn.device.pq.service.*;
|
||||||
import com.njcn.device.rstatintegrity.mapper.RStatIntegrityDMapper;
|
import com.njcn.device.rstatintegrity.mapper.RStatIntegrityDMapper;
|
||||||
import com.njcn.system.api.DicDataFeignClient;
|
import com.njcn.system.api.DicDataFeignClient;
|
||||||
@@ -66,6 +68,7 @@ public class GridDiagramServiceImpl implements GridDiagramService {
|
|||||||
private final LineService lineService;
|
private final LineService lineService;
|
||||||
private final DeptLineService deptLineService;
|
private final DeptLineService deptLineService;
|
||||||
private final LineDetailMapper lineDetailMapper;
|
private final LineDetailMapper lineDetailMapper;
|
||||||
|
private final OnLineRateMapper onLineRateMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public GridDiagramVO getGridDiagramMonitor(GridDiagramParam param) {
|
public GridDiagramVO getGridDiagramMonitor(GridDiagramParam param) {
|
||||||
@@ -472,13 +475,16 @@ public class GridDiagramServiceImpl implements GridDiagramService {
|
|||||||
GridDiagramProVO.Details details = new GridDiagramProVO.Details();
|
GridDiagramProVO.Details details = new GridDiagramProVO.Details();
|
||||||
Stream<LineDetail> stream = lines.stream();
|
Stream<LineDetail> stream = lines.stream();
|
||||||
Stream<LineDetail> stream2 = lines.stream();
|
Stream<LineDetail> stream2 = lines.stream();
|
||||||
|
Stream<LineDetail> stream3 = lines.stream();
|
||||||
if (gwType != null) {
|
if (gwType != null) {
|
||||||
stream = stream.filter(x -> x.getMonitorFlag() == gwType);
|
stream = stream.filter(x -> x.getMonitorFlag() == gwType);
|
||||||
stream2 = stream2.filter(x -> x.getMonitorFlag() == gwType);
|
stream2 = stream2.filter(x -> x.getMonitorFlag() == gwType);
|
||||||
|
stream3 = stream3.filter(x -> x.getMonitorFlag() == gwType);
|
||||||
}
|
}
|
||||||
if (powerFlag != null) {
|
if (powerFlag != null) {
|
||||||
stream = stream.filter(x -> x.getPowerFlag() == powerFlag);
|
stream = stream.filter(x -> x.getPowerFlag() == powerFlag);
|
||||||
stream2 = stream2.filter(x -> x.getPowerFlag() == powerFlag);
|
stream2 = stream2.filter(x -> x.getPowerFlag() == powerFlag);
|
||||||
|
stream3 = stream3.filter(x -> x.getPowerFlag() == powerFlag);
|
||||||
}
|
}
|
||||||
//总监测点
|
//总监测点
|
||||||
List<String> ids = stream.map(LineDetail::getId).collect(Collectors.toList());
|
List<String> ids = stream.map(LineDetail::getId).collect(Collectors.toList());
|
||||||
@@ -496,6 +502,23 @@ public class GridDiagramServiceImpl implements GridDiagramService {
|
|||||||
} else {
|
} else {
|
||||||
details.setIntegrityRate(0.0f);
|
details.setIntegrityRate(0.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<String> devIds = stream3.map(LineDetail::getMonitorName).collect(Collectors.toList());
|
||||||
|
if (CollUtil.isNotEmpty(devIds)) {
|
||||||
|
OnlineRateParam onlineRateParam = new OnlineRateParam();
|
||||||
|
onlineRateParam.setIds(devIds);
|
||||||
|
onlineRateParam.setStartTime(baseQueryParam.getStartTime());
|
||||||
|
onlineRateParam.setEndTime(baseQueryParam.getEndTime());
|
||||||
|
//获取所有终端在线率
|
||||||
|
List<RStatOnlineRateVO> onlineRateByDev = onLineRateMapper.getOnlineRateByDevIds(onlineRateParam);
|
||||||
|
if(CollUtil.isNotEmpty(onlineRateByDev)){
|
||||||
|
details.setOnLineRate(onlineRateByDev.get(0).getOnlineRate().floatValue());
|
||||||
|
}else{
|
||||||
|
details.setOnLineRate(0.0f);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
details.setOnLineRate(0.0f);
|
||||||
|
}
|
||||||
return details;
|
return details;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -75,11 +75,16 @@ public class RunManageServiceImpl implements RunManageService {
|
|||||||
@Override
|
@Override
|
||||||
public List<RunManageVO> getLineLedger(RunManageParam runManageParam) {
|
public List<RunManageVO> getLineLedger(RunManageParam runManageParam) {
|
||||||
List<RunManageVO> resultList = new ArrayList<>();
|
List<RunManageVO> resultList = new ArrayList<>();
|
||||||
DeviceInfoParam deviceInfoParam = new DeviceInfoParam();
|
List<String> lineIndexes ;
|
||||||
BeanUtil.copyProperties(runManageParam, deviceInfoParam);
|
if(CollUtil.isNotEmpty(runManageParam.getIds())){
|
||||||
deviceInfoParam.setServerName("pqs-common");
|
lineIndexes =runManageParam.getIds();
|
||||||
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceService.getDeviceInfo(deviceInfoParam, Stream.of(0,1,2).collect(Collectors.toList()), Stream.of(1).collect(Collectors.toList()));
|
}else{
|
||||||
List<String> lineIndexes = generalDeviceDTOList.stream().flatMap(list -> list.getLineIndexes().stream()).collect(Collectors.toList());
|
DeviceInfoParam deviceInfoParam = new DeviceInfoParam();
|
||||||
|
BeanUtil.copyProperties(runManageParam, deviceInfoParam);
|
||||||
|
deviceInfoParam.setServerName("pqs-common");
|
||||||
|
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceService.getDeviceInfo(deviceInfoParam, Stream.of(0,1,2).collect(Collectors.toList()), Stream.of(1).collect(Collectors.toList()));
|
||||||
|
lineIndexes = generalDeviceDTOList.stream().flatMap(list -> list.getLineIndexes().stream()).collect(Collectors.toList());
|
||||||
|
}
|
||||||
if (!CollectionUtils.isEmpty(lineIndexes)) {
|
if (!CollectionUtils.isEmpty(lineIndexes)) {
|
||||||
resultList = deviceMapper.getRunManageList(lineIndexes, runManageParam.getComFlag(),runManageParam.getRunFlag(), Objects.isNull(runManageParam.getSearchValue())?null:runManageParam.getSearchValue());
|
resultList = deviceMapper.getRunManageList(lineIndexes, runManageParam.getComFlag(),runManageParam.getRunFlag(), Objects.isNull(runManageParam.getSearchValue())?null:runManageParam.getSearchValue());
|
||||||
if(CollUtil.isNotEmpty(resultList)){
|
if(CollUtil.isNotEmpty(resultList)){
|
||||||
|
|||||||
@@ -371,7 +371,8 @@
|
|||||||
deviceDetail.id deviceId,
|
deviceDetail.id deviceId,
|
||||||
pv.scale lineVoltage,
|
pv.scale lineVoltage,
|
||||||
pqsub.scale subVoltage,
|
pqsub.scale subVoltage,
|
||||||
lineDetail.monitor_id monitorId
|
lineDetail.monitor_id monitorId,
|
||||||
|
lineDetail.Actual_Area actualArea
|
||||||
FROM
|
FROM
|
||||||
pq_line line,
|
pq_line line,
|
||||||
pq_line_detail lineDetail,
|
pq_line_detail lineDetail,
|
||||||
|
|||||||
@@ -68,7 +68,8 @@
|
|||||||
SELECT
|
SELECT
|
||||||
DISTINCT
|
DISTINCT
|
||||||
detail.*,
|
detail.*,
|
||||||
pqd.Com_Flag as comFlag
|
pqd.Com_Flag as comFlag,
|
||||||
|
pqd.id as monitorName
|
||||||
FROM
|
FROM
|
||||||
pq_line line,
|
pq_line line,
|
||||||
pq_line_detail detail,
|
pq_line_detail detail,
|
||||||
|
|||||||
@@ -46,6 +46,15 @@ public class EventCount implements Serializable {
|
|||||||
@ApiModelProperty("监测点名称")
|
@ApiModelProperty("监测点名称")
|
||||||
private String lineName;
|
private String lineName;
|
||||||
|
|
||||||
|
@ApiModelProperty("终端名称")
|
||||||
|
private String devName;
|
||||||
|
|
||||||
|
@ApiModelProperty("变电站名称")
|
||||||
|
private String subName;
|
||||||
|
|
||||||
|
@ApiModelProperty("ip")
|
||||||
|
private String ip;
|
||||||
|
|
||||||
@ApiModelProperty("暂态指标")
|
@ApiModelProperty("暂态指标")
|
||||||
private String dicData;
|
private String dicData;
|
||||||
|
|
||||||
|
|||||||
@@ -32,10 +32,9 @@ import com.njcn.device.pq.api.GeneralDeviceInfoClient;
|
|||||||
import com.njcn.device.pq.api.LineFeignClient;
|
import com.njcn.device.pq.api.LineFeignClient;
|
||||||
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.po.Device;
|
|
||||||
import com.njcn.device.pq.pojo.po.Line;
|
|
||||||
import com.njcn.device.pq.pojo.vo.AreaLineInfoVO;
|
import com.njcn.device.pq.pojo.vo.AreaLineInfoVO;
|
||||||
import com.njcn.device.pq.pojo.vo.GridDiagramVO;
|
import com.njcn.device.pq.pojo.vo.GridDiagramVO;
|
||||||
|
import com.njcn.device.pq.pojo.vo.LineDetailVO;
|
||||||
import com.njcn.event.enums.EventResponseEnum;
|
import com.njcn.event.enums.EventResponseEnum;
|
||||||
import com.njcn.event.mapper.majornetwork.RMpEventDetailMMapper;
|
import com.njcn.event.mapper.majornetwork.RMpEventDetailMMapper;
|
||||||
import com.njcn.event.mapper.majornetwork.RmpEventDetailMapper;
|
import com.njcn.event.mapper.majornetwork.RmpEventDetailMapper;
|
||||||
@@ -47,7 +46,6 @@ import com.njcn.event.pojo.vo.*;
|
|||||||
import com.njcn.event.service.majornetwork.RmpEventDetailService;
|
import com.njcn.event.service.majornetwork.RmpEventDetailService;
|
||||||
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
|
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
|
||||||
import com.njcn.event.pojo.po.RMpEventDetailM;
|
import com.njcn.event.pojo.po.RMpEventDetailM;
|
||||||
import com.njcn.harmonic.pojo.vo.RStatOrgIndexVO;
|
|
||||||
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;
|
||||||
@@ -363,10 +361,10 @@ public class RmpEventDetailServiceImpl extends ServiceImpl<RmpEventDetailMapper,
|
|||||||
.ge(StrUtil.isNotBlank(param.getSearchBeginTime()), RmpEventDetailPO::getStartTime, DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())))
|
.ge(StrUtil.isNotBlank(param.getSearchBeginTime()), RmpEventDetailPO::getStartTime, DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())))
|
||||||
.le(StrUtil.isNotBlank(param.getSearchEndTime()), RmpEventDetailPO::getStartTime, DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())))
|
.le(StrUtil.isNotBlank(param.getSearchEndTime()), RmpEventDetailPO::getStartTime, DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())))
|
||||||
);
|
);
|
||||||
Map<String, Line> lineMap = new HashMap<>();
|
Map<String, LineDetailVO.Detail> lineMap = new HashMap<>();
|
||||||
if (CollUtil.isNotEmpty(lineIds)) {
|
if (CollUtil.isNotEmpty(lineIds)) {
|
||||||
List<Line> lines = lineFeignClient.getBaseLineList(lineIds).getData();
|
List<LineDetailVO.Detail> lines = lineFeignClient.getLineDetailByIds(lineIds).getData();
|
||||||
lineMap = lines.stream().collect(Collectors.toMap(Line::getId, Function.identity()));
|
lineMap = lines.stream().collect(Collectors.toMap(LineDetailVO.Detail::getLineId, Function.identity()));
|
||||||
}
|
}
|
||||||
EventDetailVO vo;
|
EventDetailVO vo;
|
||||||
for (GeneralDeviceDTO datum : data) {
|
for (GeneralDeviceDTO datum : data) {
|
||||||
@@ -403,16 +401,20 @@ public class RmpEventDetailServiceImpl extends ServiceImpl<RmpEventDetailMapper,
|
|||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<EventCount.Detail> eventLine(List<RmpEventDetailPO> detailPOList, String dicData, Map<String, Line> lineMap) {
|
public List<EventCount.Detail> eventLine(List<RmpEventDetailPO> detailPOList, String dicData, Map<String, LineDetailVO.Detail> lineMap) {
|
||||||
List<EventCount.Detail> info = new ArrayList<>();
|
List<EventCount.Detail> info = new ArrayList<>();
|
||||||
Map<String, Long> collect = detailPOList.stream().filter(x -> x.getEventType().equals(dicData))
|
Map<String, Long> collect = detailPOList.stream().filter(x -> x.getEventType().equals(dicData))
|
||||||
.collect(Collectors.groupingBy(RmpEventDetailPO::getMeasurementPointId, Collectors.counting()));
|
.collect(Collectors.groupingBy(RmpEventDetailPO::getMeasurementPointId, Collectors.counting()));
|
||||||
collect.forEach((key, value) -> {
|
collect.forEach((key, value) -> {
|
||||||
if (lineMap.containsKey(key)) {
|
if (lineMap.containsKey(key)) {
|
||||||
|
LineDetailVO.Detail detail1 = lineMap.get(key);
|
||||||
EventCount.Detail detail = new EventCount.Detail();
|
EventCount.Detail detail = new EventCount.Detail();
|
||||||
detail.setLineId(key);
|
detail.setLineId(key);
|
||||||
detail.setDicData(dicData);
|
detail.setDicData(dicData);
|
||||||
detail.setLineName(lineMap.get(key).getName());
|
detail.setLineName(detail1.getLineName());
|
||||||
|
detail.setDevName(detail1.getDevName());
|
||||||
|
detail.setSubName(detail1.getSubName());
|
||||||
|
detail.setIp(detail1.getIp());
|
||||||
detail.setCount(BigDecimal.valueOf(value));
|
detail.setCount(BigDecimal.valueOf(value));
|
||||||
info.add(detail);
|
info.add(detail);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1201,32 +1201,36 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
|||||||
if (CollUtil.isNotEmpty(lineIdList)) {
|
if (CollUtil.isNotEmpty(lineIdList)) {
|
||||||
List<RMpPollutionDPO> pollutionList = rMpPollutionDPOMapper.selectSumList(lineIdList, param.getIds(), param.getStartTime(), param.getEndTime());
|
List<RMpPollutionDPO> pollutionList = rMpPollutionDPOMapper.selectSumList(lineIdList, param.getIds(), param.getStartTime(), param.getEndTime());
|
||||||
Map<String, Double> pollutionMap = pollutionList.stream().collect(Collectors.toMap(RMpPollutionDPO::getLineId, RMpPollutionDPO::getValue));
|
Map<String, Double> pollutionMap = pollutionList.stream().collect(Collectors.toMap(RMpPollutionDPO::getLineId, RMpPollutionDPO::getValue));
|
||||||
//获取监测点详细信息
|
|
||||||
List<PollutionLineInfoDTO> lineInfoDTOList = commLineClient.getPollutionLineInfo(lineIdList).getData();
|
List<PollutionLineInfoDTO> lineDetailList = commLineClient.getPollutionLineInfo(lineIdList).getData();
|
||||||
List<PowerFlagPollution> linePollutionList;
|
Map<String, List<PollutionLineInfoDTO>> lineDetailMap = lineDetailList.stream().collect(Collectors.groupingBy(PollutionLineInfoDTO::getActualArea));
|
||||||
for (GeneralDeviceDTO item : deptData) {
|
//获取部门
|
||||||
linePollutionList = new ArrayList<>();
|
List<DeptDTO> deptList = deptFeignClient.getDepSonDetailByDeptId(param.getId()).getData();
|
||||||
AreaPollution pollution = new AreaPollution();
|
deptList.forEach(item -> {
|
||||||
pollution.setDeptName(item.getName());
|
if (lineDetailMap.containsKey(item.getArea())) {
|
||||||
pollution.setDeptId(item.getIndex());
|
List<PowerFlagPollution> linePollutionList = new ArrayList<>();
|
||||||
List<PollutionLineInfoDTO> lineDetails = lineInfoDTOList.stream().filter(x -> item.getLineIndexes().contains(x.getLineId())).collect(Collectors.toList());
|
AreaPollution pollution = new AreaPollution();
|
||||||
PowerFlagPollution pollution1;
|
pollution.setDeptName(item.getName());
|
||||||
for (PollutionLineInfoDTO lineDetail : lineDetails) {
|
pollution.setDeptId(item.getId());
|
||||||
pollution1 = new PowerFlagPollution();
|
List<PollutionLineInfoDTO> lineDetails = lineDetailMap.get(item.getArea()).stream().collect(Collectors.toList());
|
||||||
pollution1.setLineName(lineDetail.getLineName());
|
PowerFlagPollution pollution1;
|
||||||
pollution1.setDevName(lineDetail.getDevName());
|
for (PollutionLineInfoDTO lineDetail : lineDetails) {
|
||||||
pollution1.setManufacturer(lineDetail.getManufacturer());
|
pollution1 = new PowerFlagPollution();
|
||||||
pollution1.setDevType(lineDetail.getDevType());
|
pollution1.setLineName(lineDetail.getLineName());
|
||||||
pollution1.setLoginTime(lineDetail.getLoginTime());
|
pollution1.setDevName(lineDetail.getDevName());
|
||||||
pollution1.setInterval(lineDetail.getTimeInterval());
|
pollution1.setManufacturer(lineDetail.getManufacturer());
|
||||||
pollution1.setPowerFlag(lineDetail.getPowerFlag());
|
pollution1.setDevType(lineDetail.getDevType());
|
||||||
pollution1.setVHarmonicValue(pollutionMap.containsKey(lineDetail.getLineId())?NumberUtil.round(pollutionMap.get(lineDetail.getLineId()),2).doubleValue():0.0);
|
pollution1.setLoginTime(lineDetail.getLoginTime());
|
||||||
linePollutionList.add(pollution1);
|
pollution1.setInterval(lineDetail.getTimeInterval());
|
||||||
|
pollution1.setPowerFlag(lineDetail.getPowerFlag());
|
||||||
|
pollution1.setVHarmonicValue(pollutionMap.containsKey(lineDetail.getLineId())?NumberUtil.round(pollutionMap.get(lineDetail.getLineId()),2).doubleValue():0.0);
|
||||||
|
linePollutionList.add(pollution1);
|
||||||
|
}
|
||||||
|
pollution.setPowerFlagPollutionList(linePollutionList.stream().sorted(Comparator.comparing(PowerFlagPollution::getVHarmonicValue).reversed()).collect(Collectors.toList()));
|
||||||
|
pollution.setScore(NumberUtil.round(linePollutionList.stream().mapToDouble(PowerFlagPollution::getVHarmonicValue).sum(),2).doubleValue());
|
||||||
|
info.add(pollution);
|
||||||
}
|
}
|
||||||
pollution.setPowerFlagPollutionList(linePollutionList.stream().sorted(Comparator.comparing(PowerFlagPollution::getVHarmonicValue).reversed()).collect(Collectors.toList()));
|
});
|
||||||
pollution.setScore(NumberUtil.round(linePollutionList.stream().mapToDouble(PowerFlagPollution::getVHarmonicValue).sum(),2).doubleValue());
|
|
||||||
info.add(pollution);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -186,7 +186,7 @@ public class RStatLimitServiceImpl implements RStatLimitService {
|
|||||||
baseParam.setIds(onLine);
|
baseParam.setIds(onLine);
|
||||||
baseParam.setStartTime(DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())).toString());
|
baseParam.setStartTime(DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())).toString());
|
||||||
baseParam.setEndTime(DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())).toString());
|
baseParam.setEndTime(DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())).toString());
|
||||||
List<String> linesTarget = targetDService.getLinesTarget(baseParam);
|
List<String> linesTarget = targetDService.getLinesHarmTarget(baseParam);
|
||||||
List<RStatIntegrityD> integrityDS = lineIntegrityClient.getIntegrityByLineIds(onLine,
|
List<RStatIntegrityD> integrityDS = lineIntegrityClient.getIntegrityByLineIds(onLine,
|
||||||
DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())).toString(),
|
DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())).toString(),
|
||||||
DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())).toString()).getData();
|
DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())).toString()).getData();
|
||||||
@@ -272,7 +272,7 @@ public class RStatLimitServiceImpl implements RStatLimitService {
|
|||||||
baseParam.setStartTime(DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())).toString());
|
baseParam.setStartTime(DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())).toString());
|
||||||
baseParam.setEndTime(DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())).toString());
|
baseParam.setEndTime(DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())).toString());
|
||||||
List<String> linesTarget = targetDService.getLinesHarmTarget(baseParam);
|
List<String> linesTarget = targetDService.getLinesHarmTarget(baseParam);
|
||||||
List<RStatIntegrityD> integrityDS = lineIntegrityClient.getIntegrityByLineIds(online,
|
List<RStatIntegrityD> integrityDS = lineIntegrityClient.getIntegrityByLineIds(line,
|
||||||
DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())).toString(),
|
DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())).toString(),
|
||||||
DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())).toString()).getData();
|
DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())).toString()).getData();
|
||||||
//在线率大于90的点
|
//在线率大于90的点
|
||||||
@@ -299,7 +299,7 @@ public class RStatLimitServiceImpl implements RStatLimitService {
|
|||||||
|
|
||||||
//数据完整性≥90% - <90%
|
//数据完整性≥90% - <90%
|
||||||
GridDiagramVO.RunData integrityData = new GridDiagramVO.RunData();
|
GridDiagramVO.RunData integrityData = new GridDiagramVO.RunData();
|
||||||
List<String> integrity = online.stream().filter(x -> !integrityDS90.contains(x)).distinct().collect(Collectors.toList());
|
List<String> integrity = line.stream().filter(x -> !integrityDS90.contains(x)).distinct().collect(Collectors.toList());
|
||||||
integrityData.setLineNumOne(integrityDS90.size());
|
integrityData.setLineNumOne(integrityDS90.size());
|
||||||
integrityData.setLineListOne(integrityDS90);
|
integrityData.setLineListOne(integrityDS90);
|
||||||
integrityData.setLineNumTwo(integrity.size());
|
integrityData.setLineNumTwo(integrity.size());
|
||||||
@@ -309,7 +309,7 @@ public class RStatLimitServiceImpl implements RStatLimitService {
|
|||||||
|
|
||||||
//电能质量指标未超标-超标
|
//电能质量指标未超标-超标
|
||||||
GridDiagramVO.RunData targetData = new GridDiagramVO.RunData();
|
GridDiagramVO.RunData targetData = new GridDiagramVO.RunData();
|
||||||
List<String> integrityS = online.stream().filter(x -> !linesTarget.contains(x)).distinct().collect(Collectors.toList());
|
List<String> integrityS = line.stream().filter(x -> !linesTarget.contains(x)).distinct().collect(Collectors.toList());
|
||||||
targetData.setLineNumOne(integrityS.size());
|
targetData.setLineNumOne(integrityS.size());
|
||||||
targetData.setLineListOne(integrityS);
|
targetData.setLineListOne(integrityS);
|
||||||
targetData.setLineNumTwo(linesTarget.size());
|
targetData.setLineNumTwo(linesTarget.size());
|
||||||
|
|||||||
@@ -252,7 +252,7 @@ public class GridDiagramServiceImpl implements GridDiagramService {
|
|||||||
//根据问题单id查询已关联工单
|
//根据问题单id查询已关联工单
|
||||||
List<String> problemIds = userComplaintList.stream().map(SupervisionUserComplaintPO::getId).collect(Collectors.toList());
|
List<String> problemIds = userComplaintList.stream().map(SupervisionUserComplaintPO::getId).collect(Collectors.toList());
|
||||||
problemIds.addAll(surveyTestList.stream().map(SurveyTest::getId).collect(Collectors.toList()));
|
problemIds.addAll(surveyTestList.stream().map(SurveyTest::getId).collect(Collectors.toList()));
|
||||||
problemIds.addAll(lineWarningList.stream().map(LineWarning::getId).collect(Collectors.toList()));
|
problemIds.addAll(lineWarningList.stream().map(LineWarning::getLeafletId).collect(Collectors.toList()));
|
||||||
problemIds.addAll(runWarningsIds);
|
problemIds.addAll(runWarningsIds);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user