冀北电网一张图

This commit is contained in:
wr
2024-04-28 17:53:05 +08:00
parent 6cb222359f
commit 17add817e0
3 changed files with 58 additions and 13 deletions

View File

@@ -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);
}
} }

View File

@@ -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);
} }

View File

@@ -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
@@ -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);