From 9f38947e28070e012dbfc1ead215c1721766046c Mon Sep 17 00:00:00 2001 From: wr <1754607820@qq.com> Date: Thu, 31 Aug 2023 15:32:49 +0800 Subject: [PATCH] =?UTF-8?q?1.=E7=9B=91=E6=B5=8B=E8=AF=84=E5=88=86=E6=9D=83?= =?UTF-8?q?=E9=87=8D=EF=BC=8C=E6=96=B0=E5=A2=9E=E5=AD=97=E6=AE=B5=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=202.=E4=BC=81=E4=B8=9A=E6=A6=82=E8=A7=88=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E6=8E=A5=E5=8F=A3=20=E5=9C=A8=E7=BA=BF=E7=8E=87?= =?UTF-8?q?=E3=80=81=E7=95=B8=E5=8F=98=E7=8E=87=E5=92=8C=E6=9A=82=E9=99=8D?= =?UTF-8?q?=E6=AC=A1=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../njcn/device/pq/pojo/po/PqsLineWeight.java | 8 ++ .../device/pq/pojo/vo/PqsLineWeightVo.java | 5 ++ .../TerminalOnlineRateDataController.java | 20 +++-- .../pq/mapper/mapping/PqsLineWeightMapper.xml | 1 + .../TerminalOnlineRateDataService.java | 2 +- .../impl/PqsLineWeightServiceImpl.java | 2 +- .../TerminalOnlineRateDataServiceImpl.java | 15 +++- .../AreaStatisticalController.java | 13 ++++ .../majornetwork/AreaStatisticalService.java | 14 +++- .../Impl/AreaStatisticalServiceImpl.java | 78 ++++++++++++++++--- .../com/njcn/harmonic/pojo/vo/NodeVO.java | 33 ++++++++ .../harmonic/controller/THDController.java | 12 ++- .../harmonic/service/THDistortionService.java | 2 +- .../service/impl/THDistortionServiceImpl.java | 16 +++- 14 files changed, 194 insertions(+), 27 deletions(-) create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/NodeVO.java diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/PqsLineWeight.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/PqsLineWeight.java index 0c50a02b7..27a71f85c 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/PqsLineWeight.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/PqsLineWeight.java @@ -41,6 +41,14 @@ public class PqsLineWeight { @ApiModelProperty("通讯费用评分") private Integer communFeeMark; + + /** + * 资产归属评分 + */ + @TableField("ASSET_BELONG") + @ApiModelProperty("资产归属评分") + private Integer assetBelong; + /** * 服务条款评分 */ diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/PqsLineWeightVo.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/PqsLineWeightVo.java index 6843b65e5..619528c05 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/PqsLineWeightVo.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/PqsLineWeightVo.java @@ -1,6 +1,7 @@ package com.njcn.device.pq.pojo.vo; import cn.afterturn.easypoi.excel.annotation.Excel; +import com.baomidou.mybatisplus.annotation.TableField; import com.njcn.device.pq.pojo.po.PqsLineWeight; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -70,6 +71,10 @@ public class PqsLineWeightVo extends PqsLineWeight { @NotNull(message = "通讯费用评分不为空") private Integer communFeeMark; + @Excel(name ="资产归属评分",width = 15) + @NotNull(message ="资产归属评分") + private Integer assetBelong; + @Excel(name ="服务条款评分",width = 15) @NotNull(message = "服务条款评分不为空") private Integer serviceMark; diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/TerminalOnlineRateDataController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/TerminalOnlineRateDataController.java index b36265ca2..7089bd568 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/TerminalOnlineRateDataController.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/TerminalOnlineRateDataController.java @@ -5,13 +5,10 @@ import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; -import com.njcn.device.pq.mapper.OnlineRateMapper; import com.njcn.device.pq.mapper.RStatOnlinerateDMapper; import com.njcn.device.pq.pojo.param.DeviceInfoParam; import com.njcn.device.pq.pojo.param.OnlineRateParam; import com.njcn.device.pq.pojo.param.TerminalOnlineRateDataParam; -import com.njcn.device.pq.pojo.po.OnlineRate; -import com.njcn.device.pq.pojo.po.RStatOnlinerateD; import com.njcn.device.pq.pojo.vo.OnlineRateCensusVO; import com.njcn.device.pq.pojo.vo.RStatOnlinerateVO; import com.njcn.device.pq.pojo.vo.TerminalOnlineRateDataVO; @@ -23,10 +20,7 @@ import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -56,7 +50,17 @@ public class TerminalOnlineRateDataController extends BaseController { @ApiImplicitParam(name = "terminalOnlineRateDataParam", value = "参数实体", required = true) public HttpResult> getOnlineRateData(@RequestBody TerminalOnlineRateDataParam terminalOnlineRateDataParam) { String methodDescribe = getMethodDescribe("getOnlineRateData"); - List onlineRateData = terminalOnlineRateDataService.getOnlineRateData(terminalOnlineRateDataParam); + List onlineRateData = terminalOnlineRateDataService.getOnlineRateData(terminalOnlineRateDataParam,0); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,onlineRateData,methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getNodeOnlineRateData") + @ApiOperation("终端在线率节点图") + @ApiImplicitParam(name = "terminalOnlineRateDataParam", value = "参数实体", required = true) + public HttpResult> getNodeOnlineRateData(@RequestBody TerminalOnlineRateDataParam terminalOnlineRateDataParam) { + String methodDescribe = getMethodDescribe("getOnlineRateData"); + List onlineRateData = terminalOnlineRateDataService.getOnlineRateData(terminalOnlineRateDataParam,1); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,onlineRateData,methodDescribe); } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/PqsLineWeightMapper.xml b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/PqsLineWeightMapper.xml index 2bd462be2..2c076e0e9 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/PqsLineWeightMapper.xml +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/PqsLineWeightMapper.xml @@ -13,6 +13,7 @@ pld.Line_Grade AS lineGrade, line.id AS lineIndex, COMMUN_FEE_MARK, + ASSET_BELONG, SERVICE_MARK, AGENT_MARK, COMPANY_MARK, diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/TerminalOnlineRateDataService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/TerminalOnlineRateDataService.java index a80f36562..fe2037504 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/TerminalOnlineRateDataService.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/TerminalOnlineRateDataService.java @@ -20,7 +20,7 @@ public interface TerminalOnlineRateDataService { * @param terminalOnlineRateDataParam * @return */ - List getOnlineRateData(TerminalOnlineRateDataParam terminalOnlineRateDataParam); + List getOnlineRateData(TerminalOnlineRateDataParam terminalOnlineRateDataParam,Integer nodeType); OnlineRateCensusVO getOnlineRateDataCensus(DeviceInfoParam.CompareBusinessParam onlineRateCensusParam); } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/PqsLineWeightServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/PqsLineWeightServiceImpl.java index f23dbfd54..e3de96cae 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/PqsLineWeightServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/PqsLineWeightServiceImpl.java @@ -69,7 +69,7 @@ public class PqsLineWeightServiceImpl extends ServiceImpl()); //临时缓冲区 diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalOnlineRateDataServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalOnlineRateDataServiceImpl.java index 317a9be69..7798c0d56 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalOnlineRateDataServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalOnlineRateDataServiceImpl.java @@ -72,7 +72,7 @@ public class TerminalOnlineRateDataServiceImpl implements TerminalOnlineRateData * @return */ @Override - public List getOnlineRateData (TerminalOnlineRateDataParam terminalOnlineRateDataParam) { + public List getOnlineRateData (TerminalOnlineRateDataParam terminalOnlineRateDataParam,Integer nodeType) { // 获取所有数据 List generalDeviceDTOList = generalDeviceService.getDeviceInfo(terminalOnlineRateDataParam, Stream.of(0).collect(Collectors.toList()), Stream.of(1).collect(Collectors.toList())); @@ -147,13 +147,24 @@ public class TerminalOnlineRateDataServiceImpl implements TerminalOnlineRateData } getAreaOnlineRateData(pro, alarmStrategyVos, terminalOnlineRateDataParam.getLineGrade(),terminalOnlineRateDataParam.getServerName()); + if(nodeType==1){ + pro.stream().forEach(data->{ + if(CollUtil.isNotEmpty(data.getChildren())){ + //市 + List sub = data.getChildren().stream().flatMap(dto -> dto.getChildren().stream()).collect(Collectors.toList()); + sub.stream().forEach(x->{ + x.setChildren(new ArrayList<>()); + }); + data.setChildren(sub); + } + }); + } return pro; } else { return new ArrayList<>(); } } - @Override public OnlineRateCensusVO getOnlineRateDataCensus(DeviceInfoParam.CompareBusinessParam onlineRateCensusParam) { OnlineRateCensusVO onlineRateCensusVO = new OnlineRateCensusVO(); diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/AreaStatisticalController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/AreaStatisticalController.java index 09151b0e5..a08282c62 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/AreaStatisticalController.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/AreaStatisticalController.java @@ -8,6 +8,7 @@ import com.njcn.common.utils.HttpResultUtil; import com.njcn.device.pq.pojo.param.DeviceInfoParam; import com.njcn.event.pojo.vo.AreaStatisticalVO; import com.njcn.event.service.majornetwork.AreaStatisticalService; +import com.njcn.harmonic.pojo.vo.NodeVO; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -20,6 +21,8 @@ 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; + /** * 区域概览 * @@ -45,4 +48,14 @@ public class AreaStatisticalController extends BaseController { AreaStatisticalVO res = areaStatisticalService.getAreaCalculation(deviceInfoParam); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, res, methodDescribe); } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getCalculation") + @ApiOperation("获取暂降区域节点图") + @ApiImplicitParam(name = "deviceInfoParam", value = "暂降事件分析参数", required = true) + public HttpResult> getCalculation(@RequestBody @Validated DeviceInfoParam.BusinessParam deviceInfoParam) { + String methodDescribe = getMethodDescribe("getAreaCalculation"); + List calculation = areaStatisticalService.getCalculation(deviceInfoParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, calculation, methodDescribe); + } } diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/AreaStatisticalService.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/AreaStatisticalService.java index 698ed1c35..af58bc152 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/AreaStatisticalService.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/AreaStatisticalService.java @@ -2,6 +2,9 @@ package com.njcn.event.service.majornetwork; import com.njcn.device.pq.pojo.param.DeviceInfoParam; import com.njcn.event.pojo.vo.AreaStatisticalVO; +import com.njcn.harmonic.pojo.vo.NodeVO; + +import java.util.List; /** * 区域统计 @@ -19,6 +22,13 @@ public interface AreaStatisticalService { * @return 暂降统计信息 */ AreaStatisticalVO getAreaCalculation(DeviceInfoParam.BusinessParam deviceInfoParam); - - + + /** + * @Description: 节点图 + * @param deviceInfoParam + * @return: java.util.List + * @Author: wr + * @Date: 2023/8/30 9:43 + */ + List getCalculation(DeviceInfoParam.BusinessParam deviceInfoParam); } diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/AreaStatisticalServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/AreaStatisticalServiceImpl.java index f2796633b..ec440e2af 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/AreaStatisticalServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/AreaStatisticalServiceImpl.java @@ -1,6 +1,5 @@ package com.njcn.event.service.majornetwork.Impl; -import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateField; import cn.hutool.core.date.DatePattern; @@ -9,10 +8,11 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.device.pq.api.GeneralDeviceInfoClient; +import com.njcn.device.pq.api.LineFeignClient; import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO; +import com.njcn.device.pq.pojo.dto.PollutionLineDTO; +import com.njcn.device.pq.pojo.dto.PollutionParamDTO; import com.njcn.device.pq.pojo.param.DeviceInfoParam; -import com.njcn.event.influxdb.PqsEventDetailQuery; -import com.njcn.event.pojo.po.EventDetail; import com.njcn.event.pojo.po.RmpEventDetailPO; import com.njcn.event.pojo.vo.AreaCalculationVO; import com.njcn.event.pojo.vo.AreaStatisticalVO; @@ -23,23 +23,20 @@ import com.njcn.event.pojo.vo.MonthCalculationVO; import com.njcn.event.pojo.vo.VoltageLevelCalculationVO; import com.njcn.event.service.majornetwork.AreaStatisticalService; import com.njcn.event.service.majornetwork.EventDetailService; +import com.njcn.harmonic.pojo.vo.NodeVO; import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.enums.DicDataEnum; import com.njcn.system.pojo.enums.StatisticsEnum; import com.njcn.system.pojo.po.DictData; import lombok.RequiredArgsConstructor; -import org.influxdb.querybuilder.clauses.Clause; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; import static com.njcn.event.influxdb.PqsEventDetailQuery.*; -import static org.influxdb.querybuilder.BuiltQuery.QueryBuilder.ne; /** * 区域统计 @@ -57,6 +54,8 @@ public class AreaStatisticalServiceImpl implements AreaStatisticalService { private final DicDataFeignClient dicDataFeignClient; + private final LineFeignClient lineFeignClient; + /** * 获取暂降区域 电压等级 月份统计 * @@ -101,6 +100,67 @@ public class AreaStatisticalServiceImpl implements AreaStatisticalService { return AreaStatisticalVO.buildVO(areaStatisticsVO, voltageStatisticsVO, monthCalculationVOS); } + @Override + public List getCalculation(DeviceInfoParam.BusinessParam deviceInfoParam) { + List nodeVOS=new ArrayList<>(); + //获取录波字典信息 + DictData data = dicDataFeignClient.getDicDataByCode(DicDataEnum.VOLTAGE_DIP.getCode()).getData(); + + // 获取指定部门下的监测点集合 + List generalDeviceDTOList = generalDeviceInfoClient.getPracticalRunDeviceInfo(deviceInfoParam).getData(); + if (CollUtil.isEmpty(generalDeviceDTOList)) { + return nodeVOS; + } + List lineIds = generalDeviceDTOList.stream().flatMap(dto -> dto.getLineIndexes().stream()).collect(Collectors.toList()); + if (CollUtil.isEmpty(lineIds)) { + return nodeVOS; + } + //数据暂降查询 + List info = eventDetailService.list(new LambdaQueryWrapper() + .in(RmpEventDetailPO::getMeasurementPointId, lineIds) + //todo 是否缺少录波 + .eq(RmpEventDetailPO::getEventType, data.getId()) + .ge(StrUtil.isNotBlank(deviceInfoParam.getSearchBeginTime()), RmpEventDetailPO::getStartTime,DateUtil.beginOfDay(DateUtil.parse(deviceInfoParam.getSearchBeginTime()))) + .le(StrUtil.isNotBlank(deviceInfoParam.getSearchEndTime()), RmpEventDetailPO::getStartTime, DateUtil.endOfDay(DateUtil.parse(deviceInfoParam.getSearchEndTime()))) + ); + //获取变电站信息 + List lineInfo = new ArrayList<>(); + if (!CollectionUtils.isEmpty(lineIds)){ + PollutionParamDTO paramDTO = new PollutionParamDTO(); + paramDTO.setLineList(lineIds); + lineInfo = lineFeignClient.getLineInfo(paramDTO).getData(); + } + //将将变电站信息组合 + Map> map = lineInfo.stream().collect(Collectors.groupingBy(PollutionLineDTO::getSubstationId)); + generalDeviceDTOList.forEach(dto->{ + if (!CollectionUtils.isEmpty(dto.getSubIndexes())){ + List childrenList = new ArrayList<>(); + NodeVO node = new NodeVO(); + node.setId(dto.getIndex()); + node.setName(dto.getName()+"\n("+dto.getLineIndexes().size()+")"); + dto.getSubIndexes().forEach(sub->{ + List l1 = map.get(sub); + NodeVO children = new NodeVO(); + children.setId(sub); + children.setPid(dto.getIndex()); + children.setName(l1.get(0).getSubstation()); + //监测点id + List lines = l1.stream().map(PollutionLineDTO::getId).collect(Collectors.toList()); + //获取变电站暂降次数 + List dipNum = info.stream().filter(x -> lines.contains(x.getLineId())).collect(Collectors.toList()); + children.setData(dipNum.size()); + childrenList.add(children); + }); + if (!CollectionUtils.isEmpty(childrenList)){ + node.setData(childrenList.stream().mapToInt(NodeVO::getData).sum()); + node.setChildren(childrenList.stream().sorted(Comparator.comparing(NodeVO::getData).reversed().thenComparing(NodeVO::getName)).collect(Collectors.toList())); + } + nodeVOS.add(node); + } + }); + return nodeVOS; + } + /** * 统计月份信息 * diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/NodeVO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/NodeVO.java new file mode 100644 index 000000000..bd2b8d33a --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/NodeVO.java @@ -0,0 +1,33 @@ +package com.njcn.harmonic.pojo.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Description: 通用树 + * @Author: wr + * @Date: 2023/8/30 9:41 + */ +@Data +public class NodeVO { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("id") + private String id; + + @ApiModelProperty("父级id") + private String pid; + + @ApiModelProperty("名称") + private String name; + + @ApiModelProperty("次数") + private Integer data = 0; + + @ApiModelProperty("子级") + private List children; + +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/THDController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/THDController.java index 0f5fc9316..363fc1bc4 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/THDController.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/THDController.java @@ -44,7 +44,17 @@ public class THDController extends BaseController { @ApiImplicitParam(name = "thDistortionParam", value = "谐波总畸变率参数", required = true) public HttpResult> getTHDistortionData(@RequestBody @Validated DeviceInfoParam.BusinessParam thDistortionParam){ String methodDescribe = getMethodDescribe("getTHDistortionData"); - List list = thDistortionService.getTHDistortionData(thDistortionParam); + List list = thDistortionService.getTHDistortionData(thDistortionParam,0); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getNodeTHDistortionData") + @ApiOperation("谐波总畸变率节点图") + @ApiImplicitParam(name = "thDistortionParam", value = "谐波总畸变率参数", required = true) + public HttpResult> getNodeTHDistortionData(@RequestBody @Validated DeviceInfoParam.BusinessParam thDistortionParam){ + String methodDescribe = getMethodDescribe("getNodeTHDistortionData"); + List list = thDistortionService.getTHDistortionData(thDistortionParam,1); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/THDistortionService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/THDistortionService.java index 1516f643e..5f304db64 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/THDistortionService.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/THDistortionService.java @@ -22,7 +22,7 @@ public interface THDistortionService { * @return */ - List getTHDistortionData(DeviceInfoParam.BusinessParam thDistortionParam); + List getTHDistortionData(DeviceInfoParam.BusinessParam thDistortionParam,Integer nodeType); /** * 功能描述: 获取总畸变率图表 diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/THDistortionServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/THDistortionServiceImpl.java index 9a3d6d930..3e1a605d6 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/THDistortionServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/THDistortionServiceImpl.java @@ -13,6 +13,7 @@ import com.njcn.device.pq.enums.LineBaseEnum; import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO; import com.njcn.device.pq.pojo.param.DeviceInfoParam; import com.njcn.device.pq.pojo.vo.LineDetailDataVO; +import com.njcn.device.pq.pojo.vo.TerminalOnlineRateDataVO; import com.njcn.harmonic.mapper.RMpVThdMapper; import com.njcn.harmonic.mapper.THDistortionMapper; import com.njcn.harmonic.pojo.dto.PublicDTO; @@ -55,7 +56,7 @@ public class THDistortionServiceImpl implements THDistortionService { private final IRStatDataVDService statDataVDService; @Override - public List getTHDistortionData(DeviceInfoParam.BusinessParam thDistortionParam) { + public List getTHDistortionData(DeviceInfoParam.BusinessParam thDistortionParam,Integer nodeType) { List thDistortionVOS = new ArrayList<>(); //按照条件获取实际运行终端综合信息 @@ -80,7 +81,18 @@ public class THDistortionServiceImpl implements THDistortionService { thDistortionVOS.add(thDistortionVO); } - + if(nodeType==1){ + thDistortionVOS.stream().forEach(data->{ + if(CollUtil.isNotEmpty(data.getChildren())){ + //市 + List sub = data.getChildren().stream().flatMap(dto -> dto.getChildren().stream()).collect(Collectors.toList()); + sub.stream().forEach(x->{ + x.setChildren(new ArrayList<>()); + }); + data.setChildren(sub); + } + }); + } return thDistortionVOS; }