From 357603a22c52caed9ff2bf0f445013516b38da08 Mon Sep 17 00:00:00 2001 From: hzj <826100833@qq.com> Date: Fri, 24 May 2024 16:03:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=A8=E7=BA=BF=E7=9B=91=E6=B5=8B=E7=82=B9?= =?UTF-8?q?=E6=95=88=E7=8E=87=E4=BF=AE=E6=94=B9,=E7=9B=91=E6=B5=8B?= =?UTF-8?q?=E7=82=B9=E4=B8=8B=E6=9D=A5=E6=A1=86=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RMpPartHarmonicDetailController.java | 7 +- .../RMpPartHarmonicDetailDService.java | 5 +- .../RMpPartHarmonicDetailDServiceImpl.java | 66 +++++++++++++++---- 3 files changed, 58 insertions(+), 20 deletions(-) diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/dataquality/RMpPartHarmonicDetailController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/dataquality/RMpPartHarmonicDetailController.java index 7de7d2626..805b2875f 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/dataquality/RMpPartHarmonicDetailController.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/dataquality/RMpPartHarmonicDetailController.java @@ -1,5 +1,6 @@ package com.njcn.harmonic.controller.dataquality; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; @@ -16,8 +17,6 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.List; - /** * Description: * Date: 2024/4/3 15:58【需求编号】 @@ -41,9 +40,9 @@ public class RMpPartHarmonicDetailController extends BaseController { @PostMapping("/getRMpPartHarmonicDetail") @ApiOperation("稳态指标超标在线监测超标问题详情") @ApiImplicitParam(name = "param", value = "参数", required = true) - public HttpResult> getRMpPartHarmonicDetail(@RequestBody RMpPartHarmonicDetailQueryParam param) { + public HttpResult> getRMpPartHarmonicDetail(@RequestBody RMpPartHarmonicDetailQueryParam param) { String methodDescribe = getMethodDescribe("getRMpPartHarmonicDetail"); - List list = rMpPartHarmonicDetailDService.getRMpPartHarmonicDetail(param); + Page list = rMpPartHarmonicDetailDService.getRMpPartHarmonicDetail(param); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/RMpPartHarmonicDetailDService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/RMpPartHarmonicDetailDService.java index 72d540e01..d4b9b13db 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/RMpPartHarmonicDetailDService.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/RMpPartHarmonicDetailDService.java @@ -1,10 +1,11 @@ package com.njcn.harmonic.service.majornetwork; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; import com.njcn.common.pojo.param.StatisticsBizBaseParam; import com.njcn.harmonic.pojo.dto.RMpPartHarmonicDetailDTO; import com.njcn.harmonic.pojo.param.RMpPartHarmonicDetailQueryParam; import com.njcn.harmonic.pojo.po.RMpPartHarmonicDetailD; -import com.baomidou.mybatisplus.extension.service.IService; import com.njcn.harmonic.pojo.vo.RMpPartHarmonicDetailIconVO; import java.util.List; @@ -27,5 +28,5 @@ public interface RMpPartHarmonicDetailDService extends IService getRMpPartHarmonicDetailIcon(StatisticsBizBaseParam param); - List getRMpPartHarmonicDetail(RMpPartHarmonicDetailQueryParam param); + Page getRMpPartHarmonicDetail(RMpPartHarmonicDetailQueryParam param); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RMpPartHarmonicDetailDServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RMpPartHarmonicDetailDServiceImpl.java index 1a05e30db..3d625c5cd 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RMpPartHarmonicDetailDServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RMpPartHarmonicDetailDServiceImpl.java @@ -1,6 +1,7 @@ package com.njcn.harmonic.service.majornetwork.impl; import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.common.pojo.param.StatisticsBizBaseParam; import com.njcn.device.biz.commApi.CommLineClient; @@ -22,6 +23,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import java.time.LocalDate; +import java.time.LocalDateTime; import java.time.YearMonth; import java.time.temporal.ChronoUnit; import java.util.*; @@ -50,16 +52,19 @@ public class RMpPartHarmonicDetailDServiceImpl extends ServiceImpl getRMpPartHarmonicDetail(RMpPartHarmonicDetailQueryParam param) { - List rStatLimitRateDPOs = irStatLimitRateDService.lambdaQuery().between(RStatLimitRateDPO::getTime, param.getStartTime()+" 00:00:00", param.getEndTime()+" 23:59:59").list(); + public Page getRMpPartHarmonicDetail(RMpPartHarmonicDetailQueryParam param) { + System.out.println(LocalDateTime.now()); + List rStatLimitRateDPOs = irStatLimitRateDService.lambdaQuery().eq(RStatLimitRateDPO::getPhasicType,"T").between(RStatLimitRateDPO::getTime, param.getStartTime()+" 00:00:00", param.getEndTime()+" 23:59:59").list(); List rMpPartHarmonicDetailDTOS = new ArrayList<>(); LocalDate date = LocalDate.parse(param.getStartTime()); YearMonth yearMonth = YearMonth.from(date); int daysInMonth = yearMonth.lengthOfMonth(); - /*获取稳态统计指标*/ + System.out.println(LocalDateTime.now()); + /*获取稳态统计指标*/ List steadyStatis = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INDICATOR_TYPE.getCode()).getData(); + System.out.println(LocalDateTime.now()); rStatLimitRateDPOs.stream().collect(Collectors.groupingBy(RStatLimitRateDPO::getLineId)).forEach((k, v) -> { - LineALLInfoDTO lineALLInfoDTO = commLineClient.getLineAllDetail(k).getData(); +// LineALLInfoDTO lineALLInfoDTO = tempMap.get(k); steadyStatis.forEach(dictData -> { RMpPartHarmonicDetailDTO rMpPartHarmonicDetailDTO = new RMpPartHarmonicDetailDTO(); @@ -68,14 +73,14 @@ public class RMpPartHarmonicDetailDServiceImpl extends ServiceImpl result = rMpPartHarmonicDetailDTOS.stream(). filter(temp -> CollectionUtil.isEmpty(param.getHarmonicTypes()) ||param.getHarmonicTypes().contains(temp.getHarmonicType())). collect(Collectors.toList()); + System.out.println(LocalDateTime.now()); + //合并指标天数计算连续超标天数,及总超标天数 Map> map = result.stream().collect(Collectors.groupingBy(RMpPartHarmonicDetailDTO::getMeasurementPointId)); + System.out.println(LocalDateTime.now()); + List rMpPartHarmonicDetailDTOList = new ArrayList<>(); //获取所有指标类型,如何前端为空则将所有子表类型塞入HarmonicTypes List collect = steadyStatis.stream().map(DictData::getId).collect(Collectors.toList()); @@ -120,8 +129,36 @@ public class RMpPartHarmonicDetailDServiceImpl extends ServiceImpl temp = new Page<>(param.getPageNum(),param.getPageSize()); + temp.setTotal(rMpPartHarmonicDetailDTOList.size()); + List collect1 = rMpPartHarmonicDetailDTOList.stream() + .skip((param.getPageNum() - 1) * param.getPageSize()) // 跳过前面的数据项 + .limit(param.getPageSize()) // 取出指定数量的数据 + .collect(Collectors.toList()); + System.out.println(LocalDateTime.now()); - return rMpPartHarmonicDetailDTOList; + //获取监测点详情 + List lineIds = collect1.stream().map(RMpPartHarmonicDetailDTO::getMeasurementPointId).distinct().collect(Collectors.toList()); + List data = commLineClient.getLineAllDetailList(lineIds).getData(); + System.out.println(LocalDateTime.now()); + Map tempMap = data.stream().collect(Collectors.toMap(lineAllInfoDTO -> lineAllInfoDTO.getLineLineDTO().getLineId(), dto -> dto)); + + collect1.stream().forEach(dto->{ + LineALLInfoDTO lineALLInfoDTO = tempMap.get(dto.getMeasurementPointId()); + dto.setMeasurementPointName(lineALLInfoDTO.getLineLineDTO().getLinename()); + dto.setBarId(lineALLInfoDTO.getLineBusbarDTO().getBusBarId()); + dto.setBarName(lineALLInfoDTO.getLineBusbarDTO().getBusBarName()); + dto.setSustationId(lineALLInfoDTO.getLineSubStationDTO().getSubStationId()); + dto.setSustationName(lineALLInfoDTO.getLineSubStationDTO().getSubStationName()); + dto.setObjName(lineALLInfoDTO.getLineLineDTO().getObjName()); + dto.setLoadType(lineALLInfoDTO.getLineLineDTO().getLoadType()); + dto.setVoltageLevel(lineALLInfoDTO.getLineLineDTO().getVoltageLevel()); + }); + + temp.setRecords(collect1); + + return temp; } @@ -294,3 +331,4 @@ public class RMpPartHarmonicDetailDServiceImpl extends ServiceImpl