1.冀北电网一张图-变电站统计电网侧统计
2.公共方法增加点电网侧信息 3.修改区域监测点终端等信息接口
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
package com.njcn.device.biz.pojo.param;
|
||||
|
||||
|
||||
import com.njcn.web.constant.ValidMessage;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.hibernate.validator.constraints.Range;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
@@ -30,6 +32,13 @@ public class DeptGetLineParam {
|
||||
private Boolean monitorStateRunning=true;
|
||||
|
||||
@ApiModelProperty(name = "isUpToGrid",value = "0.非送国网 1.需要送国网的")
|
||||
private Integer isUpToGrid;
|
||||
|
||||
private Integer isUpToGrid;
|
||||
/**
|
||||
* 0-电网侧
|
||||
* 1-非电网侧
|
||||
*/
|
||||
@ApiModelProperty("电网侧标识")
|
||||
@Range(min = 0, max = 2, message = "电网侧标识" + ValidMessage.PARAM_FORMAT_ERROR)
|
||||
private Integer powerFlag;
|
||||
}
|
||||
|
||||
@@ -154,6 +154,12 @@ public class GridDiagramVO {
|
||||
@ApiModelProperty(name = "lineList", value = "监测点集合")
|
||||
private List<String> lineList;
|
||||
|
||||
@ApiModelProperty(name = "onlineNum", value = "在线监测点个数")
|
||||
private Integer onlineNum;
|
||||
|
||||
@ApiModelProperty(name = "onlineList", value = "在线监测点集合")
|
||||
private List<String> onlineList;
|
||||
|
||||
@ApiModelProperty(name = "alarm", value = "告警监测点个数")
|
||||
private Integer alarm;
|
||||
|
||||
@@ -163,7 +169,17 @@ public class GridDiagramVO {
|
||||
@ApiModelProperty(name = "subNum", value = "变电站个数")
|
||||
private Integer subNum;
|
||||
|
||||
@ApiModelProperty(name = "alarmSubNum", value = "告警变电站数量")
|
||||
private Integer alarmSubNum;
|
||||
|
||||
@ApiModelProperty(name = "alarmSubList", value = "告警变电站监测点数量")
|
||||
private List<String> alarmSubList;
|
||||
|
||||
@ApiModelProperty(name = "deviceNum", value = "终端个数")
|
||||
private Integer deviceNum;
|
||||
|
||||
@ApiModelProperty(name = "onDevice", value = "在线终端数量")
|
||||
private Integer onDevice;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,6 +55,7 @@ public class GridDiagramController extends BaseController {
|
||||
@ApiOperation("变电站趋势分析")
|
||||
public HttpResult<Map<String, Long>> getGridDiagramSubTendency(@RequestBody GridDiagramParam param){
|
||||
String methodDescribe = getMethodDescribe("getGridDiagramSubTendency");
|
||||
param.getDeviceInfoParam().setPowerFlag(0);
|
||||
Map<String, Long> gridDiagramDevTendency = gridDiagramService.getGridDiagramDevTendency(param,3);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, gridDiagramDevTendency, methodDescribe);
|
||||
}
|
||||
|
||||
@@ -76,7 +76,7 @@ public interface DeptLineMapper extends BaseMapper<DeptLine> {
|
||||
|
||||
List<TerminalGetBase> orgSubStationGet(@Param("list")List<Integer> devType);
|
||||
|
||||
List<TerminalGetBase.Extend> orgSubStationInfoGet(@Param("list")List<Integer> devType);
|
||||
List<TerminalGetBase.Extend> orgSubStationInfoGet(@Param("list")List<Integer> devType,@Param("powerFlag")Integer powerFlag);
|
||||
|
||||
List<String> getLineIdByDeptIds(@Param("deptIds")List<String> deptIds,@Param("runFlag")List<Integer> runFlag,@Param("dataType")List<Integer> dataType);
|
||||
|
||||
|
||||
@@ -115,6 +115,9 @@
|
||||
<foreach collection="list" item="item" open="(" close=")" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
<if test="powerFlag!=null ">
|
||||
and lineDetail.Power_Flag = #{powerFlag}
|
||||
</if>
|
||||
</select>
|
||||
<select id="getLineIdByDeptIds" resultType="string">
|
||||
select
|
||||
|
||||
@@ -107,7 +107,7 @@ public interface DeptLineService extends IService<DeptLine> {
|
||||
Map<String, List<TerminalGetBase>> orgSubStationGet(List<Integer> devType);
|
||||
|
||||
|
||||
List<TerminalGetBase.Extend> orgSubStationInfoGet(List<Integer> devType);
|
||||
List<TerminalGetBase.Extend> orgSubStationInfoGet(List<Integer> devType,Integer powerFlag);
|
||||
|
||||
List<SubGetBase> getSubStationList(SubstationParam substationParam);
|
||||
|
||||
|
||||
@@ -221,7 +221,7 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
||||
public List<DeptGetSubStationDTO.Info> deptSubStationInfo(DeptGetLineParam deptGetLineParam) {
|
||||
List<DeptGetSubStationDTO.Info> result = new ArrayList<>();
|
||||
List<DeptGetBase> temDept = getDeptChildrenByParent(deptGetLineParam);
|
||||
List<TerminalGetBase.Extend> anExtends = deptLineService.orgSubStationInfoGet(filterDataTypeNew(deptGetLineParam.getServerName()));
|
||||
List<TerminalGetBase.Extend> anExtends = deptLineService.orgSubStationInfoGet(filterDataTypeNew(deptGetLineParam.getServerName()),deptGetLineParam.getPowerFlag());
|
||||
Map<String, List<TerminalGetBase.Extend>> orgSub = anExtends.stream().collect(Collectors.groupingBy(TerminalGetBase::getUnitId));
|
||||
Map<String, String> deptNameMap = temDept.stream().collect(Collectors.toMap(DeptGetBase::getUnitId, DeptGetBase::getUnitName));
|
||||
temDept.forEach(item -> {
|
||||
|
||||
@@ -122,8 +122,8 @@ public class DeptLineServiceImpl extends ServiceImpl<DeptLineMapper, DeptLine> i
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TerminalGetBase.Extend> orgSubStationInfoGet(List<Integer> devType) {
|
||||
return deptLineMapper.orgSubStationInfoGet(devType);
|
||||
public List<TerminalGetBase.Extend> orgSubStationInfoGet(List<Integer> devType,Integer powerFlag) {
|
||||
return deptLineMapper.orgSubStationInfoGet(devType, powerFlag);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
package com.njcn.harmonic.pojo.param;
|
||||
|
||||
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
|
||||
import com.njcn.web.constant.ValidMessage;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.hibernate.validator.constraints.Range;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -27,4 +29,11 @@ public class StatSubstationBizBaseParam extends StatisticsBizBaseParam {
|
||||
@ApiModelProperty("页面尺寸")
|
||||
private Integer pageSize;
|
||||
|
||||
/**
|
||||
* 0-电网侧
|
||||
* 1-非电网侧
|
||||
*/
|
||||
@ApiModelProperty("电网侧标识")
|
||||
@Range(min = 0, max = 2, message = "电网侧标识" + ValidMessage.PARAM_FORMAT_ERROR)
|
||||
private Integer powerFlag;
|
||||
}
|
||||
|
||||
@@ -101,10 +101,10 @@ public class GridDiagramHarmController extends BaseController {
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getGridDiagramAreaData")
|
||||
@PostMapping("/getGridDiagramTargetData")
|
||||
@ApiOperation("监测点告警越线天数详细信息")
|
||||
public HttpResult<RStatLimitTargetVO> getGridDiagramAreaData(@RequestBody StatisticsBizBaseParam param) {
|
||||
String methodDescribe = getMethodDescribe("getGridDiagramAreaData");
|
||||
public HttpResult<RStatLimitTargetVO> getGridDiagramTargetData(@RequestBody StatisticsBizBaseParam param) {
|
||||
String methodDescribe = getMethodDescribe("getGridDiagramTargetData");
|
||||
RStatLimitTargetVO gridDiagramDevData = targetDService.getGridDiagramTargetData(param);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, gridDiagramDevData, methodDescribe);
|
||||
}
|
||||
|
||||
@@ -659,6 +659,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
public GridDiagramVO getPollutionAlarmData(StatSubstationBizBaseParam param) {
|
||||
DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
|
||||
deptGetLineParam.setDeptId(param.getId());
|
||||
deptGetLineParam.setPowerFlag(0);
|
||||
List<DeptGetSubStationDTO.Info> deptGetChildrenMoreDTOS = commTerminalGeneralClient.deptGetSubStationInfo(deptGetLineParam).getData();
|
||||
//获取全部变电站信息
|
||||
List<SubGetBase> collect = deptGetChildrenMoreDTOS.stream().flatMap(x -> x.getStationIds().stream()).collect(Collectors.toList());
|
||||
@@ -739,6 +740,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
map.put("I",dicDataFeignClient.getDicDataByCode(DicDataEnum.I_ALL.getCode()).getData().getId());
|
||||
DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
|
||||
deptGetLineParam.setDeptId(param.getId());
|
||||
deptGetLineParam.setPowerFlag(0);
|
||||
List<DeptGetSubStationDTO.Info> deptGetChildrenMoreDTOS = commTerminalGeneralClient.deptGetSubStationInfo(deptGetLineParam).getData();
|
||||
//获取全部变电站信息
|
||||
List<SubGetBase> collect = deptGetChildrenMoreDTOS.stream().flatMap(x -> x.getStationIds().stream()).collect(Collectors.toList());
|
||||
@@ -777,6 +779,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
@Override
|
||||
public List<List<String>> getPollutionAlarmList(GridDiagramParam param) {
|
||||
List<List<String>> info = new ArrayList<>();
|
||||
param.getDeviceInfoParam().setPowerFlag(0);
|
||||
List<GeneralDeviceDTO> data = generalDeviceInfoClient.getPracticalRunDeviceInfo(param.getDeviceInfoParam()).getData();
|
||||
List<String> subIds = data.stream().flatMap(x -> x.getSubIndexes().stream()).collect(Collectors.toList());
|
||||
List<RStatPollutionSubstationM> substationMlist = pollutionSubstationMMapper.selectList(new LambdaQueryWrapper<RStatPollutionSubstationM>()
|
||||
|
||||
@@ -70,6 +70,7 @@ public class RMpTargetWarnDServiceImpl extends ServiceImpl<RMpTargetWarnDMapper,
|
||||
List<Dept> data = deptFeignClient.getDirectSonSelf(param.getId()).getData();
|
||||
DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
|
||||
deptGetLineParam.setDeptId(param.getId());
|
||||
deptGetLineParam.setPowerFlag(0);
|
||||
List<DeptGetSubStationDTO.Info> deptGetChildrenMoreDTOS = commTerminalGeneralClient.deptGetSubStationInfo(deptGetLineParam).getData();
|
||||
|
||||
List<String> lineIDS = deptGetChildrenMoreDTOS.stream()
|
||||
|
||||
@@ -7,6 +7,9 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.njcn.common.pojo.dto.SimpleDTO;
|
||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetSubStationDTO;
|
||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||
import com.njcn.device.pq.api.GeneralDeviceInfoClient;
|
||||
import com.njcn.device.pq.api.LineIntegrityClient;
|
||||
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
|
||||
@@ -29,6 +32,9 @@ import org.springframework.stereotype.Service;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -46,6 +52,9 @@ public class RStatLimitServiceImpl implements RStatLimitService {
|
||||
private final GeneralDeviceInfoClient generalDeviceInfoClient;
|
||||
private final LineIntegrityClient lineIntegrityClient;
|
||||
private final IRStatLimitTargetDService targetDService;
|
||||
private final CommTerminalGeneralClient commTerminalGeneralClient;
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public List<RStatLimitRateDPO> monitorIdsGetLimitRateInfo(String date, List<String> monitorIds) {
|
||||
@@ -140,38 +149,77 @@ public class RStatLimitServiceImpl implements RStatLimitService {
|
||||
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;
|
||||
//监测点总数
|
||||
List<GeneralDeviceDTO> data = generalDeviceInfoClient.getPracticalAllDeviceInfoAsDept(param).getData();
|
||||
//在线
|
||||
List<GeneralDeviceDTO> onData = generalDeviceInfoClient.getPracticalRunDeviceInfo(param).getData();
|
||||
Map<String, GeneralDeviceDTO> onMap = onData.stream().collect(Collectors.toMap(GeneralDeviceDTO::getIndex, Function.identity()));
|
||||
|
||||
DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
|
||||
deptGetLineParam.setDeptId(param.getDeptIndex());
|
||||
deptGetLineParam.setPowerFlag(0);
|
||||
//变电站公共方法
|
||||
List<DeptGetSubStationDTO.Info> deptGetChildrenMoreDTOS = commTerminalGeneralClient.deptGetSubStationInfo(deptGetLineParam).getData();
|
||||
Map<String, DeptGetSubStationDTO.Info> deptLineMap = deptGetChildrenMoreDTOS.stream().collect(Collectors.toMap(DeptGetSubStationDTO.Info::getUnitId, Function.identity()));
|
||||
|
||||
List<String> line = data.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());
|
||||
|
||||
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);
|
||||
if(onMap.containsKey(datum.getIndex())){
|
||||
GeneralDeviceDTO dto = onMap.get(datum.getIndex());
|
||||
areaData.setOnlineNum(dto.getLineIndexes().size());
|
||||
areaData.setOnlineList(dto.getLineIndexes());
|
||||
areaData.setOnDevice(dto.getDeviceIndexes().size());
|
||||
if (deptLineMap.containsKey(datum.getIndex())) {
|
||||
DeptGetSubStationDTO.Info deptSub = deptLineMap.get(datum.getIndex());
|
||||
areaData.setSubNum(deptSub.getStationIds().size());
|
||||
AtomicLong num = new AtomicLong();
|
||||
List<String> alarm = new ArrayList<>();
|
||||
deptSub.getStationIds().stream().forEach(x -> {
|
||||
List<String> lineIds = new ArrayList<>();
|
||||
//0:全部 1:国网
|
||||
if (ObjectUtil.isNull(param.getMonitorFlag())) {
|
||||
lineIds.addAll(x.getUnitChildrenList());
|
||||
} else {
|
||||
if (0 == param.getMonitorFlag()) {
|
||||
lineIds.addAll(x.getUnitChildrenList());
|
||||
}else {
|
||||
areaData.setAlarm(0);
|
||||
areaData.setAlarmList(new ArrayList<>());
|
||||
lineIds.addAll(x.getGwUnitChildrenList());
|
||||
}
|
||||
}
|
||||
List<String> collect = new ArrayList<>();
|
||||
collect.addAll(linesTarget.stream().filter(d -> lineIds.contains(d)).collect(Collectors.toList()));
|
||||
collect.addAll(integrityDS0.stream().filter(d -> lineIds.contains(d)).collect(Collectors.toList()));
|
||||
if (CollUtil.isNotEmpty(collect)) {
|
||||
num.getAndIncrement();
|
||||
alarm.addAll(collect);
|
||||
}
|
||||
|
||||
});
|
||||
areaData.setAlarmSubNum(Math.toIntExact(num.get()));
|
||||
areaData.setAlarmSubList(alarm.stream().distinct().collect(Collectors.toList()));
|
||||
}
|
||||
List<String> lineAlarm = new ArrayList<>();
|
||||
lineAlarm.addAll(linesTarget.stream().filter(d -> datum.getLineIndexes().contains(d)).collect(Collectors.toList()));
|
||||
lineAlarm.addAll(integrityDS0.stream().filter(d -> datum.getLineIndexes().contains(d)).collect(Collectors.toList()));
|
||||
areaData.setAlarm(lineAlarm.stream().distinct().collect(Collectors.toList()).size());
|
||||
areaData.setAlarmList(lineAlarm.stream().distinct().collect(Collectors.toList()));
|
||||
|
||||
}
|
||||
info.add(areaData);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user