冀北电网一张图
This commit is contained in:
@@ -86,4 +86,14 @@ public class GridDiagramController extends BaseController {
|
||||
Map<String, Long> gridDiagramDevTendency = gridDiagramService.getGridDiagramDevTendency(param,6);
|
||||
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);
|
||||
//---------------------------------------------------市级---------------------------------------
|
||||
|
||||
/**
|
||||
* @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 com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
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.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||
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.RStatOnlinerateDMapper;
|
||||
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.OnlineRateParam;
|
||||
import com.njcn.device.pq.pojo.po.Device;
|
||||
import com.njcn.device.pq.pojo.po.Line;
|
||||
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.user.api.DeptFeignClient;
|
||||
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.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.stereotype.Service;
|
||||
|
||||
|
||||
/**
|
||||
* @author wr
|
||||
* @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) {
|
||||
//监测点集合
|
||||
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集合
|
||||
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) {
|
||||
//监测点集合
|
||||
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集合
|
||||
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> 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();
|
||||
lineStatisticsData.setNum(lineIdsAll.size());
|
||||
lineStatisticsData.setOnLineNum(onLineNumAll.size());
|
||||
@@ -285,7 +285,7 @@ public class GridDiagramServiceImpl implements GridDiagramService {
|
||||
DateTime parse;
|
||||
if (1 == param.getType()) {
|
||||
dateField = DateField.YEAR;
|
||||
parse =DateUtil.offset(DateUtil.parse(param.getSearchBeginTime()),DateField.YEAR,-5);
|
||||
parse = DateUtil.offset(DateUtil.parse(param.getSearchBeginTime()), DateField.YEAR, -5);
|
||||
} else {
|
||||
dateField = DateField.MONTH;
|
||||
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())))
|
||||
.le(StrUtil.isNotBlank(param.getSearchEndTime()), "time_id", DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())))
|
||||
.groupBy("dev_index"));
|
||||
List<GridDiagramVO.DeviceData> info=new ArrayList<>();
|
||||
List<GridDiagramVO.DeviceData> info = new ArrayList<>();
|
||||
GridDiagramVO.DeviceData data;
|
||||
for (GeneralDeviceDTO generalDeviceDTO : generalDeviceDTOList) {
|
||||
data=new GridDiagramVO.DeviceData();
|
||||
data = new GridDiagramVO.DeviceData();
|
||||
data.setOrgId(generalDeviceDTO.getIndex());
|
||||
data.setOrgName(generalDeviceDTO.getName());
|
||||
data.setDevCount(generalDeviceDTO.getDeviceIndexes().stream().distinct().count());
|
||||
@@ -350,6 +350,31 @@ public class GridDiagramServiceImpl implements GridDiagramService {
|
||||
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) {
|
||||
long countOne = 0;
|
||||
@@ -362,7 +387,7 @@ public class GridDiagramServiceImpl implements GridDiagramService {
|
||||
data = new GridDiagramVO.StatisticsData();
|
||||
int finalI = i;
|
||||
//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);
|
||||
long count1 = lineBaseList.stream().filter(x -> getIsUpToGrid(finalI, x, voltageId)).filter(x -> 1 == x.getComFlag()).map(LineDevGetDTO::getDevId).distinct().count();
|
||||
data.setNumTwo(count1);
|
||||
|
||||
Reference in New Issue
Block a user