1.冀北电网一张图,变电站,终端,暂态列表接口重新调整
2.技术监督统计,电容器和评估报告统计调整
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.njcn.event.pojo.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
@@ -12,8 +13,31 @@ import java.io.Serializable;
|
||||
@Data
|
||||
public class EventDetailVO implements Serializable {
|
||||
|
||||
@ApiModelProperty(name = "id",value = "id")
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(name = "time",value = "特征幅值")
|
||||
private String time;
|
||||
|
||||
@ApiModelProperty(name = "name",value = "名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(name = "swellTimes",value = "电压暂升发生次数")
|
||||
private Long swellTimes;
|
||||
|
||||
@ApiModelProperty(name = "sagTimes",value = "电压暂降发生次数")
|
||||
private Long sagTimes;
|
||||
|
||||
@ApiModelProperty(name = "interruptTimes",value = "短时中断发生次数")
|
||||
private Long interruptTimes;
|
||||
|
||||
@ApiModelProperty(name = "rate90",value = "暂态严重度占比小于90%")
|
||||
private Double rate90;
|
||||
|
||||
@ApiModelProperty(name = "rate50",value = "暂态严重度占比小于50%")
|
||||
private Double rate50;
|
||||
|
||||
@ApiModelProperty(name = "rate20",value = "暂态严重度占比小于20%")
|
||||
private Double rate20;
|
||||
|
||||
}
|
||||
|
||||
@@ -5,7 +5,9 @@ import com.njcn.common.pojo.enums.common.LogEnum;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.device.pq.pojo.param.GridDiagramParam;
|
||||
import com.njcn.device.pq.pojo.vo.GridDiagramVO;
|
||||
import com.njcn.event.pojo.vo.EventDetailVO;
|
||||
import com.njcn.event.service.majornetwork.RmpEventDetailService;
|
||||
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
@@ -19,6 +21,7 @@ import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Validated
|
||||
@@ -40,4 +43,12 @@ public class GridDiagramEventController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, eventLevelEvaluation, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getEventDetailByList")
|
||||
@ApiOperation("暂态详细列表")
|
||||
public HttpResult<List<EventDetailVO>> getEventDetailByList(@RequestBody GridDiagramParam param) {
|
||||
String methodDescribe = getMethodDescribe("getEventDetailByList");
|
||||
List<EventDetailVO> eventDetailByList = rmpEventDetailService.getEventDetailByList(param);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, eventDetailByList, methodDescribe);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
@@ -26,33 +27,37 @@ import com.njcn.device.pms.pojo.param.PmsMonitorParam;
|
||||
import com.njcn.device.pms.pojo.po.Monitor;
|
||||
import com.njcn.device.pq.api.GeneralDeviceInfoClient;
|
||||
import com.njcn.device.pq.api.LineFeignClient;
|
||||
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
|
||||
import com.njcn.device.pq.pojo.param.GridDiagramParam;
|
||||
import com.njcn.device.pq.pojo.vo.AreaLineInfoVO;
|
||||
import com.njcn.device.pq.pojo.vo.GridDiagramVO;
|
||||
import com.njcn.event.enums.EventResponseEnum;
|
||||
import com.njcn.event.mapper.majornetwork.RmpEventDetailMapper;
|
||||
import com.njcn.event.pojo.param.UniversalFrontEndParam;
|
||||
import com.njcn.event.pojo.po.RmpEventDetailPO;
|
||||
import com.njcn.event.pojo.vo.*;
|
||||
import com.njcn.event.service.majornetwork.EventDetailService;
|
||||
import com.njcn.event.service.majornetwork.RmpEventDetailService;
|
||||
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
|
||||
import com.njcn.system.api.DicDataFeignClient;
|
||||
import com.njcn.system.enums.DicDataEnum;
|
||||
import com.njcn.system.enums.DicDataTypeEnum;
|
||||
import com.njcn.event.enums.EventResponseEnum;
|
||||
import com.njcn.system.pojo.po.DictData;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.user.pojo.dto.DeptDTO;
|
||||
import com.njcn.web.factory.PageFactory;
|
||||
import com.njcn.web.pojo.param.BaseParam;
|
||||
import com.njcn.web.utils.RequestUtil;
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
/**
|
||||
* 暂态事件明细
|
||||
@@ -327,6 +332,52 @@ public class RmpEventDetailServiceImpl extends ServiceImpl<RmpEventDetailMapper,
|
||||
return gridDiagramVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<EventDetailVO> getEventDetailByList(GridDiagramParam param) {
|
||||
List<EventDetailVO> info=new ArrayList<>();
|
||||
//获取污区图统计类型
|
||||
DictData dip = dicDataFeignClient.getDicDataByCode(DicDataEnum.VOLTAGE_DIP.getCode()).getData();
|
||||
DictData rise = dicDataFeignClient.getDicDataByCode(DicDataEnum.VOLTAGE_RISE.getCode()).getData();
|
||||
DictData interruptions = dicDataFeignClient.getDicDataByCode(DicDataEnum.SHORT_INTERRUPTIONS.getCode()).getData();
|
||||
|
||||
|
||||
List<GeneralDeviceDTO> data = generalDeviceInfoClient.getPracticalRunDeviceInfo(param.getDeviceInfoParam()).getData();
|
||||
List<String> lineIds = data.stream().flatMap(x -> x.getLineIndexes().stream()).distinct().collect(Collectors.toList());
|
||||
List<RmpEventDetailPO> list = this.list(new LambdaQueryWrapper<RmpEventDetailPO>()
|
||||
.select(RmpEventDetailPO::getEventId, RmpEventDetailPO::getEventType, RmpEventDetailPO::getSeverity)
|
||||
.in(CollUtil.isNotEmpty(lineIds), RmpEventDetailPO::getMeasurementPointId, lineIds)
|
||||
.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())))
|
||||
);
|
||||
EventDetailVO vo;
|
||||
for (GeneralDeviceDTO datum : data) {
|
||||
vo=new EventDetailVO();
|
||||
vo.setId(datum.getIndex());
|
||||
vo.setName(datum.getName());
|
||||
List<RmpEventDetailPO> detailPOList = list.stream().filter(x -> datum.getLineIndexes().contains(x.getMeasurementPointId())).collect(Collectors.toList());
|
||||
if(CollUtil.isNotEmpty(detailPOList)){
|
||||
vo.setSwellTimes(detailPOList.stream().filter(x->x.getEventType().equals(rise.getId())).count());
|
||||
vo.setSagTimes(detailPOList.stream().filter(x->x.getEventType().equals(dip.getId())).count());
|
||||
vo.setInterruptTimes(detailPOList.stream().filter(x->x.getEventType().equals(interruptions.getId())).count());
|
||||
double v90 = detailPOList.stream().filter(x -> x.getSeverity()*100<=90).count() * 100.0 / detailPOList.size();
|
||||
double v50 = detailPOList.stream().filter(x -> x.getSeverity()*100<=50).count() * 100.0 / detailPOList.size();
|
||||
double v20 = detailPOList.stream().filter(x -> x.getSeverity()*100<=20).count() * 100.0 / detailPOList.size();
|
||||
vo.setRate90(NumberUtil.round(v90,2).doubleValue());
|
||||
vo.setRate50(NumberUtil.round(v50,2).doubleValue());
|
||||
vo.setRate20(NumberUtil.round(v20,2).doubleValue());
|
||||
}else {
|
||||
vo.setSwellTimes(0L);
|
||||
vo.setSagTimes(0L);
|
||||
vo.setInterruptTimes(0L);
|
||||
vo.setRate90(0.0D);
|
||||
vo.setRate50(0.0D);
|
||||
vo.setRate20(0.0D);
|
||||
}
|
||||
info.add(vo);
|
||||
}
|
||||
return info;
|
||||
}
|
||||
|
||||
|
||||
private Double setData(GridDiagramVO gridDiagramVO, List<String> gwLineAllIds, List<RmpEventDetailPO> list) {
|
||||
List<Double> asGwDouble = list.stream()
|
||||
|
||||
@@ -2,10 +2,12 @@ package com.njcn.event.service.majornetwork;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.device.pq.pojo.param.GridDiagramParam;
|
||||
import com.njcn.device.pq.pojo.vo.GridDiagramVO;
|
||||
import com.njcn.event.pojo.param.UniversalFrontEndParam;
|
||||
import com.njcn.event.pojo.po.RmpEventDetailPO;
|
||||
import com.njcn.event.pojo.vo.AdvanceEventDetailVO;
|
||||
import com.njcn.event.pojo.vo.EventDetailVO;
|
||||
import com.njcn.event.pojo.vo.RmpEventDetailVO;
|
||||
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
|
||||
import com.njcn.system.pojo.po.DictData;
|
||||
@@ -59,4 +61,5 @@ public interface RmpEventDetailService extends IService<RmpEventDetailPO> {
|
||||
|
||||
GridDiagramVO getEventLevelEvaluation(StatSubstationBizBaseParam param);
|
||||
|
||||
List<EventDetailVO> getEventDetailByList(GridDiagramParam param);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user