冀北电网一张图
This commit is contained in:
@@ -86,4 +86,14 @@ public class GridDiagramController extends BaseController {
|
|||||||
Map<String, Long> gridDiagramDevTendency = gridDiagramService.getGridDiagramDevTendency(param,6);
|
Map<String, Long> gridDiagramDevTendency = gridDiagramService.getGridDiagramDevTendency(param,6);
|
||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, gridDiagramDevTendency, methodDescribe);
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, gridDiagramDevTendency, methodDescribe);
|
||||||
}
|
}
|
||||||
|
//---------------------------------------------------市级---------------------------------------
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
|
@PostMapping("/getGridDiagramCityDev")
|
||||||
|
@ApiOperation("监测终端状态")
|
||||||
|
public HttpResult<List<String>> getGridDiagramCityDev(@RequestBody GridDiagramParam param){
|
||||||
|
String methodDescribe = getMethodDescribe("getGridDiagramCityDev");
|
||||||
|
List<String> gridDiagramCityDev = gridDiagramService.getGridDiagramCityDev(param);
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, gridDiagramCityDev, methodDescribe);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,5 +47,15 @@ public interface GridDiagramService {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
List<GridDiagramVO.DeviceData> getGridDiagramDevData(GridDiagramParam param);
|
List<GridDiagramVO.DeviceData> getGridDiagramDevData(GridDiagramParam param);
|
||||||
|
//---------------------------------------------------市级---------------------------------------
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 监测终端状态
|
||||||
|
* @param
|
||||||
|
* @Author: wr
|
||||||
|
*/
|
||||||
|
|
||||||
|
List<String> getGridDiagramCityDev(GridDiagramParam param);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ import cn.hutool.core.util.NumberUtil;
|
|||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.njcn.common.pojo.dto.SimpleDTO;
|
|
||||||
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||||
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;
|
||||||
@@ -16,8 +15,8 @@ import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
|||||||
import com.njcn.device.pq.mapper.RStatIntegrityDMapper;
|
import com.njcn.device.pq.mapper.RStatIntegrityDMapper;
|
||||||
import com.njcn.device.pq.mapper.RStatOnlinerateDMapper;
|
import com.njcn.device.pq.mapper.RStatOnlinerateDMapper;
|
||||||
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
|
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
|
||||||
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
|
|
||||||
import com.njcn.device.pq.pojo.param.GridDiagramParam;
|
import com.njcn.device.pq.pojo.param.GridDiagramParam;
|
||||||
|
import com.njcn.device.pq.pojo.param.OnlineRateParam;
|
||||||
import com.njcn.device.pq.pojo.po.Device;
|
import com.njcn.device.pq.pojo.po.Device;
|
||||||
import com.njcn.device.pq.pojo.po.Line;
|
import com.njcn.device.pq.pojo.po.Line;
|
||||||
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
|
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
|
||||||
@@ -33,17 +32,18 @@ import com.njcn.system.enums.DicDataTypeEnum;
|
|||||||
import com.njcn.system.pojo.po.DictData;
|
import com.njcn.system.pojo.po.DictData;
|
||||||
import com.njcn.user.api.DeptFeignClient;
|
import com.njcn.user.api.DeptFeignClient;
|
||||||
import com.njcn.user.pojo.po.Dept;
|
import com.njcn.user.pojo.po.Dept;
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
import java.time.LocalDate;
|
|
||||||
import java.time.ZoneId;
|
import java.time.ZoneId;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author wr
|
* @author wr
|
||||||
* @description
|
* @description
|
||||||
@@ -154,7 +154,7 @@ public class GridDiagramServiceImpl implements GridDiagramService {
|
|||||||
private void statisticsDataList(List<GridDiagramVO.LineStatisticsData> statisticsData, List<LineDevGetDTO> lineBaseList, String value, List<RStatOnlinerateD> onlineRateByDevIds, List<RStatIntegrityD> onIntegrityByIds) {
|
private void statisticsDataList(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())).map(LineDevGetDTO::getPointId).distinct().collect(Collectors.toList());
|
List<String> lineIds = lineBaseList.stream().filter(x -> value.equals(x.getVoltageLevel())).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()).map(LineDevGetDTO::getPointId).distinct().collect(Collectors.toList());
|
||||||
//终端id集合
|
//终端id集合
|
||||||
List<String> devIds = lineBaseList.stream().filter(x -> value.equals(x.getVoltageLevel())).map(LineDevGetDTO::getDevId).distinct().collect(Collectors.toList());
|
List<String> devIds = lineBaseList.stream().filter(x -> value.equals(x.getVoltageLevel())).map(LineDevGetDTO::getDevId).distinct().collect(Collectors.toList());
|
||||||
|
|
||||||
@@ -184,7 +184,7 @@ public class GridDiagramServiceImpl implements GridDiagramService {
|
|||||||
private void gwStatisticsDataList(List<GridDiagramVO.LineStatisticsData> statisticsData, List<LineDevGetDTO> lineBaseList, String value, List<RStatOnlinerateD> onlineRateByDevIds, List<RStatIntegrityD> onIntegrityByIds) {
|
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> 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()).map(LineDevGetDTO::getPointId).distinct().collect(Collectors.toList());
|
||||||
//终端id集合
|
//终端id集合
|
||||||
List<String> devIds = lineBaseList.stream().filter(x -> value.equals(x.getVoltageLevel())).filter(x -> 1 == x.getIsUpToGrid()).map(LineDevGetDTO::getDevId).distinct().collect(Collectors.toList());
|
List<String> devIds = lineBaseList.stream().filter(x -> value.equals(x.getVoltageLevel())).filter(x -> 1 == x.getIsUpToGrid()).map(LineDevGetDTO::getDevId).distinct().collect(Collectors.toList());
|
||||||
|
|
||||||
@@ -200,7 +200,7 @@ public class GridDiagramServiceImpl implements GridDiagramService {
|
|||||||
List<String> devIdsAll = lineBaseList.stream().filter(x -> 1 == x.getIsUpToGrid()).map(LineDevGetDTO::getDevId).distinct().collect(Collectors.toList());
|
List<String> devIdsAll = lineBaseList.stream().filter(x -> 1 == x.getIsUpToGrid()).map(LineDevGetDTO::getDevId).distinct().collect(Collectors.toList());
|
||||||
//监测点集合
|
//监测点集合
|
||||||
List<String> lineIdsAll = lineBaseList.stream().filter(x -> 1 == x.getIsUpToGrid()).map(LineDevGetDTO::getPointId).distinct().collect(Collectors.toList());
|
List<String> lineIdsAll = lineBaseList.stream().filter(x -> 1 == x.getIsUpToGrid()).map(LineDevGetDTO::getPointId).distinct().collect(Collectors.toList());
|
||||||
List<String> onLineNumAll = lineBaseList.stream().filter(x -> 1 == x.getComFlag()&&1 == x.getIsUpToGrid()).map(LineDevGetDTO::getPointId).distinct().collect(Collectors.toList());
|
List<String> onLineNumAll = lineBaseList.stream().filter(x -> 1 == x.getComFlag() && 1 == x.getIsUpToGrid()).map(LineDevGetDTO::getPointId).distinct().collect(Collectors.toList());
|
||||||
GridDiagramVO.LineStatisticsData lineStatisticsData = new GridDiagramVO.LineStatisticsData();
|
GridDiagramVO.LineStatisticsData lineStatisticsData = new GridDiagramVO.LineStatisticsData();
|
||||||
lineStatisticsData.setNum(lineIdsAll.size());
|
lineStatisticsData.setNum(lineIdsAll.size());
|
||||||
lineStatisticsData.setOnLineNum(onLineNumAll.size());
|
lineStatisticsData.setOnLineNum(onLineNumAll.size());
|
||||||
@@ -285,7 +285,7 @@ public class GridDiagramServiceImpl implements GridDiagramService {
|
|||||||
DateTime parse;
|
DateTime parse;
|
||||||
if (1 == param.getType()) {
|
if (1 == param.getType()) {
|
||||||
dateField = DateField.YEAR;
|
dateField = DateField.YEAR;
|
||||||
parse =DateUtil.offset(DateUtil.parse(param.getSearchBeginTime()),DateField.YEAR,-5);
|
parse = DateUtil.offset(DateUtil.parse(param.getSearchBeginTime()), DateField.YEAR, -5);
|
||||||
} else {
|
} else {
|
||||||
dateField = DateField.MONTH;
|
dateField = DateField.MONTH;
|
||||||
parse = DateUtil.parse(param.getSearchBeginTime());
|
parse = DateUtil.parse(param.getSearchBeginTime());
|
||||||
@@ -330,10 +330,10 @@ public class GridDiagramServiceImpl implements GridDiagramService {
|
|||||||
.ge(StrUtil.isNotBlank(param.getSearchBeginTime()), "time_id", DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())))
|
.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())))
|
.le(StrUtil.isNotBlank(param.getSearchEndTime()), "time_id", DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())))
|
||||||
.groupBy("dev_index"));
|
.groupBy("dev_index"));
|
||||||
List<GridDiagramVO.DeviceData> info=new ArrayList<>();
|
List<GridDiagramVO.DeviceData> info = new ArrayList<>();
|
||||||
GridDiagramVO.DeviceData data;
|
GridDiagramVO.DeviceData data;
|
||||||
for (GeneralDeviceDTO generalDeviceDTO : generalDeviceDTOList) {
|
for (GeneralDeviceDTO generalDeviceDTO : generalDeviceDTOList) {
|
||||||
data=new GridDiagramVO.DeviceData();
|
data = new GridDiagramVO.DeviceData();
|
||||||
data.setOrgId(generalDeviceDTO.getIndex());
|
data.setOrgId(generalDeviceDTO.getIndex());
|
||||||
data.setOrgName(generalDeviceDTO.getName());
|
data.setOrgName(generalDeviceDTO.getName());
|
||||||
data.setDevCount(generalDeviceDTO.getDeviceIndexes().stream().distinct().count());
|
data.setDevCount(generalDeviceDTO.getDeviceIndexes().stream().distinct().count());
|
||||||
@@ -350,6 +350,31 @@ public class GridDiagramServiceImpl implements GridDiagramService {
|
|||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
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));
|
||||||
|
OnlineRateParam onlineRateParam = new OnlineRateParam();
|
||||||
|
onlineRateParam.setStartTime(param.getSearchBeginTime());
|
||||||
|
onlineRateParam.setEndTime(param.getSearchEndTime());
|
||||||
|
|
||||||
|
List<String> list = new ArrayList<>();
|
||||||
|
for (int i = 0; i < 3; i++) {
|
||||||
|
int finalI = i;
|
||||||
|
List<String> devices = devList.stream().filter(x -> finalI == x.getRunFlag()).map(Device::getId).distinct().collect(Collectors.toList());
|
||||||
|
list.add(String.valueOf(devices.size()));
|
||||||
|
if (i == 0) {
|
||||||
|
onlineRateParam.setIds(devices);
|
||||||
|
list.add(String.valueOf(onLineRateDMapper.getTotalOnlineRates(onlineRateParam)));
|
||||||
|
} else {
|
||||||
|
list.add(String.valueOf(3.14159));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private void getDevStatisticsData(List<GridDiagramVO.StatisticsData> statisticsData, List<GridDiagramVO.StatisticsData> gwStatisticsData, List<LineDevGetDTO> lineBaseList, List<String> voltageIds) {
|
private void getDevStatisticsData(List<GridDiagramVO.StatisticsData> statisticsData, List<GridDiagramVO.StatisticsData> gwStatisticsData, List<LineDevGetDTO> lineBaseList, List<String> voltageIds) {
|
||||||
long countOne = 0;
|
long countOne = 0;
|
||||||
@@ -362,7 +387,7 @@ public class GridDiagramServiceImpl implements GridDiagramService {
|
|||||||
data = new GridDiagramVO.StatisticsData();
|
data = new GridDiagramVO.StatisticsData();
|
||||||
int finalI = i;
|
int finalI = i;
|
||||||
//todo 0
|
//todo 0
|
||||||
long count = lineBaseList.stream().filter(x -> getIsUpToGrid(finalI, x, voltageId)).distinct().count();
|
long count = lineBaseList.stream().filter(x -> getIsUpToGrid(finalI, x, voltageId)).map(LineDevGetDTO::getDevId).distinct().count();
|
||||||
data.setNumOne(count);
|
data.setNumOne(count);
|
||||||
long count1 = lineBaseList.stream().filter(x -> getIsUpToGrid(finalI, x, voltageId)).filter(x -> 1 == x.getComFlag()).map(LineDevGetDTO::getDevId).distinct().count();
|
long count1 = lineBaseList.stream().filter(x -> getIsUpToGrid(finalI, x, voltageId)).filter(x -> 1 == x.getComFlag()).map(LineDevGetDTO::getDevId).distinct().count();
|
||||||
data.setNumTwo(count1);
|
data.setNumTwo(count1);
|
||||||
|
|||||||
Reference in New Issue
Block a user