From 17add817e032e9f65cdfb8849041c53ffb039389 Mon Sep 17 00:00:00 2001 From: wr <1754607820@qq.com> Date: Sun, 28 Apr 2024 17:53:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=86=80=E5=8C=97=E7=94=B5=E7=BD=91=E4=B8=80?= =?UTF-8?q?=E5=BC=A0=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pq/controller/GridDiagramController.java | 10 ++++ .../device/pq/service/GridDiagramService.java | 10 ++++ .../service/impl/GridDiagramServiceImpl.java | 51 ++++++++++++++----- 3 files changed, 58 insertions(+), 13 deletions(-) diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/GridDiagramController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/GridDiagramController.java index 8c877ba6e..54b83561b 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/GridDiagramController.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/GridDiagramController.java @@ -86,4 +86,14 @@ public class GridDiagramController extends BaseController { Map gridDiagramDevTendency = gridDiagramService.getGridDiagramDevTendency(param,6); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, gridDiagramDevTendency, methodDescribe); } + //---------------------------------------------------市级--------------------------------------- + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getGridDiagramCityDev") + @ApiOperation("监测终端状态") + public HttpResult> getGridDiagramCityDev(@RequestBody GridDiagramParam param){ + String methodDescribe = getMethodDescribe("getGridDiagramCityDev"); + List gridDiagramCityDev = gridDiagramService.getGridDiagramCityDev(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, gridDiagramCityDev, methodDescribe); + } } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/GridDiagramService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/GridDiagramService.java index 0a272a29d..26dc2072d 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/GridDiagramService.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/GridDiagramService.java @@ -47,5 +47,15 @@ public interface GridDiagramService { */ List getGridDiagramDevData(GridDiagramParam param); + //---------------------------------------------------市级--------------------------------------- + + /** + * @Description: 监测终端状态 + * @param + * @Author: wr + */ + + List getGridDiagramCityDev(GridDiagramParam param); + } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/GridDiagramServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/GridDiagramServiceImpl.java index 362f0322a..abcb5105c 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/GridDiagramServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/GridDiagramServiceImpl.java @@ -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 statisticsData, List lineBaseList, String value, List onlineRateByDevIds, List onIntegrityByIds) { //监测点集合 List lineIds = lineBaseList.stream().filter(x -> value.equals(x.getVoltageLevel())).map(LineDevGetDTO::getPointId).distinct().collect(Collectors.toList()); - List onLineNumIds = lineBaseList.stream().filter(x -> value.equals(x.getVoltageLevel())&&1==x.getComFlag()).map(LineDevGetDTO::getPointId).distinct().collect(Collectors.toList()); + List onLineNumIds = lineBaseList.stream().filter(x -> value.equals(x.getVoltageLevel()) && 1 == x.getComFlag()).map(LineDevGetDTO::getPointId).distinct().collect(Collectors.toList()); //终端id集合 List 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 statisticsData, List lineBaseList, String value, List onlineRateByDevIds, List onIntegrityByIds) { //监测点集合 List lineIds = lineBaseList.stream().filter(x -> value.equals(x.getVoltageLevel())).filter(x -> 1 == x.getIsUpToGrid()).map(LineDevGetDTO::getPointId).distinct().collect(Collectors.toList()); - List onLineNumIds = lineBaseList.stream().filter(x -> value.equals(x.getVoltageLevel())&&1==x.getComFlag()).map(LineDevGetDTO::getPointId).distinct().collect(Collectors.toList()); + List onLineNumIds = lineBaseList.stream().filter(x -> value.equals(x.getVoltageLevel()) && 1 == x.getComFlag()).map(LineDevGetDTO::getPointId).distinct().collect(Collectors.toList()); //终端id集合 List 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 devIdsAll = lineBaseList.stream().filter(x -> 1 == x.getIsUpToGrid()).map(LineDevGetDTO::getDevId).distinct().collect(Collectors.toList()); //监测点集合 List lineIdsAll = lineBaseList.stream().filter(x -> 1 == x.getIsUpToGrid()).map(LineDevGetDTO::getPointId).distinct().collect(Collectors.toList()); - List onLineNumAll = lineBaseList.stream().filter(x -> 1 == x.getComFlag()&&1 == x.getIsUpToGrid()).map(LineDevGetDTO::getPointId).distinct().collect(Collectors.toList()); + List 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 info=new ArrayList<>(); + List 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 getGridDiagramCityDev(GridDiagramParam param) { + List generalDeviceDTOList = generalDeviceService.getDeviceInfoAsDept(param.getDeviceInfoParam(), null, Stream.of(1).collect(Collectors.toList())); + List devIds = generalDeviceDTOList.stream().flatMap(x -> x.getDeviceIndexes().stream()).collect(Collectors.toList()); + List devList = deviceService.list(new LambdaQueryWrapper().in(CollUtil.isNotEmpty(devIds), Device::getId, devIds)); + OnlineRateParam onlineRateParam = new OnlineRateParam(); + onlineRateParam.setStartTime(param.getSearchBeginTime()); + onlineRateParam.setEndTime(param.getSearchEndTime()); + + List list = new ArrayList<>(); + for (int i = 0; i < 3; i++) { + int finalI = i; + List 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 statisticsData, List gwStatisticsData, List lineBaseList, List 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);