1.冀北电网一张图,变电站,终端,暂态列表接口重新调整

2.技术监督统计,电容器和评估报告统计调整
This commit is contained in:
wr
2024-04-29 16:29:25 +08:00
parent e2fa2e31c2
commit c1a3c745f7
15 changed files with 217 additions and 28 deletions

View File

@@ -4,11 +4,9 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/4/25 10:40
* @Description:
* @Author: wr
* @Date: 2024/4/29 11:00
*/
@Data
public class PollutionGridDiagramDTO extends PollutionSubstationDTO{

View File

@@ -4,6 +4,8 @@ import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author wr
* @description 冀北电网一张图入参
@@ -19,6 +21,9 @@ public class GridDiagramParam extends BaseParam {
@ApiModelProperty(name="type",value="类型1年 2季度 3月份 4周 5日")
private Integer type;
@ApiModelProperty(name="deviceInfoParam",value="")
@ApiModelProperty(value = "ids集合", required = true)
private List<String> ids;
@ApiModelProperty(name="deviceInfoParam")
private DeviceInfoParam deviceInfoParam;
}

View File

@@ -78,6 +78,9 @@ public class GridDiagramVO {
@ApiModelProperty(name = "devCount", value = "终端数量")
private Long devCount;
@ApiModelProperty(name = "devOnCount", value = "终端数量")
private Long devOnCount;
@ApiModelProperty(name = "onlineEvaluate", value = "终端在线率评价")
private Double onlineEvaluate;

View File

@@ -3,19 +3,13 @@ package com.njcn.device.pq.controller;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.device.pq.pojo.param.AlarmStrategyParam;
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
import com.njcn.device.pq.pojo.param.GridDiagramParam;
import com.njcn.device.pq.pojo.vo.AlarmStrategyVO;
import com.njcn.device.pq.pojo.vo.GridDiagramVO;
import com.njcn.device.pq.service.AlarmStrategyService;
import com.njcn.device.pq.service.GridDiagramService;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;

View File

@@ -1,7 +1,6 @@
package com.njcn.device.pq.service;
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
import com.njcn.device.pq.pojo.param.GridDiagramParam;
import com.njcn.device.pq.pojo.vo.GridDiagramVO;

View File

@@ -330,13 +330,21 @@ public class GridDiagramServiceImpl implements GridDiagramService {
.ge(StrUtil.isNotBlank(param.getSearchBeginTime()), "time_id", DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())))
.le(StrUtil.isNotBlank(param.getSearchEndTime()), "time_id", DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())))
.groupBy("dev_index"));
List<String> devIds = generalDeviceDTOList.stream().flatMap(x -> x.getDeviceIndexes().stream()).distinct().collect(Collectors.toList());
List<Device> list = deviceService.list(new LambdaQueryWrapper<Device>()
.select(Device::getId, Device::getRunFlag, Device::getComFlag)
.in(CollUtil.isNotEmpty(devIds), Device::getId, devIds)
);
List<GridDiagramVO.DeviceData> info = new ArrayList<>();
GridDiagramVO.DeviceData data;
for (GeneralDeviceDTO generalDeviceDTO : generalDeviceDTOList) {
data = new GridDiagramVO.DeviceData();
data.setOrgId(generalDeviceDTO.getIndex());
data.setOrgName(generalDeviceDTO.getName());
data.setDevCount(generalDeviceDTO.getDeviceIndexes().stream().distinct().count());
List<Device> collect = list.stream().filter(x -> generalDeviceDTO.getDeviceIndexes().contains(x.getId())).collect(Collectors.toList());
List<Device> runDevice = collect.stream().filter(x -> 0 == x.getRunFlag()).collect(Collectors.toList());
data.setDevCount(Long.valueOf(runDevice.size()));
data.setDevOnCount(runDevice.stream().filter(x -> 1 == x.getComFlag()).count());
List<RStatOnlinerateD> onlineRateDS = onlinerateDS.stream().filter(x -> generalDeviceDTO.getDeviceIndexes().contains(x.getDevIndex())).collect(Collectors.toList());
if (CollUtil.isNotEmpty(onlineRateDS)) {
double onlineTime = onlineRateDS.stream().mapToDouble(RStatOnlinerateD::getOnlineMin).sum();