1.冀北电网一张图
This commit is contained in:
@@ -35,6 +35,9 @@ public class LineDetailDataVO {
|
||||
@ApiModelProperty(name = "manufacturer",value = "厂家")
|
||||
private String manufacturer;
|
||||
|
||||
@ApiModelProperty(name = "devId",value = "终端Id")
|
||||
private String devId;
|
||||
|
||||
@ApiModelProperty(name = "devName",value = "终端名称")
|
||||
private String devName;
|
||||
|
||||
|
||||
@@ -3,9 +3,12 @@ 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.param.StatisticsBizBaseParam;
|
||||
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.po.RStatIntegrityD;
|
||||
import com.njcn.device.pq.pojo.po.RStatOnlinerateD;
|
||||
import com.njcn.device.pq.pojo.vo.GridDiagramVO;
|
||||
import com.njcn.device.pq.service.GridDiagramService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
@@ -90,4 +93,22 @@ public class GridDiagramController extends BaseController {
|
||||
List<String> gridDiagramCityDev = gridDiagramService.getGridDiagramCityDev(param);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, gridDiagramCityDev, methodDescribe);
|
||||
}
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getGridDiagramIntegrityD")
|
||||
@ApiOperation("监测点完整性")
|
||||
public HttpResult<List<RStatIntegrityD>> getGridDiagramIntegrityD(@RequestBody StatisticsBizBaseParam param){
|
||||
String methodDescribe = getMethodDescribe("getGridDiagramIntegrityD");
|
||||
List<RStatIntegrityD> gridDiagramIntegrityD = gridDiagramService.getGridDiagramIntegrityD(param);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, gridDiagramIntegrityD, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getGridDiagramOnLineRateD")
|
||||
@ApiOperation("终端在线率列表")
|
||||
public HttpResult<List<RStatOnlinerateD>> getGridDiagramOnLineRateD(@RequestBody StatisticsBizBaseParam param){
|
||||
String methodDescribe = getMethodDescribe("getGridDiagramOnLineRateD");
|
||||
List<RStatOnlinerateD> gridDiagramOnLineRateD = gridDiagramService.getGridDiagramOnLineRateD(param);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, gridDiagramOnLineRateD, methodDescribe);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
package com.njcn.device.pq.service;
|
||||
|
||||
|
||||
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
|
||||
import com.njcn.device.pq.pojo.param.GridDiagramParam;
|
||||
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 java.util.List;
|
||||
@@ -56,5 +59,18 @@ public interface GridDiagramService {
|
||||
|
||||
List<String> getGridDiagramCityDev(GridDiagramParam param);
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 监测点完整性
|
||||
* @Author: wr
|
||||
* @Date: 2024/5/4 18:34
|
||||
*/
|
||||
List<RStatIntegrityD> getGridDiagramIntegrityD(StatisticsBizBaseParam param);
|
||||
/**
|
||||
* @Description: 终端在线率
|
||||
* @param param
|
||||
* @return: java.util.List<com.njcn.device.pq.pojo.po.RStatOnlinerateD>
|
||||
* @Author: wr
|
||||
* @Date: 2024/5/4 18:35
|
||||
*/
|
||||
List<RStatOnlinerateD> getGridDiagramOnLineRateD(StatisticsBizBaseParam param);
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||
@@ -184,7 +185,9 @@ public class GridDiagramServiceImpl implements GridDiagramService {
|
||||
private void gwStatisticsDataList(List<GridDiagramVO.LineStatisticsData> statisticsData, List<LineDevGetDTO> lineBaseList, String value, List<RStatOnlinerateD> onlineRateByDevIds, List<RStatIntegrityD> onIntegrityByIds) {
|
||||
//监测点集合
|
||||
List<String> lineIds = lineBaseList.stream().filter(x -> value.equals(x.getVoltageLevel())).filter(x -> 1 == x.getIsUpToGrid()).map(LineDevGetDTO::getPointId).distinct().collect(Collectors.toList());
|
||||
List<String> onLineNumIds = lineBaseList.stream().filter(x -> value.equals(x.getVoltageLevel()) && 1 == x.getComFlag()).map(LineDevGetDTO::getPointId).distinct().collect(Collectors.toList());
|
||||
List<String> onLineNumIds = lineBaseList.stream().filter(x -> value.equals(x.getVoltageLevel()) && 1 == x.getComFlag())
|
||||
.filter(x->1 == x.getIsUpToGrid())
|
||||
.map(LineDevGetDTO::getPointId).distinct().collect(Collectors.toList());
|
||||
//终端id集合
|
||||
List<String> devIds = lineBaseList.stream().filter(x -> value.equals(x.getVoltageLevel())).filter(x -> 1 == x.getIsUpToGrid()).map(LineDevGetDTO::getDevId).distinct().collect(Collectors.toList());
|
||||
|
||||
@@ -362,7 +365,11 @@ public class GridDiagramServiceImpl implements GridDiagramService {
|
||||
public List<String> getGridDiagramCityDev(GridDiagramParam param) {
|
||||
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceService.getDeviceInfoAsDept(param.getDeviceInfoParam(), null, Stream.of(1).collect(Collectors.toList()));
|
||||
List<String> devIds = generalDeviceDTOList.stream().flatMap(x -> x.getDeviceIndexes().stream()).collect(Collectors.toList());
|
||||
List<Device> devList = deviceService.list(new LambdaQueryWrapper<Device>().in(CollUtil.isNotEmpty(devIds), Device::getId, devIds));
|
||||
//终端信息
|
||||
List<Device> devList =new ArrayList<>();
|
||||
if(CollUtil.isNotEmpty(devIds)){
|
||||
devList = deviceService.list(new LambdaQueryWrapper<Device>().in(CollUtil.isNotEmpty(devIds), Device::getId, devIds));
|
||||
}
|
||||
OnlineRateParam onlineRateParam = new OnlineRateParam();
|
||||
onlineRateParam.setStartTime(param.getSearchBeginTime());
|
||||
onlineRateParam.setEndTime(param.getSearchEndTime());
|
||||
@@ -383,40 +390,53 @@ public class GridDiagramServiceImpl implements GridDiagramService {
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RStatIntegrityD> getGridDiagramIntegrityD(StatisticsBizBaseParam param) {
|
||||
return integrityDMapper.selectList(new LambdaQueryWrapper<RStatIntegrityD>()
|
||||
.eq(RStatIntegrityD::getLineIndex, param.getId())
|
||||
.ge(StrUtil.isNotBlank(param.getStartTime()), RStatIntegrityD::getTimeId, DateUtil.beginOfDay(DateUtil.parse(param.getStartTime())))
|
||||
.le(StrUtil.isNotBlank(param.getEndTime()), RStatIntegrityD::getTimeId, DateUtil.endOfDay(DateUtil.parse(param.getEndTime())))
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RStatOnlinerateD> getGridDiagramOnLineRateD(StatisticsBizBaseParam param) {
|
||||
return onLineRateDMapper.selectList(new LambdaQueryWrapper<RStatOnlinerateD>()
|
||||
.eq(RStatOnlinerateD::getDevIndex, param.getId())
|
||||
.ge(StrUtil.isNotBlank(param.getStartTime()), RStatOnlinerateD::getTimeId, DateUtil.beginOfDay(DateUtil.parse(param.getStartTime())))
|
||||
.le(StrUtil.isNotBlank(param.getEndTime()), RStatOnlinerateD::getTimeId, DateUtil.endOfDay(DateUtil.parse(param.getEndTime())))
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
private void getDevStatisticsData(List<GridDiagramVO.StatisticsData> statisticsData, List<GridDiagramVO.StatisticsData> gwStatisticsData, List<LineDevGetDTO> lineBaseList, List<String> voltageIds) {
|
||||
long countOne = 0;
|
||||
long countTow = 0;
|
||||
long gwCountOne = 0;
|
||||
long gwCountTow = 0;
|
||||
GridDiagramVO.StatisticsData data;
|
||||
for (String voltageId : voltageIds) {
|
||||
for (int i = 0; i < 2; i++) {
|
||||
data = new GridDiagramVO.StatisticsData();
|
||||
int finalI = i;
|
||||
//todo 0
|
||||
//todo 1国网信息
|
||||
long count = lineBaseList.stream().filter(x -> getIsUpToGrid(finalI, x, voltageId)).map(LineDevGetDTO::getDevId).distinct().count();
|
||||
data.setNumOne(count);
|
||||
long count1 = lineBaseList.stream().filter(x -> getIsUpToGrid(finalI, x, voltageId)).filter(x -> 1 == x.getComFlag()).map(LineDevGetDTO::getDevId).distinct().count();
|
||||
data.setNumTwo(count1);
|
||||
if (i == 0) {
|
||||
countOne += count;
|
||||
countTow += count1;
|
||||
statisticsData.add(data);
|
||||
} else {
|
||||
gwCountOne += count;
|
||||
gwCountTow += count1;
|
||||
gwStatisticsData.add(data);
|
||||
}
|
||||
}
|
||||
}
|
||||
data = new GridDiagramVO.StatisticsData();
|
||||
data.setNumOne(countOne);
|
||||
data.setNumTwo(countTow);
|
||||
data.setNumOne(lineBaseList.stream().map(LineDevGetDTO::getDevId).distinct().count());
|
||||
data.setNumTwo(lineBaseList.stream()
|
||||
.filter(x -> 1 == x.getComFlag()).map(LineDevGetDTO::getDevId).distinct().count());
|
||||
statisticsData.add(data);
|
||||
data = new GridDiagramVO.StatisticsData();
|
||||
data.setNumOne(gwCountOne);
|
||||
data.setNumTwo(gwCountTow);
|
||||
data.setNumOne(lineBaseList.stream()
|
||||
.filter(x -> 1==x.getIsUpToGrid()).map(LineDevGetDTO::getDevId).distinct().count());
|
||||
data.setNumTwo(lineBaseList.stream()
|
||||
.filter(x -> 1 == x.getComFlag()&&1==x.getIsUpToGrid()).map(LineDevGetDTO::getDevId).distinct().count());
|
||||
gwStatisticsData.add(data);
|
||||
|
||||
}
|
||||
|
||||
@@ -138,6 +138,7 @@ public class LineServiceImpl extends ServiceImpl<LineMapper, Line> implements Li
|
||||
lineDetailDataVO.setRunFlag(PubUtils.runFlag(device.getRunFlag()));
|
||||
lineDetailDataVO.setIp(device.getIp());
|
||||
lineDetailDataVO.setLoginTime(device.getLoginTime());
|
||||
lineDetailDataVO.setDevId(device.getId());
|
||||
lineDetailDataVO.setBusinessType(dicDataFeignClient.getDicDataById(lineDetail.getBusinessType()).getData().getName());
|
||||
lineDetailDataVO.setLoadType(dicDataFeignClient.getDicDataById(lineDetail.getLoadType()).getData().getName());
|
||||
lineDetailDataVO.setObjName(lineDetail.getObjName());
|
||||
|
||||
Reference in New Issue
Block a user