From 3e9d8638cb6449234d88c58baeff51f1b3fa6bae Mon Sep 17 00:00:00 2001 From: xy <748613699@qq.com> Date: Wed, 8 May 2024 14:54:15 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=86=80=E5=8C=97=E5=90=88=E6=A0=BC=E7=8E=87?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=B0=83=E6=95=B4=202.=E7=BB=BC=E5=90=88?= =?UTF-8?q?=E8=AF=84=E4=BC=B0=E6=8E=A5=E5=8F=A3=E8=B0=83=E6=95=B4=203.?= =?UTF-8?q?=E7=AE=97=E6=B3=95=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../harmonic/pojo/vo/hebeinorth/AssessVo.java | 13 ++++ .../controller/hebeinorth/GridController.java | 4 +- .../mapper/mapping/RStatLimitRateDMapper.xml | 1 + .../service/hebeinorth/IGridService.java | 2 +- .../service/impl/GridServiceImpl.java | 19 +++-- .../mysql/Impl/line/LimitRateServiceImpl.java | 70 ++++++++----------- 6 files changed, 54 insertions(+), 55 deletions(-) diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/hebeinorth/AssessVo.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/hebeinorth/AssessVo.java index ad09f6a78..374d2fa70 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/hebeinorth/AssessVo.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/hebeinorth/AssessVo.java @@ -28,6 +28,19 @@ public class AssessVo implements Serializable { @ApiModelProperty("时间") private String dataTime; + @Data + public static class AssessOverview { + + @ApiModelProperty("评估分数") + private Float score = 3.14159f; + + @ApiModelProperty("评估等级") + private String level; + + @ApiModelProperty("市数据") + List children; + } + @Data public static class AssessTrendVo { diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/hebeinorth/GridController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/hebeinorth/GridController.java index 9b5b40e79..c800b4576 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/hebeinorth/GridController.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/hebeinorth/GridController.java @@ -41,9 +41,9 @@ public class GridController extends BaseController { @PostMapping("/getAssessOverview") @ApiOperation("综合评估概览数据") @ApiImplicitParam(name = "param", value = "参数", required = true) - public HttpResult> getAssessOverview(@RequestBody @Validated AssessParam param){ + public HttpResult getAssessOverview(@RequestBody @Validated AssessParam param){ String methodDescribe = getMethodDescribe("getAssessOverview"); - List result = gridService.getAssessOverview(param); + AssessVo.AssessOverview result = gridService.getAssessOverview(param); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatLimitRateDMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatLimitRateDMapper.xml index 3ed64b57c..460de929d 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatLimitRateDMapper.xml +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatLimitRateDMapper.xml @@ -310,6 +310,7 @@ select my_index as lineId, SUM(all_time) as allTime, + SUM(flicker_all_time) as flickerAllTime, SUM(freq_dev_overtime) as freqDevOvertime, SUM(voltage_dev_overtime) as voltageDevOvertime, SUM(flicker_overtime) as flickerOvertime, diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/hebeinorth/IGridService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/hebeinorth/IGridService.java index aa50f841a..19f173a29 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/hebeinorth/IGridService.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/hebeinorth/IGridService.java @@ -28,7 +28,7 @@ public interface IGridService { * @param param * @return */ - List getAssessOverview(AssessParam param); + AssessVo.AssessOverview getAssessOverview(AssessParam param); /** * 综合评估详细界面 diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/GridServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/GridServiceImpl.java index 8d9f7c541..9ce911fd4 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/GridServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/GridServiceImpl.java @@ -2,7 +2,6 @@ package com.njcn.harmonic.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.date.DatePattern; import com.njcn.common.utils.PubUtils; import com.njcn.device.biz.commApi.CommTerminalGeneralClient; import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO; @@ -36,7 +35,6 @@ import org.springframework.stereotype.Service; import java.time.LocalDate; import java.time.YearMonth; import java.time.format.DateTimeFormatter; -import java.time.temporal.TemporalAdjusters; import java.util.*; import java.util.function.Function; import java.util.function.Predicate; @@ -67,8 +65,9 @@ public class GridServiceImpl implements IGridService { private final DeptFeignClient deptFeignClient; @Override - public List getAssessOverview(AssessParam param) { - List result = new ArrayList<>(); + public AssessVo.AssessOverview getAssessOverview(AssessParam param) { + AssessVo.AssessOverview overview = new AssessVo.AssessOverview(); + List children = new ArrayList<>(); DeptGetLineParam deptGetLineParam = new DeptGetLineParam(); deptGetLineParam.setDeptId(param.getDeptIndex()); deptGetLineParam.setServerName("harmonic-boot"); @@ -101,20 +100,18 @@ public class GridServiceImpl implements IGridService { assessVo.setLevel(getLevel(synData)); comasses.addAll(communicateList); } - result.add(assessVo); + children.add(assessVo); } }); //计算冀北整体 - AssessVo assessVo = new AssessVo(); - assessVo.setName("冀北"); if (CollUtil.isNotEmpty(comasses)) { float synData = comAssesUtil.getAllComAss(comasses); - assessVo.setScore(PubUtils.floatRound(2,synData)); - assessVo.setLevel(getLevel(synData)); + overview.setScore(PubUtils.floatRound(2,synData)); + overview.setLevel(getLevel(synData)); } - result.add(assessVo); + overview.setChildren(children); } - return result; + return overview; } @Override diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/LimitRateServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/LimitRateServiceImpl.java index 79d58d9ec..a448dacdc 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/LimitRateServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/LimitRateServiceImpl.java @@ -24,13 +24,11 @@ import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.ListUtils; import org.springframework.stereotype.Component; -import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; -import sun.security.krb5.internal.Ticket; import java.time.Instant; -import java.time.LocalDateTime; import java.util.*; +import java.util.function.Function; import java.util.stream.Collectors; /** @@ -59,6 +57,7 @@ public class LimitRateServiceImpl extends MppServiceImpl list = new ArrayList<>(); + //数据集合 List list1 = new ArrayList<>(); List list2 = new ArrayList<>(); List list3 = new ArrayList<>(); @@ -71,27 +70,16 @@ public class LimitRateServiceImpl extends MppServiceImpl list10 = new ArrayList<>(); List list11 = new ArrayList<>(); - Map> map1 = new HashMap<>(); - Map> map2 = new HashMap<>(); - Map> map3 = new HashMap<>(); - Map> map4 = new HashMap<>(); - Map> map5 = new HashMap<>(); - Map> map6 = new HashMap<>(); - Map> map7 = new HashMap<>(); - Map> map8 = new HashMap<>(); - Map> map9 = new HashMap<>(); - Map> map10 = new HashMap<>(); - Map> map11 = new HashMap<>(); - - List lineIds = calculatedParam.getIdList(); + //获取时间 String startTime = this.getTime(calculatedParam.getDataDate(),step,true); String endTime = this.getTime(calculatedParam.getDataDate(),step,false); - //获取所有监测点的限值 List overLimitList = commTerminalGeneralClient.getAllLineOverLimit().getData(); - Map> overLimitMap = overLimitList.stream().collect(Collectors.groupingBy(Overlimit::getId)); + Map overLimitMap = overLimitList.stream().collect(Collectors.toMap(Overlimit::getId, Function.identity())); + //监测点集合 + List lineIds = calculatedParam.getIdList(); //以尺寸100分片,查询数据 - List> pendingIds = ListUtils.partition(lineIds,50); + List> pendingIds = ListUtils.partition(lineIds,100); for (List pendingId : pendingIds) { list1.addAll(getAllTime(pendingId, startTime, endTime)); list2.addAll(getFlickerAllTime(pendingId, startTime, endTime)); @@ -104,30 +92,30 @@ public class LimitRateServiceImpl extends MppServiceImpl> map1 = list1.stream().collect(Collectors.groupingBy(DataV::getLineId)); + Map> map2 = list2.stream().collect(Collectors.groupingBy(DataPlt::getLineId)); + Map> map3 = list3.stream().collect(Collectors.groupingBy(DataHarmRateV::getLineId)); + Map> map4 = list4.stream().collect(Collectors.groupingBy(DataI::getLineId)); + Map> map5 = list5.stream().collect(Collectors.groupingBy(DataInHarmV::getLineId)); + Map> map6 = list6.stream().collect(Collectors.groupingBy(DataV::getLineId)); + Map> map7 = list7.stream().collect(Collectors.groupingBy(DataV::getLineId)); + Map> map8 = list8.stream().collect(Collectors.groupingBy(DataI::getLineId)); + Map> map9 = list9.stream().collect(Collectors.groupingBy(DataV::getLineId)); + Map> map10 = list10.stream().collect(Collectors.groupingBy(DataV::getLineId)); + Map> map11 = list11.stream().collect(Collectors.groupingBy(DataPlt::getLineId)); - for (String item : pendingId) { - List result = getData(overLimitMap.get(item).get(0), map1.get(item), map2.get(item), map3.get(item), map4.get(item), map5.get(item), map6.get(item), map7.get(item), map8.get(item), map9.get(item), map10.get(item), map11.get(item)); - List collect = result.stream().map(t -> { - RStatLimitRateDPO po = new RStatLimitRateDPO(); - NjcnBeanUtil.copyPropertiesIgnoreCase(t, po); - po.setTime(LocalDateTimeUtil.parseDate(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)); - return po; - }).collect(Collectors.toList()); - list.addAll(collect); - } + for (String item : lineIds) { + List result = getData(overLimitMap.get(item), map1.get(item), map2.get(item), map3.get(item), map4.get(item), map5.get(item), map6.get(item), map7.get(item), map8.get(item), map9.get(item), map10.get(item), map11.get(item)); + List collect = result.stream().map(t -> { + RStatLimitRateDPO po = new RStatLimitRateDPO(); + NjcnBeanUtil.copyPropertiesIgnoreCase(t, po); + po.setTime(LocalDateTimeUtil.parseDate(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)); + return po; + }).collect(Collectors.toList()); + list.addAll(collect); } if (!CollectionUtils.isEmpty(list)){ //判断是否要做合并处理