From 339cf9c75ec5e2287d5b448a35dd8ed702b12635 Mon Sep 17 00:00:00 2001 From: hongawen <83944980@qq.com> Date: Thu, 15 Dec 2022 10:36:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=B9=B6=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 21 +- .../pms/api/DistributionMonitorClient.java | 11 +- .../njcn/device/pms/api/PwMonitorClient.java | 8 + ...tributionMonitorClientFallbackFactory.java | 6 + .../PwMonitorClientFallbackFactory.java | 6 + .../pms/pojo/dto/PmsTractionStationDTO.java | 12 +- .../pms/pojo/param/SpecialAnalysisParam.java | 51 + .../RStatTractionStationAccountDetailPO.java | 2 +- .../pms/pojo/vo/SpecialAnalysisMonitorVO.java | 222 ++++ .../distribution/PwMonitorController.java | 20 +- .../DistributionMonitorController.java | 20 + .../SpecialAnalysisController.java | 122 +++ .../mapper/distribution/PwMonitorMapper.java | 10 + .../distribution/mapping/PwMonitorMapper.xml | 89 ++ .../DistributionMonitorMapper.java | 2 + .../majornetwork/SpecialAnalysisMapper.java | 60 ++ .../mapping/DistributionMonitorMapper.xml | 69 +- .../RStatMeasurementAccountDetailMapper.xml | 6 + .../mapping/SpecialAnalysisMapper.xml | 363 +++++++ .../mapping/TractionStationMapper.xml | 52 +- .../distribution/IPwMonitorService.java | 7 + .../impl/IPwMonitorServiceImpl.java | 16 + .../IDistributionMonitorService.java | 8 + .../majornetwork/SpecialAnalysisService.java | 51 + .../impl/DistributionMonitorServiceImpl.java | 25 + .../impl/SpecialAnalysisServiceImpl.java | 131 +++ pqs-event/event-api/pom.xml | 6 +- .../com/njcn/event/pojo/vo/DeptLevelVO.java | 30 + .../com/njcn/event/pojo/vo/RStatEventVO.java | 45 + .../java/com/njcn/event/utils/DeptUtil.java | 83 ++ .../PwRStatEventOrgController.java | 2 +- .../majornetwork/RStatEventOrgController.java | 2 +- .../RStatSubstationController.java | 6 +- .../majornetwork/RStatEventOrgMMapper.java | 15 + .../majornetwork/RStatEventOrgQMapper.java | 15 + .../majornetwork/RStatEventOrgYMapper.java | 15 +- .../mapping/RStatEventOrgMMapper.xml | 35 + .../mapping/RStatEventOrgQMapper.xml | 35 + .../mapping/RStatEventOrgYMapper.xml | 35 + .../Impl/RStatEventOrgMServiceImpl.java | 17 +- .../Impl/RStatEventOrgQServiceImpl.java | 17 +- .../Impl/RStatEventOrgYServiceImpl.java | 246 +++-- .../Impl/RmpEventDetailServiceImpl.java | 32 +- ...ticsOfTransientIndicatorssServiceImpl.java | 2 +- .../majornetwork/RStatEventOrgYService.java | 11 +- pqs-gateway/src/main/resources/bootstrap.yml | 17 +- pqs-harmonic/harmonic-api/pom.xml | 5 + .../pojo/param/PowerQualityParam.java | 7 + .../pojo/po/RMpPartHarmonicDetailD.java | 985 ++++++++++++------ .../pojo/po/RMpRailwayTractionDetail.java | 52 + .../pojo/po/RMpSurplusHarmonicDetailD.java | 295 ++++-- .../harmonic/pojo/po/RMpWpPowerDetailM.java | 14 + .../harmonic/pojo/po/RMpWpPowerDetailQ.java | 15 + .../harmonic/pojo/po/RMpWpPowerDetailY.java | 14 + .../njcn/harmonic/pojo/vo/DeptLevelVO.java | 30 + .../pojo/vo/RMpRailwayTractionDetailVO.java | 68 ++ .../harmonic/pojo/vo/RMpWpPowerDetailVO.java | 111 ++ .../harmonic/pojo/vo/RStatHarmonicVO.java | 42 + .../harmonic/pojo/vo/ReportTemplateVO.java | 2 + .../com/njcn/harmonic/utils/DeptUtil.java | 82 ++ .../PwRStatHarmonicOrgController.java | 4 +- .../RStatHarmonicOrgController.java | 4 +- .../specialanalysis/WindFarmController.java | 47 +- .../mapper/StatHarmonicOrgMMapper.java | 12 + .../mapper/StatHarmonicOrgQMapper.java | 13 + .../mapper/StatHarmonicOrgYMapper.java | 13 + .../mapper/mapping/ExcelRptTempMapper.xml | 3 +- .../mapper/mapping/StatHarmonicOrgMMapper.xml | 34 + .../mapper/mapping/StatHarmonicOrgQMapper.xml | 34 + .../mapper/mapping/StatHarmonicOrgYMapper.xml | 35 + .../RMpRailwayTractionDetailMapper.java | 16 + .../RMpRailwayTractionDetailMapper.xml | 16 + .../mapping/RMpWpPowerDetailMMapper.xml | 5 + .../mapping/RMpWpPowerDetailQMapper.xml | 5 + .../mapping/RMpWpPowerDetailYMapper.xml | 5 + .../RStatHarmonicOrgYService.java | 22 +- .../impl/RStatHarmonicOrgMServiceImpl.java | 9 +- .../impl/RStatHarmonicOrgQServiceImpl.java | 134 ++- .../impl/RStatHarmonicOrgYServiceImpl.java | 518 ++++++--- .../RMpWpPowerDetailMService.java | 17 + .../impl/RMpEmissionMServiceImpl.java | 13 +- .../impl/RMpInfluenceMServiceImpl.java | 15 +- .../impl/RMpWpPowerDetailMServiceImpl.java | 153 ++- .../RStatOrgPvPowerQualityServiceImpl.java | 13 +- pqs-prepare/harmonic-prepare/pom.xml | 16 + 85 files changed, 4172 insertions(+), 762 deletions(-) create mode 100644 pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/SpecialAnalysisParam.java create mode 100644 pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/SpecialAnalysisMonitorVO.java create mode 100644 pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/SpecialAnalysisController.java create mode 100644 pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/SpecialAnalysisMapper.java create mode 100644 pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/SpecialAnalysisMapper.xml create mode 100644 pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/SpecialAnalysisService.java create mode 100644 pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/SpecialAnalysisServiceImpl.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/DeptLevelVO.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RStatEventVO.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/utils/DeptUtil.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpRailwayTractionDetail.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/DeptLevelVO.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RMpRailwayTractionDetailVO.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RMpWpPowerDetailVO.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RStatHarmonicVO.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/utils/DeptUtil.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/RMpRailwayTractionDetailMapper.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RMpRailwayTractionDetailMapper.xml diff --git a/pom.xml b/pom.xml index 56193c803..f1078fd1b 100644 --- a/pom.xml +++ b/pom.xml @@ -23,6 +23,7 @@ pqs-advance pqs-prepare pqs-process + pqs-algorithm pom 灿能微服务生态系统 @@ -41,15 +42,17 @@ - 192.168.1.28 + 192.168.1.31 - 192.168.1.29 + + 192.168.1.111 192.168.1.13 ${middle.server.url}:18848 + @@ -63,7 +66,7 @@ ${docker.server.url}:8090 njcn - install + test 1.8 8 8 @@ -78,7 +81,10 @@ 2.1.3 1.2.5 8.0.19 + 21.6.0.0 + 21.1.0.0 3.4.2 + 3.5.1 1.5.1-RELEASE 3.5.1 2.3 @@ -191,7 +197,7 @@ com.oracle.database.nls orai18n - 21.1.0.0 + ${orai18n.version} @@ -343,6 +349,13 @@ + + + com.baomidou + dynamic-datasource-spring-boot-starter + ${dynamic-datasource.version} + + diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/DistributionMonitorClient.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/DistributionMonitorClient.java index ec94cfbd0..6389af7eb 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/DistributionMonitorClient.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/DistributionMonitorClient.java @@ -51,6 +51,13 @@ public interface DistributionMonitorClient { */ @PostMapping("distributionMonitorList") HttpResult> distributionMonitorList(@RequestBody List monitorIds); - - + /** + * @Description: 获取配网所有监测点数据 + * @Param: [] + * @return: com.njcn.common.pojo.response.HttpResult> + * @Author: clam + * @Date: 2022/12/13 + */ + @PostMapping("distributionMonitorListByCondition") + public HttpResult> distributionMonitorListByCondition(@RequestParam("orgId")String orgId,@RequestParam("monitorSort")String monitorSort); } diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/PwMonitorClient.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/PwMonitorClient.java index 1e67fd790..89bb3f03c 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/PwMonitorClient.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/PwMonitorClient.java @@ -31,4 +31,12 @@ public interface PwMonitorClient { */ @PostMapping("/getPwMonitorList") HttpResult> getPwMonitorList(@RequestBody PwPmsMonitorParam pwPmsMonitorParam); + + /** + * 获取分布式光伏配网所有监测点信息 + * @param pwPmsMonitorParam 参数条件 + * @return 配网所有监测点信息 + */ + @PostMapping("/getPwPhotovoltaicMonitorList") + HttpResult> getPwPhotovoltaicMonitorList(@RequestBody PwPmsMonitorParam pwPmsMonitorParam); } diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/DistributionMonitorClientFallbackFactory.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/DistributionMonitorClientFallbackFactory.java index e8e2dc218..9845e9d4a 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/DistributionMonitorClientFallbackFactory.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/DistributionMonitorClientFallbackFactory.java @@ -53,6 +53,12 @@ public class DistributionMonitorClientFallbackFactory implements FallbackFactory throw new BusinessException(finalExceptionEnum); } + @Override + public HttpResult> distributionMonitorListByCondition(@RequestParam("orgId")String orgId,@RequestParam("monitorSort")String monitorSort) { + log.error("{}异常,降级处理,异常为:{}", "获取配网所有监测点", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; } diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/PwMonitorClientFallbackFactory.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/PwMonitorClientFallbackFactory.java index 786d59feb..b0cebf43a 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/PwMonitorClientFallbackFactory.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/PwMonitorClientFallbackFactory.java @@ -38,6 +38,12 @@ public class PwMonitorClientFallbackFactory implements FallbackFactory> getPwPhotovoltaicMonitorList(PwPmsMonitorParam pwPmsMonitorParam) { + log.error("{}异常,降级处理,异常为:{}", "获取分布式光伏配网所有监测点信息", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } }; } } diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PmsTractionStationDTO.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PmsTractionStationDTO.java index 92fa6c93e..7c159b81c 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PmsTractionStationDTO.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PmsTractionStationDTO.java @@ -3,7 +3,7 @@ package com.njcn.device.pms.pojo.dto; import lombok.Data; import java.io.Serializable; -import java.util.Date; +import java.time.LocalDateTime; /** * (PmsTractionStation)实体类 @@ -22,6 +22,10 @@ public class PmsTractionStationDTO implements Serializable { * 牵引站名称 */ private String name; + /** + * 铁路类型 + */ + private Integer railwayType; /** * 组织机构名称 */ @@ -77,7 +81,7 @@ public class PmsTractionStationDTO implements Serializable { /** * 创建日期 */ - private Date createdDate; + private LocalDateTime createdDate; /** * 用户标签 */ @@ -97,7 +101,7 @@ public class PmsTractionStationDTO implements Serializable { /** * 创建时间 */ - private Date createTime; + private LocalDateTime createTime; /** * 更新用户 */ @@ -105,7 +109,7 @@ public class PmsTractionStationDTO implements Serializable { /** * 更新时间 */ - private Date updateTime; + private LocalDateTime updateTime; } diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/SpecialAnalysisParam.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/SpecialAnalysisParam.java new file mode 100644 index 000000000..f60f7414a --- /dev/null +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/SpecialAnalysisParam.java @@ -0,0 +1,51 @@ +package com.njcn.device.pms.pojo.param; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * <专项分析-入参> + * + * @author wr + * @createTime: 2022-12-01 + */ +@Data +public class SpecialAnalysisParam { + +// @ApiModelProperty(name = "id", value = "按单位统计,id为单位索引") +// private String id; + + @ApiModelProperty(name = "type", value = "类型(0-风电场 1-光伏电站 2冶炼负荷)") + private Integer type; + + /** + * 数据传参 + */ + @Data + public static class CompareDateParam { + + @ApiModelProperty(name = "year", value = "年份") + private String year; + + @ApiModelProperty(name = "month", value = "月份") + private List month; + } + /** + * 数据传参 + */ + @Data + public static class CompareParam { + + @ApiModelProperty(name = "powerVoltageLevel", value = "电压等级") + private List powerVoltageLevel; + + @ApiModelProperty(name = "year", value = "年份") + private String year; + + @ApiModelProperty(name = "month", value = "月份") + private List month; + } + +} diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/RStatTractionStationAccountDetailPO.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/RStatTractionStationAccountDetailPO.java index b649697a9..6ab225ed3 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/RStatTractionStationAccountDetailPO.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/RStatTractionStationAccountDetailPO.java @@ -7,7 +7,7 @@ import java.io.Serializable; import java.util.Date; /** - * 牵引站台账数据质量问题-核查详情(RStatTractionStationAccountDetail)实体类 + * 台账数据质量问题-核查详情(RStatTractionStationAccountDetail)实体类 * * @author yzh * @since 2022-11-09 09:42:42 diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/SpecialAnalysisMonitorVO.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/SpecialAnalysisMonitorVO.java new file mode 100644 index 000000000..eec279fb4 --- /dev/null +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/SpecialAnalysisMonitorVO.java @@ -0,0 +1,222 @@ +package com.njcn.device.pms.pojo.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; +import java.util.Map; + +/** + * 专项分析 + * @author wr + */ +@Data +public class SpecialAnalysisMonitorVO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 监测点信息 + */ + @ApiModelProperty(name = "specialAnalysisVOList", value = "监测点信息") + List specialAnalysisVOList; + + /** + * 电压等级分布(监测点) + */ + @ApiModelProperty(name = "voltageLevelMap", value = "电压等级分布(监测点)") + List> voltageLevelMap; + + /** + * 同环比详细数据 + */ +// @ApiModelProperty(name = "compareVOMap", value = "同比环比详细数据") +// Map compareVOMap; + + /** + * 监测点信息 + */ + @Data + public static class SpecialAnalysisVO { + private static final long serialVersionUID = 1L; + + /** + * 监测点ID + */ + @ApiModelProperty(name = "id", value = "监测点ID") + private String id; + + /** + * 监测点名称 + */ + @ApiModelProperty(name = "name", value = "监测点名称") + private String name; + + /** + * 电站ID(外键) + */ + @ApiModelProperty(name = "powerrId", value = "电站ID(外键)") + private String powerrId; + + /** + * 变电站名称 + */ + @ApiModelProperty(name = "powerrName", value = "变电站名称") + private String powerrName; + + /** + * 经度 + */ + @ApiModelProperty(name = "longitude", value = "经度") + private Double longitude; + + /** + * 维度 + */ + @ApiModelProperty(name = "latitude", value = "维度") + private Double latitude; + + /** + * 电压等级(字典) + */ + @ApiModelProperty(name = "voltageLevel", value = "电压等级(字典)") + private String voltageLevel; + + /** + * 监测点容量 + */ + @ApiModelProperty(name = "capacity", value = "监测点容量") + private Double capacity; + + /** + * 监测点标签 + */ + @ApiModelProperty(name = "monitorTag", value = "监测点标签") + private String monitorTag; + + /** + * 关联的监测终端编号(外键) + */ + @ApiModelProperty(name = "terminalId", value = "关联的监测终端编号(外键)") + private String terminalId; + } + + + /** + * 数据比较 + */ + @Data + public static class CompareVO { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(name = "tractionStation", value = "名称") + private String name; + + @ApiModelProperty(name = "tractionStation", value = "牵引站数量") + private String tractionStation; + + @ApiModelProperty(name = "num", value = "监测点数量") + private String num; + + @ApiModelProperty(name = "ytbSumNum", value = "同比数量") + private String ytbSumNum; + + @ApiModelProperty(name = "yhbSumNum", value = "环比数量") + private String yhbSumNum; + + @ApiModelProperty(name = "sameNum", value = "监测点数量同比") + private String sameNum; + + @ApiModelProperty(name = "ringNum", value = "监测点数量环比") + private String ringNum; + + + } + + /** + * 接线类型详细信息 + */ + @Data + public static class WiringTypeDetail { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(name = "connet_group_way", value = "接线类型") + private String connetGroupWay; + + @ApiModelProperty(name = "num", value = "牵引站数量") + private String num; + + @ApiModelProperty(name = "rateAvg", value = "负载量(平均值)") + private String rateAvg; + + @ApiModelProperty(name = "rate95", value = "负载量(95值)") + private String rate95; + + @ApiModelProperty(name = "rate99", value = "负载量(99值)") + private String rate99; + + } + + @Data + public static class CompareDetailVO { + private static final long serialVersionUID = 1L; + + /** + * 风电场 same同比 ring环比 + */ + private String sumNum; + private String ytbSumNum; + private String yhbSumNum; + private String sameNum; + private String ringNum; + private String capacity; + private String ytbCapacity; + private String yhbCapacity; + private String sameCapacity; + private String ringCapacity; + + /** + * 光伏电站 same同比 ring环比 + */ + private String sumNum2; + private String ytbSumNum2; + private String yhbSumNum2; + private String sameNum2; + private String ringNum2; + private String capacity2; + private String ytbCapacity2; + private String yhbCapacity2; + private String sameCapacity2; + private String ringCapacity2; + + /** + * 电气化铁路 same同比 ring环比 + */ + private String sumNum3; + private String ytbSumNum3; + private String yhbSumNum3; + private String sameNum3; + private String ringNum3; + private String capacity3; + private String ytbCapacity3; + private String yhbCapacity3; + private String sameCapacity3; + private String ringCapacity3; + + /** + * 冶炼负荷 same同比 ring环比 + */ + private String sumNum4; + private String ytbSumNum4; + private String yhbSumNum4; + private String sameNum4; + private String ringNum4; + private String capacity4; + private String ytbCapacity4; + private String yhbCapacity4; + private String sameCapacity4; + private String ringCapacity4; + + } +} diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/distribution/PwMonitorController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/distribution/PwMonitorController.java index 0a48076bb..bb4067d47 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/distribution/PwMonitorController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/distribution/PwMonitorController.java @@ -60,7 +60,25 @@ public class PwMonitorController extends BaseController { } } - + /** + * 获取分布式光伏配网所有监测点信息 + * + * @param pwPmsMonitorParam 参数条件 + * @return 配网所有监测点信息 + */ + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getPwPhotovoltaicMonitorList") + @ApiOperation("获取分布式光伏配网所有监测点信息") + @ApiImplicitParam(name = "pwPmsMonitorParam",value = "获取分布式光伏配网所有监测点信息",required = true) + public HttpResult> getPwPhotovoltaicMonitorList(@RequestBody @Validated PwPmsMonitorParam pwPmsMonitorParam) { + String methodDescribe = getMethodDescribe("getPwPhotovoltaicMonitorList"); + List monitorList = iPwMonitorService.getPwPhotovoltaicMonitorList(pwPmsMonitorParam); + if (CollectionUtil.isEmpty(monitorList)) { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.NO_DATA, null, methodDescribe); + } else { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, monitorList, methodDescribe); + } + } } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/DistributionMonitorController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/DistributionMonitorController.java index cf2ef54d0..5d28e6744 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/DistributionMonitorController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/DistributionMonitorController.java @@ -15,6 +15,7 @@ import com.njcn.device.pms.pojo.vo.DoubleUserVO; import com.njcn.device.pms.service.majornetwork.IDistributionMonitorService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -76,6 +77,25 @@ public class DistributionMonitorController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, res, methodDescribe); } + /** + * 按部门获取旗下配网所有监测点(分一类,二类,三类) + * @author clam + * @date 2022/11/29 + */ + @PostMapping("distributionMonitorListByCondition") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("按部门获取旗下配网所有监测点(分一类,二类,三类)") + @ApiImplicitParams({ + @ApiImplicitParam(name = "orgId", value = "机构编号", required = true), + @ApiImplicitParam(name = "monitorSort", value = "监测点分类",required = true), + + }) + public HttpResult> distributionMonitorListByCondition(@RequestParam("orgId")String orgId,@RequestParam("monitorSort")String monitorSort){ + String methodDescribe = getMethodDescribe("distributionMonitorList"); + List res = iDistributionMonitorService.distributionMonitorListByCondition(orgId,monitorSort); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, res, methodDescribe); + } + /** * 获取指定组织下的发电用电用户 diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/SpecialAnalysisController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/SpecialAnalysisController.java new file mode 100644 index 000000000..80a13d5f8 --- /dev/null +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/SpecialAnalysisController.java @@ -0,0 +1,122 @@ +package com.njcn.device.pms.controller.majornetwork; + + +import com.njcn.common.pojo.annotation.OperateInfo; +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.pms.pojo.param.SpecialAnalysisParam; +import com.njcn.device.pms.pojo.vo.SpecialAnalysisMonitorVO; +import com.njcn.device.pms.service.majornetwork.SpecialAnalysisService; +import com.njcn.web.controller.BaseController; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +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 java.util.List; + +/** + *

+ * 专项分析-地图展示数据 + *

+ * + * @author wr + * @since 2022-11-30 + */ +@RestController +@Api(tags = "专项分析-地图展示数据") +@RequiredArgsConstructor +@RequestMapping("/SpecialAnalysisController") +public class SpecialAnalysisController extends BaseController { + + private final SpecialAnalysisService specialAnalysisService; + + /** + * 获取专项分析-地图展示数据 + * + * @param param 前端传入参数 + * @return 专项分析-地图展示数据 + */ + @PostMapping("/getMapDisplay") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("地图展示数据-地图监测点(风电场,光伏电站,冶炼负荷)") + @ApiImplicitParam(name = "param", value = "条件参数", required = true) + public HttpResult getMapDisplay(@RequestBody SpecialAnalysisParam param) { + String methodDescribe = getMethodDescribe("getMapDisplay"); + SpecialAnalysisMonitorVO sm= specialAnalysisService.getMonitorList(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, sm, methodDescribe); + } + + /** + * 获取专项分析-地图展示数据 + * + * @param param 前端传入参数 + * @return 专项分析-地图展示数据 + */ + @PostMapping("/getYoYList") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("地图展示数据-数据同比环比(风电场,光伏电站,冶炼负荷)") + @ApiImplicitParam(name = "param", value = "条件参数", required = true) + public HttpResult getYoYList(@RequestBody SpecialAnalysisParam.CompareDateParam param) { + String methodDescribe = getMethodDescribe("getYoYList"); + SpecialAnalysisMonitorVO.CompareDetailVO vo = specialAnalysisService.getYoYList(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, vo, methodDescribe); + } + + /** + * 获取专项分析-地图展示数据 + * + * @param param 前端传入参数 + * @return 专项分析-地图展示数据 + */ + @PostMapping("/getDisplayRailway") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("地图展示数据-地图监测点(电气化铁路)") + @ApiImplicitParam(name = "param", value = "条件参数", required = true) + public HttpResult> getDisplayRailway(@RequestBody SpecialAnalysisParam param) { + String methodDescribe = getMethodDescribe("getDisplayRailway"); + List sm= specialAnalysisService.getDisplayRailway(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, sm, methodDescribe); + } + + /** + * 获取专项分析-地图展示数据 + * + * @param param 前端传入参数 + * @return 专项分析-地图展示数据 + */ + @PostMapping("/getMapDisplayRailway") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("地图展示数据-按电压展示数据(电气铁路)") + @ApiImplicitParam(name = "param", value = "条件参数", required = true) + public HttpResult> getMapDisplayRailway(@RequestBody SpecialAnalysisParam.CompareParam param) { + String methodDescribe = getMethodDescribe("getMapDisplayRailway"); + List sm= specialAnalysisService.getMapDisplayRailway(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, sm, methodDescribe); + } + + /** + * 获取专项分析-地图展示数据 + * + * @param param 前端传入参数 + * @return 专项分析-地图展示数据 + */ + @PostMapping("/getWiringTypeRailway") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("地图展示数据-按接线类型展示(电气化铁路)") + @ApiImplicitParam(name = "param", value = "条件参数", required = true) + public HttpResult> getWiringTypeRailway(@RequestBody SpecialAnalysisParam.CompareDateParam param) { + String methodDescribe = getMethodDescribe("getWiringTypeRailway"); + List sm= specialAnalysisService.getWiringTypeRailway(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, sm, methodDescribe); + } + + +} + diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/distribution/PwMonitorMapper.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/distribution/PwMonitorMapper.java index f0c22b434..2e57897e0 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/distribution/PwMonitorMapper.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/distribution/PwMonitorMapper.java @@ -23,4 +23,14 @@ public interface PwMonitorMapper { */ List getPwMonitorDataList(@Param("deptIdList") List deptIdList, @Param("pwPmsMonitorParam") PwPmsMonitorParam pwPmsMonitorParam); + + /** + * 获取分布式光伏配网所有监测点信息 + * + * @param deptIdList 所有子部门索引 + * @param pwPmsMonitorParam 查询条件 + * @return 配网监测点信息 + */ + List getPwPhotovoltaicMonitorList(@Param("deptIdList") List deptIdList, + @Param("pwPmsMonitorParam") PwPmsMonitorParam pwPmsMonitorParam); } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/distribution/mapping/PwMonitorMapper.xml b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/distribution/mapping/PwMonitorMapper.xml index 46409a8b6..569554e3d 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/distribution/mapping/PwMonitorMapper.xml +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/distribution/mapping/PwMonitorMapper.xml @@ -123,5 +123,94 @@ AND monitor.`Name` LIKE CONCAT('%',#{pwPmsMonitorParam.monitorName},'%') + \ No newline at end of file diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/DistributionMonitorMapper.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/DistributionMonitorMapper.java index 81d6be097..6041299d1 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/DistributionMonitorMapper.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/DistributionMonitorMapper.java @@ -12,6 +12,7 @@ import com.njcn.device.pms.pojo.po.PowerDistributionarea; import com.njcn.device.pms.pojo.vo.DoubleUserVO; import com.njcn.device.pms.pojo.vo.PmsPowerTreeMonitorVO; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -63,4 +64,5 @@ public interface DistributionMonitorMapper extends BaseMapper getThreeMonitorByOrgIdFa(Page page, @Param("taiZhangParam")TaiZhangParam taiZhangParam, @Param("deptIds")List deptIds); + List distributionMonitorListByCondition(@Param("deptIds")List deptIds, @Param("monitorSort")String monitorSort); } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/SpecialAnalysisMapper.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/SpecialAnalysisMapper.java new file mode 100644 index 000000000..518b5afea --- /dev/null +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/SpecialAnalysisMapper.java @@ -0,0 +1,60 @@ +package com.njcn.device.pms.mapper.majornetwork; + +import com.njcn.device.pms.pojo.param.SpecialAnalysisParam; +import com.njcn.device.pms.pojo.vo.SpecialAnalysisMonitorVO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * <专项分析-电气化铁路> + * + * @author wr + * @createTime: 2022-12-01 + */ +public interface SpecialAnalysisMapper { + + /** + * 专项分析-地图数据展示 + * @param deptIdList 部门集合(Code) + * @param monitorTags 监测标签(字典) + * @return + */ + List selectList(@Param("deptIdList") List deptIdList, + @Param("monitorTags") String monitorTags); + + /** + * 同比环比数据(风电场,光伏电站,冶炼负荷) + * @param deptIdList + * @param param + * @return + */ + SpecialAnalysisMonitorVO.CompareDetailVO selectYoYList(@Param("deptIdList") List deptIdList, + @Param("param")SpecialAnalysisParam.CompareDateParam param); + + /** + * 专项分析-地图数据展示 + * @param deptIdList 部门集合(Code) + * @return + */ + List selectRailwayList(@Param("deptIdList") List deptIdList); + + + /** + * 地图展示数据-按电压展示数据(电气铁路) + * @param deptIdList 部门集合(Code) + * @param param + * @return + */ + List selectMapDisplayRailway(@Param("deptIdList") List deptIdList, + @Param("param")SpecialAnalysisParam.CompareParam param); + + /** + * 地图展示数据-按接线类型展示(电气化铁路) + * @param deptIdList + * @param param + * @return + */ + List selectWiringTypeRailway(@Param("deptIdList") List deptIdList, + @Param("param")SpecialAnalysisParam.CompareDateParam param); +} diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/DistributionMonitorMapper.xml b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/DistributionMonitorMapper.xml index 0c2eaaddb..35eafc447 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/DistributionMonitorMapper.xml +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/DistributionMonitorMapper.xml @@ -57,7 +57,7 @@ #{item} - + and a.name like concat('%',#{taiZhangParam.searchValue},'%') and a.status = 1 @@ -71,7 +71,7 @@ #{item} - + and a.name like concat('%',#{taiZhangParam.searchValue},'%') and a.status = 1 @@ -87,7 +87,7 @@ #{item} - + and yong.name like concat('%',#{taiZhangParam.searchValue},'%') and dis.status = 1 @@ -104,11 +104,72 @@ #{item} - + and fa.name like concat('%',#{taiZhangParam.searchValue},'%') and dis.status = 1 + diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/RStatMeasurementAccountDetailMapper.xml b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/RStatMeasurementAccountDetailMapper.xml index a36d8c358..694bd851f 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/RStatMeasurementAccountDetailMapper.xml +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/RStatMeasurementAccountDetailMapper.xml @@ -22,5 +22,11 @@ #{item} + + AND DATE_FORMAT(data_date, '%Y-%m-%d') >= DATE_FORMAT(#{param.startTime}, '%Y-%m-%d') + + + AND DATE_FORMAT(data_date, '%Y-%m-%d') <= DATE_FORMAT(#{param.endTime}, '%Y-%m-%d') + \ No newline at end of file diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/SpecialAnalysisMapper.xml b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/SpecialAnalysisMapper.xml new file mode 100644 index 000000000..d7a125bb6 --- /dev/null +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/SpecialAnalysisMapper.xml @@ -0,0 +1,363 @@ + + + + + + + + + + \ No newline at end of file diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/TractionStationMapper.xml b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/TractionStationMapper.xml index 5254d6437..ae8b94f88 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/TractionStationMapper.xml +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/TractionStationMapper.xml @@ -5,33 +5,35 @@ + SELECT + event_type, + sum( event_measurement_average )/ count(*) AS eventMeasurementAverage, + sum( event_measurement_accrued ) AS eventMeasurementAccrued, + sum( event_freq )/ count(*) AS eventFreq, + sum( event_count ) AS eventCount, + sum( event_measurement_ratio_average )/ count(*) AS eventMeasurementRatioAverage, + sum( event_measurement_ratio_accrued ) AS eventMeasurementRatioAccrued + FROM + r_stat_event_org_m + + and data_Type=#{dataType} + + AND org_no IN + + #{item} + + + + AND event_type IN + + #{item} + + + + AND data_date >= #{param.startTime} + + + AND data_date <= #{param.endTime} + + + GROUP BY + event_type + diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatEventOrgQMapper.xml b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatEventOrgQMapper.xml index 8ca5d2b09..792b18b35 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatEventOrgQMapper.xml +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatEventOrgQMapper.xml @@ -15,5 +15,40 @@ + diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatEventOrgYMapper.xml b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatEventOrgYMapper.xml index 7149e1523..d8266ee37 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatEventOrgYMapper.xml +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatEventOrgYMapper.xml @@ -15,5 +15,40 @@ + diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RStatEventOrgMServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RStatEventOrgMServiceImpl.java index e120830d1..05925b487 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RStatEventOrgMServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RStatEventOrgMServiceImpl.java @@ -14,6 +14,7 @@ import com.njcn.event.pojo.po.RStatEventOrgM; import com.njcn.event.pojo.vo.RArrayVO; import com.njcn.event.pojo.vo.RStatEventMVO; import com.njcn.event.service.majornetwork.RStatEventOrgMService; +import com.njcn.event.utils.DeptUtil; import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.enums.DicDataEnum; import com.njcn.system.enums.DicDataTypeEnum; @@ -48,7 +49,9 @@ public class RStatEventOrgMServiceImpl extends ServiceImpl getRStatEventOrgMAll(StatisticsBizBaseParam param) { //子节点 获取所有得各单位类型 - List deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + List deptList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + List deptDTOList= DeptUtil.getDeptSubsetVOList(deptList,param.getId()); + //获取部门id集合 List deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList()); Map deptMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity())); @@ -133,8 +136,10 @@ public class RStatEventOrgMServiceImpl extends ServiceImpl getRStatHarmonicOrgMIcon(REventMParam param) { - //各单位类型 - List deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + //各单位 + List deptList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + List deptDTOList= DeptUtil.getDeptSubsetVOList(deptList,param.getId()); + Map deptMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity())); //获取部门id集合 List deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList()); @@ -281,8 +286,10 @@ public class RStatEventOrgMServiceImpl extends ServiceImpl getPwRStatHarmonicOrgMIcon(REventMParam param) { - //各单位类型 - List deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + //各单位 + List deptList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + List deptDTOList= DeptUtil.getDeptSubsetVOList(deptList,param.getId()); + Map deptMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity())); //获取部门id集合 List deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList()); diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RStatEventOrgQServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RStatEventOrgQServiceImpl.java index 4b7816147..2912c2427 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RStatEventOrgQServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RStatEventOrgQServiceImpl.java @@ -14,6 +14,7 @@ import com.njcn.event.pojo.vo.RArrayVO; import com.njcn.event.pojo.vo.RStatEventMVO; import com.njcn.event.service.majornetwork.RStatEventOrgQService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.event.utils.DeptUtil; import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.enums.DicDataEnum; import com.njcn.system.enums.DicDataTypeEnum; @@ -47,7 +48,9 @@ public class RStatEventOrgQServiceImpl extends ServiceImpl getRStatEventOrgQAll(StatisticsBizBaseParam param) { //子节点 获取所有得各单位类型 - List deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + List deptList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + List deptDTOList= DeptUtil.getDeptSubsetVOList(deptList,param.getId()); + //获取部门id集合 List deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList()); Map deptMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity())); @@ -132,8 +135,10 @@ public class RStatEventOrgQServiceImpl extends ServiceImpl getRStatHarmonicOrgQIcon(REventMParam param) { - //各单位类型 - List deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + //各单位 + List deptList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + List deptDTOList= DeptUtil.getDeptSubsetVOList(deptList,param.getId()); + Map deptMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity())); //获取部门id集合 List deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList()); @@ -281,8 +286,10 @@ public class RStatEventOrgQServiceImpl extends ServiceImpl getPwRStatHarmonicOrgQIcon(REventMParam param) { - //各单位类型 - List deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + //各单位 + List deptList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + List deptDTOList= DeptUtil.getDeptSubsetVOList(deptList,param.getId()); + Map deptMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity())); //获取部门id集合 List deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList()); diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RStatEventOrgYServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RStatEventOrgYServiceImpl.java index 7889f6af8..0400c2aad 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RStatEventOrgYServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RStatEventOrgYServiceImpl.java @@ -3,17 +3,26 @@ package com.njcn.event.service.majornetwork.Impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.Assert; +import cn.hutool.core.lang.Console; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.njcn.common.pojo.constant.BizParamConstant; import com.njcn.common.pojo.param.StatisticsBizBaseParam; +import com.njcn.event.mapper.majornetwork.RStatEventOrgMMapper; +import com.njcn.event.mapper.majornetwork.RStatEventOrgQMapper; import com.njcn.event.pojo.param.REventMParam; +import com.njcn.event.pojo.param.StatSubstationBizBaseParam; +import com.njcn.event.pojo.po.RStatEventOrgQ; import com.njcn.event.pojo.po.RStatEventOrgY; import com.njcn.event.mapper.majornetwork.RStatEventOrgYMapper; +import com.njcn.event.pojo.vo.DeptLevelVO; import com.njcn.event.pojo.vo.RArrayVO; import com.njcn.event.pojo.vo.RStatEventMVO; +import com.njcn.event.pojo.vo.RStatEventVO; import com.njcn.event.service.majornetwork.RStatEventOrgYService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.event.utils.DeptUtil; import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.enums.DicDataEnum; import com.njcn.system.enums.DicDataTypeEnum; @@ -43,97 +52,121 @@ public class RStatEventOrgYServiceImpl extends ServiceImpl getRStatEventOrgYAll(StatisticsBizBaseParam param) { + //对象主节点 获取所有得指标类型 + List steadyData = dicDataFeignClient.getDicDataByTypeCode + (DicDataTypeEnum.EVENT_STATIS.getCode()).getData(); + List steadyDataIds = steadyData.stream().map(DictData::getId).collect(Collectors.toList()); + Map lineTypeMap = steadyData.stream() + .collect(Collectors.toMap(DictData::getId, Function.identity())); + //子节点 获取所有得各单位类型 List deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); - //获取部门id集合 - List deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList()); - Map deptMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity())); + //获取子部门(按照code改变数据结构) + List deptLevelVOList = DeptUtil.getDeptLevelVOList(deptDTOList, param.getId()); + Map deptMap = deptLevelVOList.stream().collect(Collectors.toMap(DeptLevelVO::getCode, Function.identity())); - //对象主节点 获取所有得暂降类型 - List lineTypeData = dicDataFeignClient.getDicDataByTypeCode( - DicDataTypeEnum.EVENT_STATIS.getCode()).getData(); - Map lineTypeMap = lineTypeData.stream() - .collect(Collectors.toMap(DictData::getId, Function.identity())); //获取主网id信息 DictData mainnetData = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData(); - //数据库查询 - List list = statEventOrgYMapper.selectList(new LambdaQueryWrapper() - .eq(RStatEventOrgY::getDataType, mainnetData.getId()) - .in(RStatEventOrgY::getOrgNo, deptIds) - .ge(param.getStartTime() != null, RStatEventOrgY::getDataDate, param.getStartTime()) - .le(param.getEndTime() != null, RStatEventOrgY::getDataDate, param.getEndTime())); - + StatSubstationBizBaseParam baseParam; //初始化指标类型(横向) List arrayVOList = new ArrayList<>(); - List rm = new ArrayList<>(); - for (DeptDTO deptDTO : deptDTOList) { - RStatEventMVO r = new RStatEventMVO(); - r.setEventName(deptDTO.getName()); - r.setSort(deptDTO.getSort()); - r.setEventMeasurementAverage(0); - r.setEventMeasurementAccrued(0); - r.setEventFreq(0.0F); - r.setEventCount(0); - r.setEventMeasurementRatioAverage(0.0F); - r.setEventMeasurementRatioAccrued(0.0F); - rm.add(r); + List newList=new ArrayList<>(); + for (DeptLevelVO deptLevelVO : deptLevelVOList) { + //数据库查询 + baseParam=BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class); + //没有子部门说明就是最底层部门 + if(CollUtil.isNotEmpty(deptLevelVO.getDeptList())){ + List deptCodeS = deptLevelVO.getDeptList().stream().map(DeptLevelVO::getCode).collect(Collectors.toList()); + baseParam.setIds(deptCodeS); + }else{ + baseParam.setIds(Arrays.asList(deptLevelVO.getCode())); + } + //区分 年 季 月 + String string = param.getType().toString(); + List list = new ArrayList<>(); + switch (string) { + //查询各单位累计超标监测点数-年数据 + case BizParamConstant.STAT_BIZ_YEAR: + list = statEventOrgYMapper.selectInfoList(baseParam,steadyDataIds,mainnetData.getId()); + break; + //查询各单位累计超标监测点数-季数据 + case BizParamConstant.STAT_BIZ_QUARTER: + list = statEventOrgQMapper.selectInfoList(baseParam,steadyDataIds,mainnetData.getId()); + break; + //查询各单位累计超标监测点数-月数据 + case BizParamConstant.STAT_BIZ_MONTH: + list = statEventOrgMMapper.selectInfoList(baseParam,steadyDataIds,mainnetData.getId()); + break; + default: + break; + } + //获取数据库数据 + Map orgMap = list.stream() + .collect(Collectors.toMap(RStatEventVO::getEventType, Function.identity())); + + List notMeasurementList = steadyData.stream().filter(r -> !orgMap.containsKey(r.getId())) + .collect(Collectors.toList()); + for (RStatEventVO org : list) { + org.setOrgNo(deptLevelVO.getCode()); + } + RStatEventVO org; + for (DictData notData : notMeasurementList) { + org=new RStatEventVO(); + org.setOrgNo(deptLevelVO.getCode()); + org.setEventType(notData.getId()); + org.setEventMeasurementAverage(0); + org.setEventMeasurementAccrued(0); + org.setEventFreq(0.0F); + org.setEventCount(0); + org.setEventMeasurementRatioAverage(0.0F); + org.setEventMeasurementRatioAccrued(0.0F); + list.add(org); + } + newList.addAll(list); } - for (DictData lineTypeDatum : lineTypeData) { - RArrayVO r = new RArrayVO(); - r.setRowName(lineTypeDatum.getName()); - r.setColumns(rm); - r.setSort(lineTypeDatum.getSort()); - arrayVOList.add(r); - } - //根据检测点对象分组 - Map> measurementTypeClassMap = list.stream().collect(Collectors.groupingBy(RStatEventOrgY::getEventType)); + + Map> harmonicMap = + newList.stream().collect(Collectors.groupingBy(RStatEventVO::getEventType)); + //重新生成数据结构 - measurementTypeClassMap.forEach((key, value) -> { - if (lineTypeMap.containsKey(key)) { - RArrayVO arrayVO = new RArrayVO(); + harmonicMap.forEach((key, value) -> { + if(lineTypeMap.containsKey(key)){ + RArrayVO arrayVO=new RArrayVO(); DictData data = lineTypeMap.get(key); arrayVO.setRowName(data.getName()); arrayVO.setSort(data.getSort()); - List b = new ArrayList<>(); - b.addAll(rm); - for (RStatEventOrgY orgY : value) { - if (deptMap.containsKey(orgY.getOrgNo())) { - RStatEventMVO r = BeanUtil.copyProperties(orgY, RStatEventMVO.class); - DeptDTO data1 = deptMap.get(orgY.getOrgNo()); + List b=new ArrayList<>(); + for (RStatEventVO orgY : value) { + RStatEventMVO r = BeanUtil.copyProperties(orgY, RStatEventMVO.class); + DeptLevelVO data1 = deptMap.get(orgY.getOrgNo()); + if (ObjectUtil.isNotNull(data1)){ r.setEventName(data1.getName()); r.setSort(data1.getSort()); b.add(r); } - } - Map linkedHashMap = new LinkedHashMap<>(); - for (RStatEventMVO harmonicMVO : b) { - linkedHashMap.put(harmonicMVO.getEventName(), harmonicMVO); - } - List aa = new ArrayList<>(linkedHashMap.values()); - aa.sort(Comparator.comparing(rStatEventMVO -> rStatEventMVO.getSort())); - arrayVO.setColumns(aa); + b.sort(Comparator.comparing(rStatHarmonicMVO -> rStatHarmonicMVO.getSort())); + arrayVO.setColumns(b); arrayVOList.add(arrayVO); } - }); - Map linkedHashMap = new LinkedHashMap<>(); - for (RArrayVO rArrayVO : arrayVOList) { - linkedHashMap.put(rArrayVO.getRowName(), rArrayVO); - } - List aa = new ArrayList<>(linkedHashMap.values()); arrayVOList.sort(Comparator.comparing(rArrayVO -> rArrayVO.getSort())); - return aa; + return arrayVOList; } @Override public List getRStatHarmonicOrgYIcon(REventMParam param) { - //各单位类型 - List deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + //各单位 + List deptList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + List deptDTOList= DeptUtil.getDeptSubsetVOList(deptList,param.getId()); + + Map deptMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity())); //获取部门id集合 List deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList()); @@ -281,8 +314,11 @@ public class RStatEventOrgYServiceImpl extends ServiceImpl getPwRStatHarmonicOrgYIcon(REventMParam param) { - //各单位类型 - List deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + //各单位 + List deptList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + List deptDTOList= DeptUtil.getDeptSubsetVOList(deptList,param.getId()); + + Map deptMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity())); //获取部门id集合 List deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList()); @@ -354,6 +390,88 @@ public class RStatEventOrgYServiceImpl extends ServiceImpl getRStatEventOrgOldYAll(StatisticsBizBaseParam param, Integer type) { + //对象主节点 获取所有得暂降类型 + List eventData = dicDataFeignClient.getDicDataByTypeCode( + DicDataTypeEnum.EVENT_STATIS.getCode()).getData(); + Map eventMap = eventData.stream() + .collect(Collectors.toMap(DictData::getId, Function.identity())); + + //子节点 获取所有得各单位类型 + List deptList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + List deptDTOList= DeptUtil.getDeptSubsetVOList(deptList,param.getId()); + + //获取部门id集合 + List deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList()); + Map deptMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity())); + + DictData dictData ; + if(type==1){ + //获取主网信息 + dictData = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData(); + }else{ + //获取配网信息 + dictData = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData(); + } + //数据库查询 + List list = statEventOrgYMapper.selectList(new LambdaQueryWrapper() + .eq(RStatEventOrgY::getDataType, dictData.getId()) + .in(RStatEventOrgY::getOrgNo, deptIds) + .ge(param.getStartTime() != null, RStatEventOrgY::getDataDate, param.getStartTime()) + .le(param.getEndTime() != null, RStatEventOrgY::getDataDate, param.getEndTime())); + + //初始化指标类型(横向) + List arrayVOList = new ArrayList<>(); + //根据检测点对象分组 + Map> measurementTypeClassMap = list.stream().collect(Collectors.groupingBy(RStatEventOrgY::getEventType)); + //判断对象是否为空 + if (CollUtil.isNotEmpty(list)) { + //重新生成数据结构 + measurementTypeClassMap.forEach((key, value) -> { + if (eventMap.containsKey(key)) { + List eventVO = new ArrayList<>(); + RArrayVO arrayVO = new RArrayVO(); + DictData data = eventMap.get(key); + arrayVO.setRowName(data.getName()); + arrayVO.setSort(data.getSort()); + for (RStatEventOrgY org : value) { + if(deptMap.containsKey(org.getOrgNo())){ + RStatEventMVO r = BeanUtil.copyProperties(org, RStatEventMVO.class); + DeptDTO deptDTO = deptMap.get(org.getOrgNo()); + r.setEventName(deptDTO.getName()); + r.setSort(deptDTO.getSort()); + eventVO.add(r); + } + + } + //根据监测点类别获取差集 + Map> listMap = value.stream().collect(Collectors.groupingBy(RStatEventOrgY::getEventType)); + List notDeptList = deptDTOList.stream().filter(r -> !listMap.containsKey(r.getId())) + .collect(Collectors.toList()); + this.assignDept(notDeptList, eventVO, arrayVO); + eventVO.sort(Comparator.comparing(rStatEventMVO -> rStatEventMVO.getSort())); + arrayVOList.add(arrayVO); + } + }); + } + + //处理主节点不存在的集合 + List notMeasurementList = eventData.stream().filter(r -> !measurementTypeClassMap.containsKey(r.getId())) + .collect(Collectors.toList()); + for (DictData notData : notMeasurementList) { + List eventVO = new ArrayList<>(); + RArrayVO arrayVO = new RArrayVO(); + arrayVO.setRowName(notData.getName()); + arrayVO.setSort(notData.getSort()); + this.assignDept(deptDTOList, eventVO, arrayVO); + eventVO.sort(Comparator.comparing(rStatEventMVO -> rStatEventMVO.getSort())); + arrayVOList.add(arrayVO); + } + arrayVOList.sort(Comparator.comparing(rArrayVO -> rArrayVO.getSort())); + return arrayVOList; + } + /** * 便利赋值 * diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RmpEventDetailServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RmpEventDetailServiceImpl.java index 355bb629c..5183c7b85 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RmpEventDetailServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RmpEventDetailServiceImpl.java @@ -21,7 +21,9 @@ import com.njcn.system.pojo.po.DictData; import com.njcn.user.api.DeptFeignClient; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; import java.util.Collections; import java.util.List; @@ -78,21 +80,24 @@ public class RmpEventDetailServiceImpl extends ServiceImpl detailsOfTransientEvents = rmpEventDetailMapper.getDetailsOfTransientEvents(monitorIds, param.getEventType(), param.getStartTime(), param.getEndTime()); - if (CollectionUtil.isEmpty(detailsOfTransientEvents)) { - return Collections.emptyList(); - } // 查询监测点信息 PmsMonitorParam pmsMonitorParam = new PmsMonitorParam(); + if (!StringUtils.isEmpty(param.getMonitorName())){ + pmsMonitorParam.setMonitorName(param.getMonitorName()); + } pmsMonitorParam.setMonitorIds(monitorIds); List monitorInfo = monitorClient.getMonitorInfoListByCond(pmsMonitorParam).getData(); if (CollectionUtil.isEmpty(monitorInfo)) { return Collections.emptyList(); } - // 蒋单位信息转成map集合 - Map> deptMap = data.stream().collect(Collectors.groupingBy(PmsGeneralDeviceDTO::getIndex)); + // 取出所有监测点 + List monitorList = monitorInfo.stream().map(PmsMonitorDTO::getId).collect(Collectors.toList()); + // 获取暂态事件明细 + List detailsOfTransientEvents = rmpEventDetailMapper.getDetailsOfTransientEvents(monitorList, param.getEventType(), param.getStartTime(), param.getEndTime()); + if (CollectionUtil.isEmpty(detailsOfTransientEvents)) { + return Collections.emptyList(); + } + // 蒋监测点信息转换成map集合 Map monitorInfoMap = monitorInfo.stream().collect(Collectors.toMap(PmsMonitorDTO::getId, PmsMonitorDTO::getName)); // 将事件类型转换成map集合 @@ -102,16 +107,9 @@ public class RmpEventDetailServiceImpl extends ServiceImpl { RmpEventDetailVO vo = new RmpEventDetailVO(); for (PmsGeneralDeviceDTO dto : data) { - if (dto.getMonitorIdList().contains(po.getMeasurementPointId())){ + if (dto.getMonitorIdList().contains(po.getMeasurementPointId())) { + BeanUtils.copyProperties(po, vo); vo.setDeptName(dto.getName()); - vo.setEventId(po.getEventId()); - vo.setMeasurementPointId(po.getMeasurementPointId()); - vo.setEventType(po.getEventType()); - vo.setPhase(po.getPhase()); - vo.setStartTime(po.getStartTime()); - vo.setDuration(po.getDuration()); - vo.setFeatureAmplitude(po.getFeatureAmplitude()); - vo.setWavePath(po.getWavePath()); vo.setMonitorSort(monitorSort); vo.setMeasurementPointName(monitorInfoMap.get(po.getMeasurementPointId())); vo.setEventType(eventStatisDataMap.get(po.getEventType())); diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/StatisticsOfTransientIndicatorssServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/StatisticsOfTransientIndicatorssServiceImpl.java index 47927b790..c95342e41 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/StatisticsOfTransientIndicatorssServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/StatisticsOfTransientIndicatorssServiceImpl.java @@ -252,7 +252,7 @@ public class StatisticsOfTransientIndicatorssServiceImpl implements StatisticsOf // 查询变电站信息 PmsStatationStatInfoParam pmsStatationStatInfoParam = new PmsStatationStatInfoParam(); pmsStatationStatInfoParam.setOrgIds(deptCode); - if (StringUtils.isEmpty(param.getSubName())) { + if (!StringUtils.isEmpty(param.getSubName())) { pmsStatationStatInfoParam.setPowerName(param.getSubName()); } List powerInfo = statationStatClient.getPowerInfo(pmsStatationStatInfoParam).getData(); diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/RStatEventOrgYService.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/RStatEventOrgYService.java index 9ad1c4aca..37e84fd7f 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/RStatEventOrgYService.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/RStatEventOrgYService.java @@ -20,7 +20,7 @@ import java.util.List; public interface RStatEventOrgYService extends IService { /** - * 主网查询查询各单位暂态指标 日/月点数(年) + * 主网查询查询各单位暂态指标 日/月点数(年)(暂不使用,递归子部门统计) * * @param param * @return @@ -50,4 +50,13 @@ public interface RStatEventOrgYService extends IService { * @return */ List getPwRStatHarmonicOrgYIcon(REventMParam param); + + /** + * 主网查询查询各单位暂态指标 日/月点数(年) + * @param param + * @param type 区分主配网 + * @return + */ + List getRStatEventOrgOldYAll(StatisticsBizBaseParam param, Integer type); + } diff --git a/pqs-gateway/src/main/resources/bootstrap.yml b/pqs-gateway/src/main/resources/bootstrap.yml index 17ea7c0fb..3cf1f8e3d 100644 --- a/pqs-gateway/src/main/resources/bootstrap.yml +++ b/pqs-gateway/src/main/resources/bootstrap.yml @@ -140,14 +140,15 @@ whitelist: - /swagger-resources/** - /*/v2/api-docs - /favicon.ico - - /device-boot/** - - /system-boot/** - - /harmonic-boot/** - - /energy-boot/** - - /event-boot/** - - /quality-boot/** - - /harmonic-prepare/** - - /process-boot/** + - /system-boot/theme/getTheme +# - /device-boot/** +# - /system-boot/** +# - /harmonic-boot/** +# - /energy-boot/** +# - /event-boot/** +# - /quality-boot/** +# - /harmonic-prepare/** +# - /process-boot/** mqtt: diff --git a/pqs-harmonic/harmonic-api/pom.xml b/pqs-harmonic/harmonic-api/pom.xml index 50fd29d1b..246ddc258 100644 --- a/pqs-harmonic/harmonic-api/pom.xml +++ b/pqs-harmonic/harmonic-api/pom.xml @@ -38,6 +38,11 @@ common-poi ${project.version} + + com.njcn + user-api + ${project.version} + com.njcn pms-device-api diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/PowerQualityParam.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/PowerQualityParam.java index 3d2353bc9..fb548a6bb 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/PowerQualityParam.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/PowerQualityParam.java @@ -39,4 +39,11 @@ public class PowerQualityParam extends StatisticsBizBaseParam { @ApiModelProperty(value = "监测点类别",required = true) private List monitorSort;; } + + @Data + public static class PowerQualityInfoParam extends PowerQualityParam{ + + @ApiModelProperty(value = "监测点标签",required = true) + private String monitorTag; + } } diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpPartHarmonicDetailD.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpPartHarmonicDetailD.java index 01fae30ed..c481b045c 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpPartHarmonicDetailD.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpPartHarmonicDetailD.java @@ -1,10 +1,9 @@ package com.njcn.harmonic.pojo.po; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; @@ -17,7 +16,7 @@ import java.time.LocalDate; *

* * @author rui.wu - * @since 2022-10-24 + * @since 2022-10-2433333333333 */ @Data @EqualsAndHashCode(callSuper = false) @@ -25,356 +24,704 @@ import java.time.LocalDate; @ApiModel(value="RMpPartHarmonicDetailD对象", description="") public class RMpPartHarmonicDetailD implements Serializable { - private static final long serialVersionUID = 1L; - - @ApiModelProperty(value = "监测点ID") - @TableId(value = "measurement_point_id", type = IdType.ASSIGN_ID) + /** + * 监测点ID + */ + @MppMultiId(value = "measurement_point_id") private String measurementPointId; - @ApiModelProperty(value = "生成数据的时间,每月统计一次") + /** + * 生成数据的时间,每月统计一次 + */ + @MppMultiId(value = "data_date") private LocalDate dataDate; - @ApiModelProperty(value = "稳态指标是否超标(0:否 1:是)") + /** + * 稳态指标是否超标(0:否 1:是) + */ + @TableField(value = "is_harmonic") private Integer isHarmonic; - @ApiModelProperty(value = "频率偏差是否超标(0:否 1:是)") + /** + * 频率偏差是否超标(0:否 1:是) + */ + @TableField(value = "is_freq") private Integer isFreq; - @ApiModelProperty(value = "频率偏差超标次数") + /** + * 频率偏差超标次数 + */ + @TableField(value = "freq_times") private Integer freqTimes; - @ApiModelProperty(value = "电压上偏差是否超标(0:否 1:是)") + /** + * 电压上偏差是否超标(0:否 1:是) + */ + @TableField(value = "is_v_dev_up") private Integer isVDevUp; - @ApiModelProperty(value = "电压下偏差超是否超标(0:否 1:是)") + /** + * 电压下偏差超是否超标(0:否 1:是) + */ + @TableField(value = "is_v_dev_low") private Integer isVDevLow; - @ApiModelProperty(value = "电压偏差是否超标(0:否 1:是)") + /** + * 电压偏差是否超标(0:否 1:是) + */ + @TableField(value = "is_v_dev") private Integer isVDev; - @ApiModelProperty(value = "电压总谐波畸变率是否超标(0:否 1:是)") + /** + * 电压总谐波畸变率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_thd") private Integer isVThd; - @ApiModelProperty(value = "电压偏差超标次数") + /** + * 电压偏差超标次数 + */ + @TableField(value = "v_dev_times") private Integer vDevTimes; - @ApiModelProperty(value = "谐波电压是否超标(0:否 1:是)") + /** + * 谐波电压是否超标(0:否 1:是) + */ + @TableField(value = "is_v") private Integer isV; - @ApiModelProperty(value = "谐波电压超标次数") + /** + * 谐波电压超标次数 + */ + @TableField(value = "v_times") private Integer vTimes; - @ApiModelProperty(value = "谐波电流是否超标(0:否 1:是)") + /** + * 谐波电流是否超标(0:否 1:是) + */ + @TableField(value = "is_i") private Integer isI; - @ApiModelProperty(value = "谐波电流超标次数") + /** + * 谐波电流超标次数 + */ + @TableField(value = "i_times") private Integer iTimes; - @ApiModelProperty(value = "2次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_2; - - @ApiModelProperty(value = "3次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_3; - - @ApiModelProperty(value = "4次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_4; - - @ApiModelProperty(value = "5次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_5; - - @ApiModelProperty(value = "6次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_6; - - @ApiModelProperty(value = "7次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_7; - - @ApiModelProperty(value = "8次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_8; - - @ApiModelProperty(value = "9次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_9; - - @ApiModelProperty(value = "10次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_10; - - @ApiModelProperty(value = "11次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_11; - - @ApiModelProperty(value = "12次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_12; - - @ApiModelProperty(value = "13次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_13; - - @ApiModelProperty(value = "14次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_14; - - @ApiModelProperty(value = "15次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_15; - - @ApiModelProperty(value = "16次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_16; - - @ApiModelProperty(value = "17次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_17; - - @ApiModelProperty(value = "18次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_18; - - @ApiModelProperty(value = "19次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_19; - - @ApiModelProperty(value = "20次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_20; - - @ApiModelProperty(value = "21次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_21; - - @ApiModelProperty(value = "22次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_22; - - @ApiModelProperty(value = "23次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_23; - - @ApiModelProperty(value = "24次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_24; - - @ApiModelProperty(value = "25次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_25; - - @ApiModelProperty(value = "26次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_26; - - @ApiModelProperty(value = "27次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_27; - - @ApiModelProperty(value = "28次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_28; - - @ApiModelProperty(value = "29次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_29; - - @ApiModelProperty(value = "30次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_30; - - @ApiModelProperty(value = "31次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_31; - - @ApiModelProperty(value = "32次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_32; - - @ApiModelProperty(value = "33次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_33; - - @ApiModelProperty(value = "34次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_34; - - @ApiModelProperty(value = "35次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_35; - - @ApiModelProperty(value = "36次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_36; - - @ApiModelProperty(value = "37次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_37; - - @ApiModelProperty(value = "38次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_38; - - @ApiModelProperty(value = "39次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_39; - - @ApiModelProperty(value = "40次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_40; - - @ApiModelProperty(value = "41次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_41; - - @ApiModelProperty(value = "42次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_42; - - @ApiModelProperty(value = "43次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_43; - - @ApiModelProperty(value = "44次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_44; - - @ApiModelProperty(value = "45次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_45; - - @ApiModelProperty(value = "46次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_46; - - @ApiModelProperty(value = "47次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_47; - - @ApiModelProperty(value = "48次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_48; - - @ApiModelProperty(value = "49次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_49; - - @ApiModelProperty(value = "50次谐波电压含有率是否超标(0:否 1:是)") - private Integer is_v_50; - - @ApiModelProperty(value = "2次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_2; - - @ApiModelProperty(value = "3次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_3; - - @ApiModelProperty(value = "4次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_4; - - @ApiModelProperty(value = "5次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_5; - - @ApiModelProperty(value = "6次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_6; - - @ApiModelProperty(value = "7次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_7; - - @ApiModelProperty(value = "8次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_8; - - @ApiModelProperty(value = "9次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_9; - - @ApiModelProperty(value = "10次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_10; - - @ApiModelProperty(value = "11次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_11; - - @ApiModelProperty(value = "12次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_12; - - @ApiModelProperty(value = "13次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_13; - - @ApiModelProperty(value = "14次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_14; - - @ApiModelProperty(value = "15次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_15; - - @ApiModelProperty(value = "16次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_16; - - @ApiModelProperty(value = "17次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_17; - - @ApiModelProperty(value = "18次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_18; - - @ApiModelProperty(value = "19次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_19; - - @ApiModelProperty(value = "20次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_20; - - @ApiModelProperty(value = "21次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_21; - - @ApiModelProperty(value = "22次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_22; - - @ApiModelProperty(value = "23次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_23; - - @ApiModelProperty(value = "24次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_24; - - @ApiModelProperty(value = "25次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_25; - - @ApiModelProperty(value = "26次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_26; - - @ApiModelProperty(value = "27次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_27; - - @ApiModelProperty(value = "28次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_28; - - @ApiModelProperty(value = "29次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_29; - - @ApiModelProperty(value = "30次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_30; - - @ApiModelProperty(value = "31次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_31; - - @ApiModelProperty(value = "32次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_32; - - @ApiModelProperty(value = "33次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_33; - - @ApiModelProperty(value = "34次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_34; - - @ApiModelProperty(value = "35次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_35; - - @ApiModelProperty(value = "36次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_36; - - @ApiModelProperty(value = "37次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_37; - - @ApiModelProperty(value = "38次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_38; - - @ApiModelProperty(value = "39次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_39; - - @ApiModelProperty(value = "40次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_40; - - @ApiModelProperty(value = "41次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_41; - - @ApiModelProperty(value = "42次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_42; - - @ApiModelProperty(value = "43次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_43; - - @ApiModelProperty(value = "44次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_44; - - @ApiModelProperty(value = "45次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_45; - - @ApiModelProperty(value = "46次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_46; - - @ApiModelProperty(value = "47次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_47; - - @ApiModelProperty(value = "48次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_48; - - @ApiModelProperty(value = "49次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_49; - - @ApiModelProperty(value = "50次谐波电流含有率是否超标(0:否 1:是)") - private Integer is_i_50; - - @ApiModelProperty(value = "三相电压不平衡度是否超标(0:否 1:是)") + /** + * 2次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_2") + private Integer isV2; + + /** + * 3次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_3") + private Integer isV3; + + /** + * 4次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_4") + private Integer isV4; + + /** + * 5次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_5") + private Integer isV5; + + /** + * 6次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_6") + private Integer isV6; + + /** + * 7次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_7") + private Integer isV7; + + /** + * 8次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_8") + private Integer isV8; + + /** + * 9次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_9") + private Integer isV9; + + /** + * 10次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_10") + private Integer isV10; + + /** + * 11次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_11") + private Integer isV11; + + /** + * 12次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_12") + private Integer isV12; + + /** + * 13次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_13") + private Integer isV13; + + /** + * 14次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_14") + private Integer isV14; + + /** + * 15次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_15") + private Integer isV15; + + /** + * 16次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_16") + private Integer isV16; + + /** + * 17次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_17") + private Integer isV17; + + /** + * 18次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_18") + private Integer isV18; + + /** + * 19次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_19") + private Integer isV19; + + /** + * 20次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_20") + private Integer isV20; + + /** + * 21次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_21") + private Integer isV21; + + /** + * 22次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_22") + private Integer isV22; + + /** + * 23次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_23") + private Integer isV23; + + /** + * 24次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_24") + private Integer isV24; + + /** + * 25次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_25") + private Integer isV25; + + /** + * 26次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_26") + private Integer isV26; + + /** + * 27次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_27") + private Integer isV27; + + /** + * 28次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_28") + private Integer isV28; + + /** + * 29次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_29") + private Integer isV29; + + /** + * 30次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_30") + private Integer isV30; + + /** + * 31次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_31") + private Integer isV31; + + /** + * 32次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_32") + private Integer isV32; + + /** + * 33次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_33") + private Integer isV33; + + /** + * 34次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_34") + private Integer isV34; + + /** + * 35次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_35") + private Integer isV35; + + /** + * 36次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_36") + private Integer isV36; + + /** + * 37次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_37") + private Integer isV37; + + /** + * 38次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_38") + private Integer isV38; + + /** + * 39次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_39") + private Integer isV39; + + /** + * 40次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_40") + private Integer isV40; + + /** + * 41次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_41") + private Integer isV41; + + /** + * 42次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_42") + private Integer isV42; + + /** + * 43次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_43") + private Integer isV43; + + /** + * 44次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_44") + private Integer isV44; + + /** + * 45次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_45") + private Integer isV45; + + /** + * 46次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_46") + private Integer isV46; + + /** + * 47次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_47") + private Integer isV47; + + /** + * 48次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_48") + private Integer isV48; + + /** + * 49次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_49") + private Integer isV49; + + /** + * 50次谐波电压含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_v_50") + private Integer isV50; + + /** + * 2次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_2") + private Integer isI2; + + /** + * 3次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_3") + private Integer isI3; + + /** + * 4次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_4") + private Integer isI4; + + /** + * 5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_5") + private Integer isI5; + + /** + * 6次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_6") + private Integer isI6; + + /** + * 7次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_7") + private Integer isI7; + + /** + * 8次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_8") + private Integer isI8; + + /** + * 9次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_9") + private Integer isI9; + + /** + * 10次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_10") + private Integer isI10; + + /** + * 11次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_11") + private Integer isI11; + + /** + * 12次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_12") + private Integer isI12; + + /** + * 13次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_13") + private Integer isI13; + + /** + * 14次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_14") + private Integer isI14; + + /** + * 15次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_15") + private Integer isI15; + + /** + * 16次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_16") + private Integer isI16; + + /** + * 17次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_17") + private Integer isI17; + + /** + * 18次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_18") + private Integer isI18; + + /** + * 19次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_19") + private Integer isI19; + + /** + * 20次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_20") + private Integer isI20; + + /** + * 21次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_21") + private Integer isI21; + + /** + * 22次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_22") + private Integer isI22; + + /** + * 23次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_23") + private Integer isI23; + + /** + * 24次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_24") + private Integer isI24; + + /** + * 25次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_25") + private Integer isI25; + + /** + * 26次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_26") + private Integer isI26; + + /** + * 27次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_27") + private Integer isI27; + + /** + * 28次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_28") + private Integer isI28; + + /** + * 29次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_29") + private Integer isI29; + + /** + * 30次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_30") + private Integer isI30; + + /** + * 31次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_31") + private Integer isI31; + + /** + * 32次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_32") + private Integer isI32; + + /** + * 33次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_33") + private Integer isI33; + + /** + * 34次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_34") + private Integer isI34; + + /** + * 35次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_35") + private Integer isI35; + + /** + * 36次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_36") + private Integer isI36; + + /** + * 37次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_37") + private Integer isI37; + + /** + * 38次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_38") + private Integer isI38; + + /** + * 39次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_39") + private Integer isI39; + + /** + * 40次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_40") + private Integer isI40; + + /** + * 41次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_41") + private Integer isI41; + + /** + * 42次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_42") + private Integer isI42; + + /** + * 43次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_43") + private Integer isI43; + + /** + * 44次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_44") + private Integer isI44; + + /** + * 45次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_45") + private Integer isI45; + + /** + * 46次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_46") + private Integer isI46; + + /** + * 47次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_47") + private Integer isI47; + + /** + * 48次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_48") + private Integer isI48; + + /** + * 49次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_49") + private Integer isI49; + + /** + * 50次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_i_50") + private Integer isI50; + + /** + * 三相电压不平衡度是否超标(0:否 1:是) + */ + @TableField(value = "is_unbalance") private Integer isUnbalance; - @ApiModelProperty(value = "负序电流是否超标(0:否 1:是)") + /** + * 负序电流是否超标(0:否 1:是) + */ + @TableField(value = "is_i_neg") private Integer isINeg; - @ApiModelProperty(value = "三相电压不平衡度超标次数") + /** + * 三相电压不平衡度超标次数 + */ + @TableField(value = "unbalance_times") private Integer unbalanceTimes; - @ApiModelProperty(value = "负序电流超标次数") + /** + * 负序电流超标次数 + */ + @TableField(value = "i_neg_times") private Integer iNegTimes; + @TableField(exist = false) + private static final long serialVersionUID = 1L; + } diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpRailwayTractionDetail.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpRailwayTractionDetail.java new file mode 100644 index 000000000..5da1b4e64 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpRailwayTractionDetail.java @@ -0,0 +1,52 @@ +package com.njcn.harmonic.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.time.LocalDate; +import com.baomidou.mybatisplus.annotation.TableId; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + *

+ * 电气化铁路_详细信息表(专项分析) + *

+ * + * @author wr + * @since 2022-12-09 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("r_mp_railway_traction_detail") +@ApiModel(value="RMpRailwayTractionDetail对象", description="电气化铁路_详细信息表(专项分析)") +public class RMpRailwayTractionDetail implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "牵引站id") + @TableId(value = "traction_station_id", type = IdType.ASSIGN_ID) + private String tractionStationId; + + @ApiModelProperty(value = "统计时间") + private LocalDate dataDate; + + @ApiModelProperty(value = "有功功率") + private Float activePowerTimes; + + @ApiModelProperty(value = "谐波电压") + private Integer vTimes; + + @ApiModelProperty(value = "谐波电流") + private Integer iTimes; + + @ApiModelProperty(value = "电压不平衡") + private Integer unbalanceTimes; + + @ApiModelProperty(value = "负序电流") + private Integer iNegTimes; + + +} diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpSurplusHarmonicDetailD.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpSurplusHarmonicDetailD.java index b0cf41b74..ce6ee70e3 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpSurplusHarmonicDetailD.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpSurplusHarmonicDetailD.java @@ -1,15 +1,15 @@ package com.njcn.harmonic.pojo.po; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.annotation.IdType; -import java.time.LocalDate; -import com.baomidou.mybatisplus.annotation.TableId; -import java.io.Serializable; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; +import java.io.Serializable; +import java.time.LocalDate; + /** *

* @@ -24,176 +24,343 @@ import lombok.EqualsAndHashCode; @ApiModel(value="RMpSurplusHarmonicDetailD对象", description="") public class RMpSurplusHarmonicDetailD implements Serializable { - private static final long serialVersionUID = 1L; - - @ApiModelProperty(value = "监测点ID") - @TableId(value = "measurement_point_id", type = IdType.ASSIGN_ID) + /** + * 监测点ID + */ + @MppMultiId(value = "measurement_point_id") private String measurementPointId; - @ApiModelProperty(value = "生成数据的时间,每月统计一次") + /** + * 生成数据的时间,每月统计一次 + */ + @MppMultiId(value = "data_date") private LocalDate dataDate; - @ApiModelProperty(value = "闪变发生次数") + /** + * 闪变发生次数 + */ + @TableField(value = "flicker_times") private Integer flickerTimes; - @ApiModelProperty(value = "闪变是否超标(0:否 1:是)") + /** + * 闪变是否超标(0:否 1:是) + */ + @TableField(value = "is_flicker") private Integer isFlicker; - @ApiModelProperty(value = "间谐波电压超标次数") + /** + * 间谐波电压超标次数 + */ + @TableField(value = "inuharm_times") private Integer inuharmTimes; - @ApiModelProperty(value = "间谐波电压是否超标(0:否 1:是)") + /** + * 间谐波电压是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm") private Integer isInuharm; - @ApiModelProperty(value = "0.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 0.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_1") private Integer isInuharm1; - @ApiModelProperty(value = "1.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 1.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_2") private Integer isInuharm2; - @ApiModelProperty(value = "2.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 2.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_3") private Integer isInuharm3; - @ApiModelProperty(value = "3.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 3.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_4") private Integer isInuharm4; - @ApiModelProperty(value = "4.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 4.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_5") private Integer isInuharm5; - @ApiModelProperty(value = "5.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 5.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_6") private Integer isInuharm6; - @ApiModelProperty(value = "6.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 6.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_7") private Integer isInuharm7; - @ApiModelProperty(value = "7.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 7.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_8") private Integer isInuharm8; - @ApiModelProperty(value = "8.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 8.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_9") private Integer isInuharm9; - @ApiModelProperty(value = "9.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 9.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_10") private Integer isInuharm10; - @ApiModelProperty(value = "10.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 10.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_11") private Integer isInuharm11; - @ApiModelProperty(value = "11.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 11.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_12") private Integer isInuharm12; - @ApiModelProperty(value = "12.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 12.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_13") private Integer isInuharm13; - @ApiModelProperty(value = "13.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 13.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_14") private Integer isInuharm14; - @ApiModelProperty(value = "14.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 14.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_15") private Integer isInuharm15; - @ApiModelProperty(value = "15.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 15.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_16") private Integer isInuharm16; - @ApiModelProperty(value = "16.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 16.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_17") private Integer isInuharm17; - @ApiModelProperty(value = "17.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 17.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_18") private Integer isInuharm18; - @ApiModelProperty(value = "18.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 18.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_19") private Integer isInuharm19; - @ApiModelProperty(value = "19.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 19.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_20") private Integer isInuharm20; - @ApiModelProperty(value = "20.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 20.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_21") private Integer isInuharm21; - @ApiModelProperty(value = "21.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 21.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_22") private Integer isInuharm22; - @ApiModelProperty(value = "22.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 22.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_23") private Integer isInuharm23; - @ApiModelProperty(value = "23.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 23.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_24") private Integer isInuharm24; - @ApiModelProperty(value = "24.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 24.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_25") private Integer isInuharm25; - @ApiModelProperty(value = "25.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 25.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_26") private Integer isInuharm26; - @ApiModelProperty(value = "26.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 26.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_27") private Integer isInuharm27; - @ApiModelProperty(value = "27.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 27.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_28") private Integer isInuharm28; - @ApiModelProperty(value = "28.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 28.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_29") private Integer isInuharm29; - @ApiModelProperty(value = "29.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 29.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_30") private Integer isInuharm30; - @ApiModelProperty(value = "30.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 30.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_31") private Integer isInuharm31; - @ApiModelProperty(value = "31.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 31.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_32") private Integer isInuharm32; - @ApiModelProperty(value = "32.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 32.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_33") private Integer isInuharm33; - @ApiModelProperty(value = "33.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 33.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_34") private Integer isInuharm34; - @ApiModelProperty(value = "34.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 34.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_35") private Integer isInuharm35; - @ApiModelProperty(value = "35.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 35.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_36") private Integer isInuharm36; - @ApiModelProperty(value = "36.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 36.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_37") private Integer isInuharm37; - @ApiModelProperty(value = "37.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 37.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_38") private Integer isInuharm38; - @ApiModelProperty(value = "38.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 38.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_39") private Integer isInuharm39; - @ApiModelProperty(value = "39.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 39.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_40") private Integer isInuharm40; - @ApiModelProperty(value = "40.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 40.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_41") private Integer isInuharm41; - @ApiModelProperty(value = "41.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 41.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_42") private Integer isInuharm42; - @ApiModelProperty(value = "42.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 42.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_43") private Integer isInuharm43; - @ApiModelProperty(value = "43.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 43.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_44") private Integer isInuharm44; - @ApiModelProperty(value = "44.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 44.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_45") private Integer isInuharm45; - @ApiModelProperty(value = "45.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 45.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_46") private Integer isInuharm46; - @ApiModelProperty(value = "46.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 46.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_47") private Integer isInuharm47; - @ApiModelProperty(value = "47.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 47.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_48") private Integer isInuharm48; - @ApiModelProperty(value = "48.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 48.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_49") private Integer isInuharm49; - @ApiModelProperty(value = "49.5次谐波电流含有率是否超标(0:否 1:是)") + /** + * 49.5次谐波电流含有率是否超标(0:否 1:是) + */ + @TableField(value = "is_inuharm_50") private Integer isInuharm50; + @TableField(exist = false) + private static final long serialVersionUID = 1L; } diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpWpPowerDetailM.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpWpPowerDetailM.java index 4ac89705e..58abf32c0 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpWpPowerDetailM.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpWpPowerDetailM.java @@ -34,6 +34,9 @@ public class RMpWpPowerDetailM implements Serializable { @ApiModelProperty(value = "统计时间") private LocalDate dataDate; + @ApiModelProperty(value = "监测点标签") + private String monitorTag; + @ApiModelProperty(value = "负载率(平均值)") private Float loadRateAvg; @@ -96,6 +99,17 @@ public class RMpWpPowerDetailM implements Serializable { @ApiModelProperty(value = "B相有功功率平均值") private Float bpActivePowerAvg; + @ApiModelProperty(value = "C相有功功率95值") + @TableField(value = "cp_active_power_99") + private Float cpActivePower95; + + @ApiModelProperty(value = "C相有功功率99值") + @TableField(value = "cp_active_power_99") + private Float cpActivePower99; + + @ApiModelProperty(value = "C相有功功率平均值") + private Float cpActivePowerAvg; + @ApiModelProperty(value = "A相基波电压") private Float apFundamentalVoltage; diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpWpPowerDetailQ.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpWpPowerDetailQ.java index 69a8edd07..3b2f63950 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpWpPowerDetailQ.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpWpPowerDetailQ.java @@ -31,6 +31,10 @@ public class RMpWpPowerDetailQ implements Serializable { @TableId(value = "measurement_point_id", type = IdType.ASSIGN_ID) private String measurementPointId; + + @ApiModelProperty(value = "监测点标签") + private String monitorTag; + @ApiModelProperty(value = "统计时间") private LocalDate dataDate; @@ -96,6 +100,17 @@ public class RMpWpPowerDetailQ implements Serializable { @ApiModelProperty(value = "B相有功功率平均值") private Float bpActivePowerAvg; + @ApiModelProperty(value = "C相有功功率95值") + @TableField(value = "cp_active_power_99") + private Float cpActivePower95; + + @ApiModelProperty(value = "C相有功功率99值") + @TableField(value = "cp_active_power_99") + private Float cpActivePower99; + + @ApiModelProperty(value = "C相有功功率平均值") + private Float cpActivePowerAvg; + @ApiModelProperty(value = "A相基波电压") private Float apFundamentalVoltage; diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpWpPowerDetailY.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpWpPowerDetailY.java index 1cea51d21..00213d02b 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpWpPowerDetailY.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpWpPowerDetailY.java @@ -34,6 +34,9 @@ public class RMpWpPowerDetailY implements Serializable { @ApiModelProperty(value = "统计时间") private LocalDate dataDate; + @ApiModelProperty(value = "监测点标签") + private String monitorTag; + @ApiModelProperty(value = "负载率(平均值)") private Float loadRateAvg; @@ -96,6 +99,17 @@ public class RMpWpPowerDetailY implements Serializable { @ApiModelProperty(value = "B相有功功率平均值") private Float bpActivePowerAvg; + @ApiModelProperty(value = "C相有功功率95值") + @TableField(value = "cp_active_power_99") + private Float cpActivePower95; + + @ApiModelProperty(value = "C相有功功率99值") + @TableField(value = "cp_active_power_99") + private Float cpActivePower99; + + @ApiModelProperty(value = "C相有功功率平均值") + private Float cpActivePowerAvg; + @ApiModelProperty(value = "A相基波电压") private Float apFundamentalVoltage; diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/DeptLevelVO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/DeptLevelVO.java new file mode 100644 index 000000000..8c1f734ff --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/DeptLevelVO.java @@ -0,0 +1,30 @@ +package com.njcn.harmonic.pojo.vo; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * <功能描述> + * + * @author wr + * @createTime: 2022-12-13 + */ +@Data +public class DeptLevelVO implements Serializable { + + private String id; + private String pid; + private String pids; + private String name; + private String code; + private Integer specialType; + private String area; + private String remark; + private Integer sort; + private Integer type; + + //子孙部门 + List deptList; +} diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RMpRailwayTractionDetailVO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RMpRailwayTractionDetailVO.java new file mode 100644 index 000000000..d0c4574a8 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RMpRailwayTractionDetailVO.java @@ -0,0 +1,68 @@ +package com.njcn.harmonic.pojo.vo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.time.LocalDate; + +/** + *

+ * 电气化铁路_详细信息表(专项分析) + *

+ * + * @author wr + * @since 2022-12-09 + */ +@Data +@ApiModel("电气化铁路实体类") +public class RMpRailwayTractionDetailVO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "牵引站id") + private String tractionStationId; + + @ApiModelProperty(value = "牵引站名称") + private String tractionStationName; + + @ApiModelProperty(value = "公司名称") + private String orgName; + + @ApiModelProperty(value = "电铁路线") + private String railwayLineName; + + @ApiModelProperty(value = "铁路类型") + private Integer railwayType; + + @ApiModelProperty(value = "电压等级") + private String voltageLevel; + + @ApiModelProperty(value = "牵引站变电容量") + private Double ratedCapacity; + + @ApiModelProperty(value = "统计时间") + private LocalDate dataDate; + + @ApiModelProperty(value = "有功功率") + private Float activePowerTimes; + + @ApiModelProperty(value = "谐波电压") + private Float vTimes; + + @ApiModelProperty(value = "谐波电流") + private Float iTimes; + + @ApiModelProperty(value = "电压不平衡") + private Float unbalanceTimes; + + @ApiModelProperty(value = "负序电流") + private Float iNegTimes; + + +} diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RMpWpPowerDetailVO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RMpWpPowerDetailVO.java new file mode 100644 index 000000000..22d293675 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RMpWpPowerDetailVO.java @@ -0,0 +1,111 @@ +package com.njcn.harmonic.pojo.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDate; +import java.util.List; + +/** + * 专项分析-风电场-详细数据表 + * + * @author wr + * @date 2022-11-30 + * + */ +@Data +public class RMpWpPowerDetailVO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "部门名称") + private String orgName; + + @ApiModelProperty(value = "监测点id") + private String measurementPointId; + + @ApiModelProperty(value = "监测点名称") + private String measurementPointName; + + @ApiModelProperty(value = "负载率(平均值)") + private Float loadRateAvg; + + @ApiModelProperty(value = "负载率(95%值)") + private Float loadRate95; + + @ApiModelProperty(value = "负载率(99%值)") + private Float loadRate99; + + @ApiModelProperty(value = "谐波电压超标情况(0:否 1:是)") + private Integer isV; + + @ApiModelProperty(value = "谐波电流超标情况(0:否 1:是)") + private Integer isI; + + @ApiModelProperty(value = "电压不平衡度超标情况(0:否 1:是)") + private Integer isUnbalance; + + @ApiModelProperty(value = "负序电流超标情况(0:否 1:是)") + private Integer isINeg; + + @ApiModelProperty(value = "谐波电压超标次数") + private Integer vTimes; + + @ApiModelProperty(value = "谐波电流超标次数") + private Integer iTimes; + + @ApiModelProperty(value = "总有功功率99值") + private Float totalActivePower99; + + @ApiModelProperty(value = "总有功功率95值") + private Float totalActivePower95; + + @ApiModelProperty(value = "总有功功率平均值") + private Float totalActivePowerAvg; + + @ApiModelProperty(value = "A相有功功率95值") + private Float apActivePower95; + + @ApiModelProperty(value = "A相有功功率99值") + private Float apActivePower99; + + @ApiModelProperty(value = "A相有功功率平均值") + private Float apActivePowerAvg; + + @ApiModelProperty(value = "B相有功功率95值") + private Float bpActivePower95; + + @ApiModelProperty(value = "B相有功功率99值") + private Float bpActivePower99; + + @ApiModelProperty(value = "B相有功功率平均值") + private Float bpActivePowerAvg; + + @ApiModelProperty(value = "C相有功功率95值") + private Float cpActivePower95; + + @ApiModelProperty(value = "C相有功功率99值") + private Float cpActivePower99; + + @ApiModelProperty(value = "C相有功功率平均值") + private Float cpActivePowerAvg; + + @ApiModelProperty(value = "A相基波电压") + private Float apFundamentalVoltage; + + @ApiModelProperty(value = "B相基波电压") + private Float bpFundamentalVoltage; + + @ApiModelProperty(value = "C相基波电压") + private Float cpFundamentalVoltage; + + @ApiModelProperty(value = "负序电压不平衡度") + private Float negativeSequenceVoltageUnbalance; + + @ApiModelProperty(value = "电网暂降次数") + private Integer gridDipNum; + + @ApiModelProperty(value = "脱网事件次数") + private Integer offlineNum; +} diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RStatHarmonicVO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RStatHarmonicVO.java new file mode 100644 index 000000000..3e5da3e96 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RStatHarmonicVO.java @@ -0,0 +1,42 @@ +package com.njcn.harmonic.pojo.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + *

+ * + *

+ * + * @author rui.wu + * @since 2022-10-09 + */ +@Data +public class RStatHarmonicVO { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "单位id") + private String orgNo; + + @ApiModelProperty(value = "稳态指标") + private String harmonicType; + + @ApiModelProperty(value = "日均超标监测点数") + private Integer overLimitMeasurementAverage; + + @ApiModelProperty(value = "累计超标监测点数") + private Integer overLimitMeasurementAccrued; + + @ApiModelProperty(value = "累计超标天数") + private Integer overDay; + + @ApiModelProperty(value = "日均超标监测点数占比") + private Float overLimitMeasurementRatioAverage; + + @ApiModelProperty(value = "累计超标监测点数占比") + private Float overLimitMeasurementRatioAccrued; + + @ApiModelProperty(value = "平均超标天数") + private Float averageOverDay; +} diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/ReportTemplateVO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/ReportTemplateVO.java index bd18eb4b7..2d96e9fe6 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/ReportTemplateVO.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/ReportTemplateVO.java @@ -27,4 +27,6 @@ public class ReportTemplateVO extends BaseEntity { private String deptName; + private String reportForm; + } diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/utils/DeptUtil.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/utils/DeptUtil.java new file mode 100644 index 000000000..77544801a --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/utils/DeptUtil.java @@ -0,0 +1,82 @@ +package com.njcn.harmonic.utils; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; +import com.njcn.harmonic.pojo.vo.DeptLevelVO; +import com.njcn.user.pojo.dto.DeptDTO; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * <功能描述> + * + * @author wr + * @createTime: 2022-12-14 + */ +public class DeptUtil { + + /*** + * 获取层级部门信息(展示下级部门) + * @param deptDTOList + * @param deptId + * @return + */ + public static List getDeptSubsetVOList(List deptDTOList, String deptId){ + //获取子部门 + List directDeptInfos = deptDTOList.stream() + .filter(deptDTO -> deptDTO.getPid().equals(deptId)) + .collect(Collectors.toList()); + if (CollectionUtil.isEmpty(directDeptInfos)) { + //没有直接子部门,获取当前部门所有信息 + List dept = deptDTOList.stream() + .filter(deptDTO -> deptDTO.getId().equals(deptId)) + .collect(Collectors.toList()); + return dept; + } + return directDeptInfos; + } + + + /*** + * 获取层级部门信息(展示下级部门,但是数据是包含下部门的所有部门) + * @param deptDTOList + * @param deptId + * @return + */ + public static List getDeptLevelVOList(List deptDTOList, String deptId){ + //获取子部门 + List directDeptInfos = deptDTOList.stream() + .filter(deptDTO -> deptDTO.getPid().equals(deptId)) + .collect(Collectors.toList()); + List deptLevelVOS = new ArrayList<>(); + if (CollectionUtil.isEmpty(directDeptInfos)) { + //没有直接子部门,获取当前部门所有信息 + List dept = deptDTOList.stream() + .filter(deptDTO -> deptDTO.getId().equals(deptId)) + .collect(Collectors.toList()); + deptLevelVOS = BeanUtil.copyToList(dept, DeptLevelVO.class); + }else{ + DeptLevelVO deptLevelVO; + for (DeptDTO deptDTO : directDeptInfos) { + //添加当前部门,添加当前部门下的子部门 + deptLevelVO = BeanUtil.copyProperties(deptDTO, DeptLevelVO.class); + deptLevelVOS.add(deptLevelVO); + + //筛选上级部门pids包含该id的所有部门 + List descendantDeptDTO = deptDTOList.stream() + .filter(d -> d.getPids().contains(deptDTO.getId())) + .collect(Collectors.toList()); + //获取当前部门 + List dept = deptDTOList.stream() + .filter(dto -> dto.getId().equals(deptDTO.getId())) + .collect(Collectors.toList()); + descendantDeptDTO.addAll(dept); + List seedList = BeanUtil.copyToList(descendantDeptDTO, DeptLevelVO.class); + deptLevelVO.setDeptList(seedList); + } + } + return deptLevelVOS; + } +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/distribution/PwRStatHarmonicOrgController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/distribution/PwRStatHarmonicOrgController.java index 802c467b8..d016a38af 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/distribution/PwRStatHarmonicOrgController.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/distribution/PwRStatHarmonicOrgController.java @@ -55,7 +55,7 @@ public class PwRStatHarmonicOrgController extends BaseController { switch (string) { //查询各单位累计超标监测点数-年数据 case BizParamConstant.STAT_BIZ_YEAR: - org = rStatHarmonicOrgYService.getPwRStatHarmonicYAll(param); + org = rStatHarmonicOrgYService.getPwRStatHarmonicYOldAll(param,2); break; //查询各单位累计超标监测点数-季数据 case BizParamConstant.STAT_BIZ_QUARTER: @@ -86,7 +86,7 @@ public class PwRStatHarmonicOrgController extends BaseController { switch (string) { //查询各单位累计超标监测点数统计图-年数据 case BizParamConstant.STAT_BIZ_YEAR: - icon = rStatHarmonicOrgYService.getPwRStatHarmonicOrgYIcon(param); + icon = rStatHarmonicOrgYService.getPwRStatHarmonicOrgYOldIcon(param,2); break; //查询各单位累计超标监测点数-季数据 case BizParamConstant.STAT_BIZ_QUARTER: diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/majornetwork/RStatHarmonicOrgController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/majornetwork/RStatHarmonicOrgController.java index badb83a8b..43540f880 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/majornetwork/RStatHarmonicOrgController.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/majornetwork/RStatHarmonicOrgController.java @@ -56,7 +56,7 @@ public class RStatHarmonicOrgController extends BaseController { switch (string) { //查询各单位累计超标监测点数-年数据 case BizParamConstant.STAT_BIZ_YEAR: - rStatHarmonicOrgMAll = rStatHarmonicOrgYService.getRStatHarmonicYAll(param); + rStatHarmonicOrgMAll = rStatHarmonicOrgYService.getPwRStatHarmonicYOldAll(param,1); break; //查询各单位累计超标监测点数-季数据 case BizParamConstant.STAT_BIZ_QUARTER: @@ -86,7 +86,7 @@ public class RStatHarmonicOrgController extends BaseController { switch (string) { //查询各单位累计超标监测点数统计图-年数据 case BizParamConstant.STAT_BIZ_YEAR: - getAllRStatHarmonicOrgIcon = rStatHarmonicOrgYService.getRStatHarmonicOrgYIcon(param); + getAllRStatHarmonicOrgIcon = rStatHarmonicOrgYService.getPwRStatHarmonicOrgYOldIcon(param,1); break; //查询各单位累计超标监测点数-季数据 case BizParamConstant.STAT_BIZ_QUARTER: diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/specialanalysis/WindFarmController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/specialanalysis/WindFarmController.java index 86d429d19..57bfe2440 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/specialanalysis/WindFarmController.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/specialanalysis/WindFarmController.java @@ -1,13 +1,27 @@ package com.njcn.harmonic.controller.specialanalysis; - +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.common.pojo.annotation.OperateInfo; +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.harmonic.pojo.param.PowerQualityParam; +import com.njcn.harmonic.pojo.vo.RMpRailwayTractionDetailVO; +import com.njcn.harmonic.pojo.vo.RMpWpPowerDetailVO; +import com.njcn.harmonic.service.specialanalysis.RMpWpPowerDetailMService; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; +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; + /** *

* 专项分析-风电站-详细数据 @@ -22,5 +36,36 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("/windFarm") public class WindFarmController extends BaseController { + private final RMpWpPowerDetailMService rMpWpPowerDetailMService; + + /** + * 详细数据表分页查询 + * @param param + * @return + */ + @PostMapping("/getWindFarmDetailInfo") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("详细数据表分页查询") + @ApiImplicitParam(name = "param", value = "分页查询参数", required = true) + public HttpResult> getWindFarmDetailInfo(@RequestBody PowerQualityParam.PowerQualityInfoParam param) { + String methodDescribe = getMethodDescribe("getWindFarmDetailInfo"); + Page powerQualityInfo = rMpWpPowerDetailMService.getWindFarmDetailInfo(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, powerQualityInfo, methodDescribe); + } + + /** + * 详细数据表分页查询 + * @param param + * @return + */ + @PostMapping("/getRailwayDetailInfo") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("电气化铁路详细数据表分页查询") + @ApiImplicitParam(name = "param", value = "分页查询参数", required = true) + public HttpResult> getRailwayDetailInfo(@RequestBody PowerQualityParam param) { + String methodDescribe = getMethodDescribe("getRailwayDetailInfo"); + Page powerQualityInfo = rMpWpPowerDetailMService.getRailwayDetailInfo(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, powerQualityInfo, methodDescribe); + } } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/StatHarmonicOrgMMapper.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/StatHarmonicOrgMMapper.java index 2f5b8310d..d9ce6796c 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/StatHarmonicOrgMMapper.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/StatHarmonicOrgMMapper.java @@ -1,7 +1,9 @@ package com.njcn.harmonic.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam; import com.njcn.harmonic.pojo.po.RStatHarmonicOrgM; +import com.njcn.harmonic.pojo.vo.RStatHarmonicVO; import com.njcn.harmonic.pojo.vo.StatHarmonicOrgVO; import com.njcn.user.pojo.dto.DeptDTO; import org.apache.ibatis.annotations.Param; @@ -21,4 +23,14 @@ public interface StatHarmonicOrgMMapper extends BaseMapper { * @return 结果 */ List listMonthRatio(@Param("list") List list, @Param("startTime") String startTime, @Param("endTime") String endTime); + + /** + *各单位监测点数 + * @param param + * @param dataType + * @return + */ + List selectInfoList(@Param("param") StatSubstationBizBaseParam param, + @Param("ids") List ids, + @Param("dataType") String dataType); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/StatHarmonicOrgQMapper.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/StatHarmonicOrgQMapper.java index 62a9c00eb..a2e428e95 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/StatHarmonicOrgQMapper.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/StatHarmonicOrgQMapper.java @@ -1,7 +1,10 @@ package com.njcn.harmonic.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam; import com.njcn.harmonic.pojo.po.RStatHarmonicOrgQ; +import com.njcn.harmonic.pojo.po.RStatHarmonicOrgY; +import com.njcn.harmonic.pojo.vo.RStatHarmonicVO; import com.njcn.harmonic.pojo.vo.StatHarmonicOrgVO; import com.njcn.user.pojo.dto.DeptDTO; import org.apache.ibatis.annotations.Param; @@ -21,4 +24,14 @@ public interface StatHarmonicOrgQMapper extends BaseMapper { * @return 结果 */ List listQuarterRatio(@Param("list") List list, @Param("startTime") String startTime, @Param("endTime") String endTime); + + /** + *各单位监测点数 + * @param param + * @param dataType + * @return + */ + List selectInfoList(@Param("param") StatSubstationBizBaseParam param, + @Param("ids") List ids, + @Param("dataType") String dataType); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/StatHarmonicOrgYMapper.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/StatHarmonicOrgYMapper.java index c4faf70c8..cd11659a8 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/StatHarmonicOrgYMapper.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/StatHarmonicOrgYMapper.java @@ -1,7 +1,9 @@ package com.njcn.harmonic.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam; import com.njcn.harmonic.pojo.po.RStatHarmonicOrgY; +import com.njcn.harmonic.pojo.vo.RStatHarmonicVO; import com.njcn.harmonic.pojo.vo.StatHarmonicOrgVO; import com.njcn.user.pojo.dto.DeptDTO; import org.apache.ibatis.annotations.Param; @@ -21,4 +23,15 @@ public interface StatHarmonicOrgYMapper extends BaseMapper { * @return 结果 */ List listYearRatio(@Param("list") List list, @Param("startTime") String startTime, @Param("endTime") String endTime); + + /** + * 各单位监测点查询 + * @param param + * @param ids + * @param dataType + * @return + */ + List selectInfoList(@Param("param") StatSubstationBizBaseParam param, + @Param("ids") List ids, + @Param("dataType") String dataType); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/ExcelRptTempMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/ExcelRptTempMapper.xml index 1feb8fb4b..24b04077a 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/ExcelRptTempMapper.xml +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/ExcelRptTempMapper.xml @@ -41,7 +41,8 @@ DISTINCT a.id, a.NAME, - b.activation + b.activation, + a.report_form FROM sys_excel_rpt_temp a LEFT JOIN sys_dept_temp b ON a.Id = b.temp_id diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/StatHarmonicOrgMMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/StatHarmonicOrgMMapper.xml index bf02506ed..7f473c467 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/StatHarmonicOrgMMapper.xml +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/StatHarmonicOrgMMapper.xml @@ -18,5 +18,39 @@ and DATE_FORMAT(data_date,'%Y-%m-%d') between #{startTime} and #{endTime} + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/StatHarmonicOrgQMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/StatHarmonicOrgQMapper.xml index 34628a395..bb1d1991d 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/StatHarmonicOrgQMapper.xml +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/StatHarmonicOrgQMapper.xml @@ -18,5 +18,39 @@ and DATE_FORMAT(data_date,'%Y-%m-%d') between #{startTime} and #{endTime} + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/StatHarmonicOrgYMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/StatHarmonicOrgYMapper.xml index 335f59227..2401f8b1a 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/StatHarmonicOrgYMapper.xml +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/StatHarmonicOrgYMapper.xml @@ -18,4 +18,39 @@ and DATE_FORMAT(data_date,'%Y-%m-%d') between #{startTime} and #{endTime} + + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/RMpRailwayTractionDetailMapper.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/RMpRailwayTractionDetailMapper.java new file mode 100644 index 000000000..aee8cfb74 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/RMpRailwayTractionDetailMapper.java @@ -0,0 +1,16 @@ +package com.njcn.harmonic.mapper.specialanalysis; + +import com.njcn.harmonic.pojo.po.RMpRailwayTractionDetail; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 电气化铁路_详细信息表(专项分析) Mapper 接口 + *

+ * + * @author wr + * @since 2022-12-09 + */ +public interface RMpRailwayTractionDetailMapper extends BaseMapper { + +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RMpRailwayTractionDetailMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RMpRailwayTractionDetailMapper.xml new file mode 100644 index 000000000..fdbf0a6d1 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RMpRailwayTractionDetailMapper.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RMpWpPowerDetailMMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RMpWpPowerDetailMMapper.xml index 0c798cca7..e18859394 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RMpWpPowerDetailMMapper.xml +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RMpWpPowerDetailMMapper.xml @@ -6,6 +6,7 @@ + @@ -24,6 +25,10 @@ + + + + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RMpWpPowerDetailQMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RMpWpPowerDetailQMapper.xml index 2b64ed0eb..47e76f011 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RMpWpPowerDetailQMapper.xml +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RMpWpPowerDetailQMapper.xml @@ -6,6 +6,7 @@ + @@ -24,6 +25,10 @@ + + + + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RMpWpPowerDetailYMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RMpWpPowerDetailYMapper.xml index 858ac3275..34ccf6d03 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RMpWpPowerDetailYMapper.xml +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RMpWpPowerDetailYMapper.xml @@ -6,6 +6,7 @@ + @@ -24,6 +25,10 @@ + + + + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/RStatHarmonicOrgYService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/RStatHarmonicOrgYService.java index 0ebeca440..2b4bd5098 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/RStatHarmonicOrgYService.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/RStatHarmonicOrgYService.java @@ -35,19 +35,39 @@ public interface RStatHarmonicOrgYService extends IService { */ List getRStatHarmonicOrgYIcon(RStatHarmonicMParam param); + /** + * 配网各单位累计超标监测点数统计图-年数据() + * + * @param param + * @return + */ + List getPwRStatHarmonicOrgYOldIcon(RStatHarmonicMParam param,Integer type); + + /** * 配网查询各单位稳态指标(年) * * @param param * @return */ + List getPwRStatHarmonicYOldAll(StatisticsBizBaseParam param,Integer type); + + /** + * 配网查询各单位稳态指标(年 )统计暂不使用 + * + * @param param + * @return + */ List getPwRStatHarmonicYAll(StatisticsBizBaseParam param); /** - * 配网各单位累计超标监测点数统计图-年数据 + * 配网各单位累计超标监测点数统计图-年数据(暂不使用,里面包含子孙部门统计) * * @param param * @return */ List getPwRStatHarmonicOrgYIcon(RStatHarmonicMParam param); + + + } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatHarmonicOrgMServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatHarmonicOrgMServiceImpl.java index 0b0740674..f19fdf34e 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatHarmonicOrgMServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatHarmonicOrgMServiceImpl.java @@ -15,6 +15,7 @@ import com.njcn.harmonic.pojo.vo.RIconVO; import com.njcn.harmonic.pojo.vo.RStatHarmonicMVO; import com.njcn.harmonic.service.majornetwork.RStatHarmonicOrgMService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.harmonic.utils.DeptUtil; import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.enums.DicDataEnum; import com.njcn.system.enums.DicDataTypeEnum; @@ -225,7 +226,9 @@ public class RStatHarmonicOrgMServiceImpl extends ServiceImpl deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + List deptList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + List deptDTOList= DeptUtil.getDeptSubsetVOList(deptList,param.getId()); + //获取部门id集合 List deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList()); Map deptMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity())); @@ -295,7 +298,9 @@ public class RStatHarmonicOrgMServiceImpl extends ServiceImpl getPwRStatHarmonicOrgMIcon(RStatHarmonicMParam param) { //各单位类型 - List deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + List deptList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + List deptDTOList= DeptUtil.getDeptSubsetVOList(deptList,param.getId()); + Map deptMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity())); //获取部门id集合 List deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList()); diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatHarmonicOrgQServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatHarmonicOrgQServiceImpl.java index 44b607f66..74e1eead3 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatHarmonicOrgQServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatHarmonicOrgQServiceImpl.java @@ -8,13 +8,17 @@ import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.common.pojo.param.StatisticsBizBaseParam; import com.njcn.harmonic.pojo.param.RStatHarmonicMParam; +import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam; import com.njcn.harmonic.pojo.po.RStatHarmonicOrgQ; import com.njcn.harmonic.mapper.StatHarmonicOrgQMapper; +import com.njcn.harmonic.pojo.po.RStatHarmonicOrgY; +import com.njcn.harmonic.pojo.vo.DeptLevelVO; import com.njcn.harmonic.pojo.vo.RArrayVO; import com.njcn.harmonic.pojo.vo.RIconVO; import com.njcn.harmonic.pojo.vo.RStatHarmonicMVO; import com.njcn.harmonic.service.majornetwork.RStatHarmonicOrgQService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.harmonic.utils.DeptUtil; import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.enums.DicDataEnum; import com.njcn.system.enums.DicDataTypeEnum; @@ -47,88 +51,76 @@ public class RStatHarmonicOrgQServiceImpl extends ServiceImpl getRStatHarmonicQAll(StatisticsBizBaseParam param) { + //对象主节点 获取所有的稳态类型 + List steadyData = dicDataFeignClient.getDicDataByTypeCode( + DicDataTypeEnum.STEADY_STATIS.getCode()).getData(); + Map steadyMap = steadyData.stream() + .collect(Collectors.toMap(DictData::getId, Function.identity())); + //子节点 获取所有得各单位类型 - List deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + List deptList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + List deptDTOList= DeptUtil.getDeptSubsetVOList(deptList,param.getId()); + //获取部门id集合 List deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList()); Map deptMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity())); - //对象主节点 获取所有得指标类型 - List lineTypeData = dicDataFeignClient.getDicDataByTypeCode - (DicDataTypeEnum.STEADY_STATIS.getCode()).getData(); - Map lineTypeMap = lineTypeData.stream() - .collect(Collectors.toMap(DictData::getId, Function.identity())); - //获取主网id信息 + //获取配网信息 DictData mainnetData = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData(); - + //初始化指标类型(横向) + List arrayVOList = new ArrayList<>(); //数据库查询 List list = statHarmonicOrgQMapper.selectList(new LambdaQueryWrapper() .eq(RStatHarmonicOrgQ::getDataType, mainnetData.getId()) .in(RStatHarmonicOrgQ::getOrgNo, deptIds) - .ge(StrUtil.isNotBlank(param.getStartTime()), RStatHarmonicOrgQ::getDataDate, param.getStartTime()) - .le(StrUtil.isNotBlank(param.getEndTime()), RStatHarmonicOrgQ::getDataDate, param.getEndTime())); + .ge(param.getStartTime() != null, RStatHarmonicOrgQ::getDataDate, param.getStartTime()) + .le(param.getEndTime() != null, RStatHarmonicOrgQ::getDataDate, param.getEndTime())); + //根据稳态指标分组 + Map> measurementMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicOrgQ::getHarmonicType)); + //判断对象是否为空 + if (CollUtil.isNotEmpty(list)) { + //重新生成数据结构 + measurementMap.forEach((key, value) -> { + List eventVO = new ArrayList<>(); + if (steadyMap.containsKey(key)) { + RArrayVO arrayVO = new RArrayVO(); + DictData data = steadyMap.get(key); + arrayVO.setRowName(data.getName()); + arrayVO.setSort(data.getSort()); + for (RStatHarmonicOrgQ statHarmonic : value) { + if(deptMap.containsKey(statHarmonic.getOrgNo())){ + RStatHarmonicMVO r = BeanUtil.copyProperties(statHarmonic, RStatHarmonicMVO.class); + DeptDTO deptDTO = deptMap.get(statHarmonic.getOrgNo()); + r.setHarmonicName(deptDTO.getName()); + r.setSort(deptDTO.getSort()); + eventVO.add(r); + } - //初始化指标类型(横向) - List arrayVOList = new ArrayList<>(); - List rm = new ArrayList<>(); - for (DeptDTO deptDTO : deptDTOList) { - RStatHarmonicMVO r = new RStatHarmonicMVO(); - r.setHarmonicName(deptDTO.getName()); - r.setSort(deptDTO.getSort()); - r.setOverLimitMeasurementAverage(0); - r.setOverLimitMeasurementAccrued(0); - r.setAverageOverDay(0.0F); - r.setOverDay(0); - r.setOverLimitMeasurementRatioAverage(0.0F); - r.setOverLimitMeasurementRatioAccrued(0.0F); - rm.add(r); - } - for (DictData lineTypeDatum : lineTypeData) { - RArrayVO r = new RArrayVO(); - r.setRowName(lineTypeDatum.getName()); - r.setColumns(rm); - r.setSort(lineTypeDatum.getSort()); - arrayVOList.add(r); - } - //根据检测点对象分组 - Map> MeasurementTypeClassMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicOrgQ::getHarmonicType)); - //重新生成数据结构 - MeasurementTypeClassMap.forEach((key, value) -> { - if (lineTypeMap.containsKey(key)) { - RArrayVO arrayVO = new RArrayVO(); - DictData data = lineTypeMap.get(key); - arrayVO.setRowName(data.getName()); - arrayVO.setSort(data.getSort()); - List b = new ArrayList<>(); - b.addAll(rm); - for (RStatHarmonicOrgQ orgY : value) { - RStatHarmonicMVO r = BeanUtil.copyProperties(orgY, RStatHarmonicMVO.class); - DeptDTO data1 = deptMap.get(orgY.getOrgNo()); - if (ObjectUtil.isNotNull(data1)) { - r.setHarmonicName(data1.getName()); - r.setSort(data1.getSort()); - r.setOverDay(0); - b.add(r); } + //根据监测点类别获取差集 + Map> listMap = value.stream().collect(Collectors.groupingBy(RStatHarmonicOrgQ::getOrgNo)); + List notDeptDTOS = deptDTOList.stream().filter(r -> !listMap.containsKey(r.getId())) + .collect(Collectors.toList()); + this.assignDict(notDeptDTOS, eventVO, arrayVO); + eventVO.sort(Comparator.comparing(statHarmonic -> statHarmonic.getSort())); + arrayVOList.add(arrayVO); } - Map linkedHashMap = new LinkedHashMap<>(); - for (RStatHarmonicMVO harmonicMVO : b) { - linkedHashMap.put(harmonicMVO.getHarmonicName(), harmonicMVO); - } - List aa = new ArrayList<>(linkedHashMap.values()); - aa.sort(Comparator.comparing(rStatHarmonicMVO -> rStatHarmonicMVO.getSort())); - arrayVO.setColumns(aa); - arrayVOList.add(arrayVO); - } - - }); - Map linkedHashMap = new LinkedHashMap<>(); - for (RArrayVO rStatHarmonicMVO : arrayVOList) { - linkedHashMap.put(rStatHarmonicMVO.getRowName(), rStatHarmonicMVO); + }); + } + //处理主节点不存在的集合 + List notMeasurementList = steadyData.stream().filter(r -> !measurementMap.containsKey(r.getId())) + .collect(Collectors.toList()); + for (DictData notData : notMeasurementList) { + List statharmonicVO = new ArrayList<>(); + RArrayVO arrayVO = new RArrayVO(); + arrayVO.setRowName(notData.getName()); + arrayVO.setSort(notData.getSort()); + this.assignDict(deptDTOList, statharmonicVO, arrayVO); + statharmonicVO.sort(Comparator.comparing(statHarmonic -> statHarmonic.getSort())); + arrayVOList.add(arrayVO); } - List aa = new ArrayList<>(linkedHashMap.values()); arrayVOList.sort(Comparator.comparing(rArrayVO -> rArrayVO.getSort())); - return aa; + return arrayVOList; } @Override @@ -218,7 +210,9 @@ public class RStatHarmonicOrgQServiceImpl extends ServiceImpl deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + List deptList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + List deptDTOList= DeptUtil.getDeptSubsetVOList(deptList,param.getId()); + //获取部门id集合 List deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList()); Map deptMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity())); @@ -284,7 +278,9 @@ public class RStatHarmonicOrgQServiceImpl extends ServiceImpl getPwRStatHarmonicOrgQIcon(RStatHarmonicMParam param) { //各单位类型 - List deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + List deptList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + List deptDTOList= DeptUtil.getDeptSubsetVOList(deptList,param.getId()); + Map deptMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity())); //获取部门id集合 List deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList()); diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatHarmonicOrgYServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatHarmonicOrgYServiceImpl.java index 0144249f6..0d0297f8f 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatHarmonicOrgYServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatHarmonicOrgYServiceImpl.java @@ -6,15 +6,18 @@ import cn.hutool.core.lang.Assert; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.njcn.common.pojo.constant.BizParamConstant; import com.njcn.common.pojo.param.StatisticsBizBaseParam; +import com.njcn.harmonic.mapper.StatHarmonicOrgMMapper; +import com.njcn.harmonic.mapper.StatHarmonicOrgQMapper; import com.njcn.harmonic.pojo.param.RStatHarmonicMParam; +import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam; import com.njcn.harmonic.pojo.po.RStatHarmonicOrgY; import com.njcn.harmonic.mapper.StatHarmonicOrgYMapper; -import com.njcn.harmonic.pojo.vo.RArrayVO; -import com.njcn.harmonic.pojo.vo.RIconVO; -import com.njcn.harmonic.pojo.vo.RStatHarmonicMVO; +import com.njcn.harmonic.pojo.vo.*; import com.njcn.harmonic.service.majornetwork.RStatHarmonicOrgYService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.harmonic.utils.DeptUtil; import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.enums.DicDataEnum; import com.njcn.system.enums.DicDataTypeEnum; @@ -44,66 +47,100 @@ public class RStatHarmonicOrgYServiceImpl extends ServiceImpl getRStatHarmonicYAll(StatisticsBizBaseParam param) { - //子节点 获取所有得各单位类型 - List deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); - //获取部门id集合 - List deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList()); - Map deptMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity())); //对象主节点 获取所有得指标类型 - List lineTypeData = dicDataFeignClient.getDicDataByTypeCode + List steadyData = dicDataFeignClient.getDicDataByTypeCode (DicDataTypeEnum.STEADY_STATIS.getCode()).getData(); - Map lineTypeMap = lineTypeData.stream() + List steadyDataIds = steadyData.stream().map(DictData::getId).collect(Collectors.toList()); + Map lineTypeMap = steadyData.stream() .collect(Collectors.toMap(DictData::getId, Function.identity())); + + + //子节点 获取所有得各单位类型 + List deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + //获取子部门(按照code改变数据结构) + List deptLevelVOList = DeptUtil.getDeptLevelVOList(deptDTOList, param.getId()); + Map deptMap = deptLevelVOList.stream().collect(Collectors.toMap(DeptLevelVO::getCode, Function.identity())); + //获取主网id信息 DictData mainnetData = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData(); - //数据库查询 - List list = statHarmonicOrgYMapper.selectList(new LambdaQueryWrapper() - .eq(RStatHarmonicOrgY::getDataType,mainnetData.getId()) - .in(RStatHarmonicOrgY::getOrgNo,deptIds) - .ge(StrUtil.isNotBlank(param.getStartTime()), RStatHarmonicOrgY::getDataDate, param.getStartTime()) - .le(StrUtil.isNotBlank(param.getEndTime()), RStatHarmonicOrgY::getDataDate, param.getEndTime())); - + StatSubstationBizBaseParam baseParam; //初始化指标类型(横向) - List arrayVOList=new ArrayList<>(); - List rm=new ArrayList<>(); - for (DeptDTO deptDTO : deptDTOList) { - RStatHarmonicMVO r = new RStatHarmonicMVO(); - r.setHarmonicName(deptDTO.getName()); - r.setSort(deptDTO.getSort()); - r.setOverLimitMeasurementAverage(0); - r.setOverLimitMeasurementAccrued(0); - r.setAverageOverDay(0.0F); - r.setOverDay(0); - r.setOverLimitMeasurementRatioAverage(0.0F); - r.setOverLimitMeasurementRatioAccrued(0.0F); - rm.add(r); + List arrayVOList = new ArrayList<>(); + List newList=new ArrayList<>(); + for (DeptLevelVO deptLevelVO : deptLevelVOList) { + //数据库查询 + baseParam=BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class); + //没有子部门说明就是最底层部门 + if(CollUtil.isNotEmpty(deptLevelVO.getDeptList())){ + List deptCodeS = deptLevelVO.getDeptList().stream().map(DeptLevelVO::getCode).collect(Collectors.toList()); + baseParam.setIds(deptCodeS); + }else{ + baseParam.setIds(Arrays.asList(deptLevelVO.getCode())); + } + //区分 年 季 月 + String string = param.getType().toString(); + List list = new ArrayList<>(); + switch (string) { + //查询各单位累计超标监测点数-年数据 + case BizParamConstant.STAT_BIZ_YEAR: + list = statHarmonicOrgYMapper.selectInfoList(baseParam,steadyDataIds,mainnetData.getId()); + break; + //查询各单位累计超标监测点数-季数据 + case BizParamConstant.STAT_BIZ_QUARTER: + list = statHarmonicOrgQMapper.selectInfoList(baseParam,steadyDataIds,mainnetData.getId()); + break; + //查询各单位累计超标监测点数-月数据 + case BizParamConstant.STAT_BIZ_MONTH: + list = statHarmonicOrgMMapper.selectInfoList(baseParam,steadyDataIds,mainnetData.getId()); + break; + default: + break; + } + //获取数据库数据 + Map orgMap = list.stream() + .collect(Collectors.toMap(RStatHarmonicVO::getHarmonicType, Function.identity())); + + List notMeasurementList = steadyData.stream().filter(r -> !orgMap.containsKey(r.getId())) + .collect(Collectors.toList()); + for (RStatHarmonicVO org : list) { + org.setOrgNo(deptLevelVO.getCode()); + } + RStatHarmonicVO org; + for (DictData notData : notMeasurementList) { + org=new RStatHarmonicVO(); + org.setOrgNo(deptLevelVO.getCode()); + org.setHarmonicType(notData.getId()); + org.setOverLimitMeasurementAverage(0); + org.setOverLimitMeasurementAccrued(0); + org.setAverageOverDay(0.0F); + org.setOverLimitMeasurementRatioAverage(0.0F); + org.setOverLimitMeasurementRatioAccrued(0.0F); + list.add(org); + } + newList.addAll(list); } - for (DictData lineTypeDatum : lineTypeData) { - RArrayVO r = new RArrayVO(); - r.setRowName(lineTypeDatum.getName()); - r.setColumns(rm); - r.setSort(lineTypeDatum.getSort()); - arrayVOList.add(r); - } - //根据检测点对象分组 - Map> MeasurementTypeClassMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicOrgY::getHarmonicType)); + + Map> harmonicMap = + newList.stream().collect(Collectors.groupingBy(RStatHarmonicVO::getHarmonicType)); + //重新生成数据结构 - MeasurementTypeClassMap.forEach((key, value) -> { + harmonicMap.forEach((key, value) -> { if(lineTypeMap.containsKey(key)){ - RArrayVO arrayVO=new RArrayVO(); + RArrayVO arrayVO=new RArrayVO(); DictData data = lineTypeMap.get(key); arrayVO.setRowName(data.getName()); arrayVO.setSort(data.getSort()); List b=new ArrayList<>(); - b.addAll(rm); - for (RStatHarmonicOrgY orgY : value) { + for (RStatHarmonicVO orgY : value) { RStatHarmonicMVO r = BeanUtil.copyProperties(orgY, RStatHarmonicMVO.class); - DeptDTO data1 = deptMap.get(orgY.getOrgNo()); + DeptLevelVO data1 = deptMap.get(orgY.getOrgNo()); if (ObjectUtil.isNotNull(data1)){ r.setHarmonicName(data1.getName()); r.setSort(data1.getSort()); @@ -111,34 +148,28 @@ public class RStatHarmonicOrgYServiceImpl extends ServiceImpl linkedHashMap=new LinkedHashMap<>(); - for (RStatHarmonicMVO harmonicMVO : b) { - linkedHashMap.put(harmonicMVO.getHarmonicName(),harmonicMVO); - } - List aa=new ArrayList<>(linkedHashMap.values()); - aa.sort(Comparator.comparing(rStatHarmonicMVO -> rStatHarmonicMVO.getSort())); - arrayVO.setColumns(aa); + b.sort(Comparator.comparing(rStatHarmonicMVO -> rStatHarmonicMVO.getSort())); + arrayVO.setColumns(b); arrayVOList.add(arrayVO); } - }); - Map linkedHashMap=new LinkedHashMap<>(); - for (RArrayVO rStatHarmonicMVO : arrayVOList) { - linkedHashMap.put(rStatHarmonicMVO.getRowName(),rStatHarmonicMVO); - } - List aa=new ArrayList<>(linkedHashMap.values()); + arrayVOList.sort(Comparator.comparing(rArrayVO -> rArrayVO.getSort())); - return aa; + return arrayVOList; } @Override public List getRStatHarmonicOrgYIcon(RStatHarmonicMParam param) { - //各单位类型 + //子节点 获取所有得各单位类型 List deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); - Map deptMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity())); - //获取部门id集合 - List deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList()); - //指标对象类型属性 + + //获取子部门(按照code改变数据结构) + List deptLevelVOList = DeptUtil.getDeptLevelVOList(deptDTOList, param.getId()); + Map deptMap = deptLevelVOList.stream().collect(Collectors.toMap(DeptLevelVO::getCode, Function.identity())); + + //获取主网id信息 + DictData mainnetData = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData(); + DictData harmonicData; //判断是是否传入检测点信息值(电压) if(StrUtil.isBlank(param.getStasisID())&&StrUtil.isBlank(param.getMonitorID())){ @@ -152,66 +183,174 @@ public class RStatHarmonicOrgYServiceImpl extends ServiceImpl arrayVOList=new ArrayList<>(); - List rStatHarmonicVoltageMS = statHarmonicOrgYMapper.selectList(new LambdaQueryWrapper() - .eq(RStatHarmonicOrgY::getDataType,mainnetData.getId()) - .in(RStatHarmonicOrgY::getOrgNo,deptIds) - .eq(RStatHarmonicOrgY::getHarmonicType, harmonicData.getId()) - .ge(StrUtil.isNotBlank(param.getStartTime()), RStatHarmonicOrgY::getDataDate, param.getStartTime()) - .le(StrUtil.isNotBlank(param.getEndTime()), RStatHarmonicOrgY::getDataDate, param.getEndTime()) - ); - //将数据转换为map进行便利 - Map> voltageMMap = rStatHarmonicVoltageMS.stream() - .collect(Collectors.groupingBy(RStatHarmonicOrgY::getOrgNo)); - //对象 - if (CollUtil.isNotEmpty(rStatHarmonicVoltageMS)){ - voltageMMap.forEach((key, value) -> { - if(deptMap.containsKey(key)){ - DeptDTO data = deptMap.get(key); - for (RStatHarmonicOrgY orgY : value) { - RIconVO rIconVO = new RIconVO(); - rIconVO.setRowName(data.getName()); - rIconVO.setSort(data.getSort()); - rIconVO.setOverLimitMeasurementAccrued(orgY.getOverLimitMeasurementAccrued()); - rIconVO.setOverLimitMeasurementAverage(orgY.getOverLimitMeasurementAverage()); - rIconVO.setOverLimitMeasurementRatioAccrued(orgY.getOverLimitMeasurementRatioAccrued()); - rIconVO.setOverLimitMeasurementRatioAverage(orgY.getOverLimitMeasurementRatioAverage()); - rIconVO.setAverageOverDay(orgY.getAverageOverDay()); - arrayVOList.add(rIconVO); - } + for (DeptLevelVO deptLevelVO : deptLevelVOList) { + //数据库查询 + baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class); + //没有子部门说明就是最底层部门 + if (CollUtil.isNotEmpty(deptLevelVO.getDeptList())) { + List deptCodeS = deptLevelVO.getDeptList().stream().map(DeptLevelVO::getCode).collect(Collectors.toList()); + baseParam.setIds(deptCodeS); + } else { + baseParam.setIds(Arrays.asList(deptLevelVO.getCode())); + } + //区分 年 季 月 + String string = param.getType().toString(); + List list = new ArrayList<>(); + switch (string) { + //查询各单位累计超标监测点数-年数据 + case BizParamConstant.STAT_BIZ_YEAR: + list = statHarmonicOrgYMapper.selectInfoList(baseParam, Arrays.asList(harmonicData.getId()), mainnetData.getId()); + break; + //查询各单位累计超标监测点数-季数据 + case BizParamConstant.STAT_BIZ_QUARTER: + list = statHarmonicOrgQMapper.selectInfoList(baseParam, Arrays.asList(harmonicData.getId()), mainnetData.getId()); + break; + //查询各单位累计超标监测点数-月数据 + case BizParamConstant.STAT_BIZ_MONTH: + list = statHarmonicOrgMMapper.selectInfoList(baseParam, Arrays.asList(harmonicData.getId()), mainnetData.getId()); + break; + default: + break; + } - } - }); - } - //处理主节点不存在的集合 - List notMeasurementList = deptDTOList.stream().filter(r -> !voltageMMap.containsKey(r.getCode())) - .collect(Collectors.toList()); - for (DeptDTO notData : notMeasurementList) { - RIconVO iconVO = new RIconVO(); - iconVO.setRowName(notData.getName()); - iconVO.setSort(notData.getSort()); - iconVO.setOverLimitMeasurementAverage(0); - iconVO.setOverLimitMeasurementAccrued(0); - iconVO.setOverLimitMeasurementRatioAverage(0.0F); - iconVO.setOverLimitMeasurementRatioAccrued(0.0F); - iconVO.setAverageOverDay(0.0F); - arrayVOList.add(iconVO); + RIconVO rIconVO = new RIconVO(); + rIconVO.setRowName(deptLevelVO.getName()); + rIconVO.setSort(deptLevelVO.getSort()); + if(CollUtil.isNotEmpty(list)){ + rIconVO.setOverLimitMeasurementAccrued(list.get(0).getOverLimitMeasurementAccrued()); + rIconVO.setOverLimitMeasurementAverage(list.get(0).getOverLimitMeasurementAverage()); + rIconVO.setOverLimitMeasurementRatioAccrued(list.get(0).getOverLimitMeasurementRatioAccrued()); + rIconVO.setOverLimitMeasurementRatioAverage(list.get(0).getOverLimitMeasurementRatioAverage()); + rIconVO.setAverageOverDay(list.get(0).getAverageOverDay()); + }else{ + rIconVO.setOverLimitMeasurementAverage(0); + rIconVO.setOverLimitMeasurementAccrued(0); + rIconVO.setOverLimitMeasurementRatioAverage(0.0F); + rIconVO.setOverLimitMeasurementRatioAccrued(0.0F); + rIconVO.setAverageOverDay(0.0F); + } + arrayVOList.add(rIconVO); } + arrayVOList.sort(Comparator.comparing(rIconVO -> rIconVO.getSort())); return arrayVOList; } @Override public List getPwRStatHarmonicYAll(StatisticsBizBaseParam param) { + //对象主节点 获取所有得指标类型 + List steadyData = dicDataFeignClient.getDicDataByTypeCode + (DicDataTypeEnum.STEADY_STATIS.getCode()).getData(); + List steadyDataIds = steadyData.stream().map(DictData::getId).collect(Collectors.toList()); + Map lineTypeMap = steadyData.stream() + .collect(Collectors.toMap(DictData::getId, Function.identity())); + + + //子节点 获取所有得各单位类型 + List deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + + //获取子部门(按照code改变数据结构) + List deptLevelVOList = DeptUtil.getDeptLevelVOList(deptDTOList, param.getId()); + Map deptMap = deptLevelVOList.stream().collect(Collectors.toMap(DeptLevelVO::getCode, Function.identity())); + + //获取主网id信息 + DictData distributionData = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData(); + + StatSubstationBizBaseParam baseParam; + //初始化指标类型(横向) + List arrayVOList = new ArrayList<>(); + List newList=new ArrayList<>(); + for (DeptLevelVO deptLevelVO : deptLevelVOList) { + //数据库查询 + baseParam=BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class); + //没有子部门说明就是最底层部门 + if(CollUtil.isNotEmpty(deptLevelVO.getDeptList())){ + List deptCodeS = deptLevelVO.getDeptList().stream().map(DeptLevelVO::getCode).collect(Collectors.toList()); + baseParam.setIds(deptCodeS); + }else{ + baseParam.setIds(Arrays.asList(deptLevelVO.getCode())); + } + //区分 年 季 月 + String string = param.getType().toString(); + List list = new ArrayList<>(); + switch (string) { + //查询各单位累计超标监测点数-年数据 + case BizParamConstant.STAT_BIZ_YEAR: + list = statHarmonicOrgYMapper.selectInfoList(baseParam,steadyDataIds,distributionData.getId()); + break; + //查询各单位累计超标监测点数-季数据 + case BizParamConstant.STAT_BIZ_QUARTER: + list = statHarmonicOrgQMapper.selectInfoList(baseParam,steadyDataIds,distributionData.getId()); + break; + //查询各单位累计超标监测点数-月数据 + case BizParamConstant.STAT_BIZ_MONTH: + list = statHarmonicOrgMMapper.selectInfoList(baseParam,steadyDataIds,distributionData.getId()); + break; + default: + break; + } + + + Map orgMap = list.stream() + .collect(Collectors.toMap(RStatHarmonicVO::getHarmonicType, Function.identity())); + + List notMeasurementList = steadyData.stream().filter(r -> !orgMap.containsKey(r.getId())) + .collect(Collectors.toList()); + for (RStatHarmonicVO org : list) { + org.setOrgNo(deptLevelVO.getCode()); + } + RStatHarmonicVO org; + for (DictData notData : notMeasurementList) { + org=new RStatHarmonicVO(); + org.setOrgNo(deptLevelVO.getCode()); + org.setHarmonicType(notData.getId()); + org.setOverLimitMeasurementAverage(0); + org.setOverLimitMeasurementAccrued(0); + org.setAverageOverDay(0.0F); + org.setOverLimitMeasurementRatioAverage(0.0F); + org.setOverLimitMeasurementRatioAccrued(0.0F); + list.add(org); + } + newList.addAll(list); + } + + Map> harmonicMap = + newList.stream().collect(Collectors.groupingBy(RStatHarmonicVO::getHarmonicType)); + + //重新生成数据结构 + harmonicMap.forEach((key, value) -> { + if(lineTypeMap.containsKey(key)){ + RArrayVO arrayVO=new RArrayVO(); + DictData data = lineTypeMap.get(key); + arrayVO.setRowName(data.getName()); + arrayVO.setSort(data.getSort()); + List b=new ArrayList<>(); + for (RStatHarmonicVO orgY : value) { + RStatHarmonicMVO r = BeanUtil.copyProperties(orgY, RStatHarmonicMVO.class); + DeptLevelVO data1 = deptMap.get(orgY.getOrgNo()); + if (ObjectUtil.isNotNull(data1)){ + r.setHarmonicName(data1.getName()); + r.setSort(data1.getSort()); + r.setOverDay(0); + b.add(r); + } + } + b.sort(Comparator.comparing(rStatHarmonicMVO -> rStatHarmonicMVO.getSort())); + arrayVO.setColumns(b); + arrayVOList.add(arrayVO); + } + }); + + arrayVOList.sort(Comparator.comparing(rArrayVO -> rArrayVO.getSort())); + return arrayVOList; + } + + @Override + public List getPwRStatHarmonicYOldAll(StatisticsBizBaseParam param,Integer type) { //对象主节点 获取所有的稳态类型 List steadyData = dicDataFeignClient.getDicDataByTypeCode( DicDataTypeEnum.STEADY_STATIS.getCode()).getData(); @@ -219,25 +358,34 @@ public class RStatHarmonicOrgYServiceImpl extends ServiceImpl deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + List deptList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + List deptDTOList= DeptUtil.getDeptSubsetVOList(deptList,param.getId()); + //获取部门id集合 List deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList()); Map deptMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity())); - //获取配网信息 - DictData distributionData = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData(); + DictData dictData ; + if(type==1){ + //获取主网信息 + dictData = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData(); + }else{ + //获取配网信息 + dictData = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData(); + } + //初始化指标类型(横向) List arrayVOList = new ArrayList<>(); //数据库查询 List list = statHarmonicOrgYMapper.selectList(new LambdaQueryWrapper() - .eq(RStatHarmonicOrgY::getDataType, distributionData.getId()) - .in(RStatHarmonicOrgY::getOrgNo,deptIds) + .eq(RStatHarmonicOrgY::getDataType, dictData.getId()) + .in(RStatHarmonicOrgY::getOrgNo, deptIds) .ge(param.getStartTime() != null, RStatHarmonicOrgY::getDataDate, param.getStartTime()) .le(param.getEndTime() != null, RStatHarmonicOrgY::getDataDate, param.getEndTime())); //根据稳态指标分组 Map> measurementMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicOrgY::getHarmonicType)); //判断对象是否为空 - if(CollUtil.isNotEmpty(list)){ + if (CollUtil.isNotEmpty(list)) { //重新生成数据结构 measurementMap.forEach((key, value) -> { List eventVO = new ArrayList<>(); @@ -254,6 +402,7 @@ public class RStatHarmonicOrgYServiceImpl extends ServiceImpl> listMap = value.stream().collect(Collectors.groupingBy(RStatHarmonicOrgY::getOrgNo)); @@ -283,12 +432,15 @@ public class RStatHarmonicOrgYServiceImpl extends ServiceImpl getPwRStatHarmonicOrgYIcon(RStatHarmonicMParam param) { - //各单位类型 + //子节点 获取所有得各单位类型 List deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); - Map deptMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity())); - //获取部门id集合 - List deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList()); - //指标对象类型属性 + + //获取子部门(按照code改变数据结构) + List deptLevelVOList = DeptUtil.getDeptLevelVOList(deptDTOList, param.getId()); + + //获取主网id信息 + DictData mainnetData = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData(); + DictData harmonicData; //判断是是否传入检测点信息值(电压) if(StrUtil.isBlank(param.getStasisID())&&StrUtil.isBlank(param.getMonitorID())){ @@ -302,19 +454,104 @@ public class RStatHarmonicOrgYServiceImpl extends ServiceImpl arrayVOList=new ArrayList<>(); + for (DeptLevelVO deptLevelVO : deptLevelVOList) { + //数据库查询 + baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class); + //没有子部门说明就是最底层部门 + if (CollUtil.isNotEmpty(deptLevelVO.getDeptList())) { + List deptCodeS = deptLevelVO.getDeptList().stream().map(DeptLevelVO::getCode).collect(Collectors.toList()); + baseParam.setIds(deptCodeS); + } else { + baseParam.setIds(Arrays.asList(deptLevelVO.getCode())); + } + //区分 年 季 月 + String string = param.getType().toString(); + List list = new ArrayList<>(); + switch (string) { + //查询各单位累计超标监测点数-年数据 + case BizParamConstant.STAT_BIZ_YEAR: + list = statHarmonicOrgYMapper.selectInfoList(baseParam, Arrays.asList(harmonicData.getId()), mainnetData.getId()); + break; + //查询各单位累计超标监测点数-季数据 + case BizParamConstant.STAT_BIZ_QUARTER: + list = statHarmonicOrgQMapper.selectInfoList(baseParam, Arrays.asList(harmonicData.getId()), mainnetData.getId()); + break; + //查询各单位累计超标监测点数-月数据 + case BizParamConstant.STAT_BIZ_MONTH: + list = statHarmonicOrgMMapper.selectInfoList(baseParam, Arrays.asList(harmonicData.getId()), mainnetData.getId()); + break; + default: + break; + } + + RIconVO rIconVO = new RIconVO(); + rIconVO.setRowName(deptLevelVO.getName()); + rIconVO.setSort(deptLevelVO.getSort()); + if(CollUtil.isNotEmpty(list)){ + rIconVO.setOverLimitMeasurementAccrued(list.get(0).getOverLimitMeasurementAccrued()); + rIconVO.setOverLimitMeasurementAverage(list.get(0).getOverLimitMeasurementAverage()); + rIconVO.setOverLimitMeasurementRatioAccrued(list.get(0).getOverLimitMeasurementRatioAccrued()); + rIconVO.setOverLimitMeasurementRatioAverage(list.get(0).getOverLimitMeasurementRatioAverage()); + rIconVO.setAverageOverDay(list.get(0).getAverageOverDay()); + }else{ + rIconVO.setOverLimitMeasurementAverage(0); + rIconVO.setOverLimitMeasurementAccrued(0); + rIconVO.setOverLimitMeasurementRatioAverage(0.0F); + rIconVO.setOverLimitMeasurementRatioAccrued(0.0F); + rIconVO.setAverageOverDay(0.0F); + } + arrayVOList.add(rIconVO); + } + + arrayVOList.sort(Comparator.comparing(rIconVO -> rIconVO.getSort())); + return arrayVOList; + } + + @Override + public List getPwRStatHarmonicOrgYOldIcon(RStatHarmonicMParam param,Integer type) { + //各单位类型 + List deptList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + List deptDTOList= DeptUtil.getDeptSubsetVOList(deptList,param.getId()); + + Map deptMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity())); + //获取部门id集合 + List deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList()); + //指标对象类型属性 + DictData harmonicData; + //判断是是否传入检测点信息值(电压) + if (StrUtil.isBlank(param.getStasisID()) && StrUtil.isBlank(param.getMonitorID())) { + //指标对象类型 + List indicatorTypeDate = dicDataFeignClient.getDicDataByTypeCode( + DicDataTypeEnum.STEADY_STATIS.getCode()).getData(); + indicatorTypeDate.sort(Comparator.comparing(data -> data.getSort())); + harmonicData = indicatorTypeDate.get(0); + } else { + //获取指标对象(频率偏差) + harmonicData = dicDataFeignClient.getDicDataById( + param.getStasisID()).getData(); + } //反防止参数查询数据报错 Assert.isTrue( - CollUtil.isNotEmpty(deptDTOList)||ObjectUtil.isNotNull(harmonicData) + CollUtil.isNotEmpty(deptDTOList) || ObjectUtil.isNotNull(harmonicData) , "各单位或者指标类型为空,请检查入参是否准确"); - - //获取配网信息 - DictData distributionData = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData(); + DictData dictData ; + if(type==1){ + //获取主网信息 + dictData = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData(); + }else{ + //获取配网信息 + dictData = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData(); + } //初始化对象 - List arrayVOList=new ArrayList<>(); + List arrayVOList = new ArrayList<>(); List rStatHarmonicVoltageMS = statHarmonicOrgYMapper.selectList(new LambdaQueryWrapper() - .eq(RStatHarmonicOrgY::getDataType,distributionData.getId()) - .in(RStatHarmonicOrgY::getOrgNo,deptIds) + .eq(RStatHarmonicOrgY::getDataType, dictData.getId()) + .in(RStatHarmonicOrgY::getOrgNo, deptIds) .eq(RStatHarmonicOrgY::getHarmonicType, harmonicData.getId()) .ge(StrUtil.isNotBlank(param.getStartTime()), RStatHarmonicOrgY::getDataDate, param.getStartTime()) .le(StrUtil.isNotBlank(param.getEndTime()), RStatHarmonicOrgY::getDataDate, param.getEndTime()) @@ -323,19 +560,19 @@ public class RStatHarmonicOrgYServiceImpl extends ServiceImpl> voltageMMap = rStatHarmonicVoltageMS.stream() .collect(Collectors.groupingBy(RStatHarmonicOrgY::getOrgNo)); //对象 - if (CollUtil.isNotEmpty(rStatHarmonicVoltageMS)){ + if (CollUtil.isNotEmpty(rStatHarmonicVoltageMS)) { voltageMMap.forEach((key, value) -> { - if(deptMap.containsKey(key)){ + if (deptMap.containsKey(key)) { DeptDTO data = deptMap.get(key); - for (RStatHarmonicOrgY orgY : value) { + for (RStatHarmonicOrgY orgQ : value) { RIconVO rIconVO = new RIconVO(); rIconVO.setRowName(data.getName()); rIconVO.setSort(data.getSort()); - rIconVO.setOverLimitMeasurementAccrued(orgY.getOverLimitMeasurementAccrued()); - rIconVO.setOverLimitMeasurementAverage(orgY.getOverLimitMeasurementAverage()); - rIconVO.setOverLimitMeasurementRatioAccrued(orgY.getOverLimitMeasurementRatioAccrued()); - rIconVO.setOverLimitMeasurementRatioAverage(orgY.getOverLimitMeasurementRatioAverage()); - rIconVO.setAverageOverDay(orgY.getAverageOverDay()); + rIconVO.setOverLimitMeasurementAccrued(orgQ.getOverLimitMeasurementAccrued()); + rIconVO.setOverLimitMeasurementAverage(orgQ.getOverLimitMeasurementAverage()); + rIconVO.setOverLimitMeasurementRatioAccrued(orgQ.getOverLimitMeasurementRatioAccrued()); + rIconVO.setOverLimitMeasurementRatioAverage(orgQ.getOverLimitMeasurementRatioAverage()); + rIconVO.setAverageOverDay(orgQ.getAverageOverDay()); arrayVOList.add(rIconVO); } @@ -363,7 +600,7 @@ public class RStatHarmonicOrgYServiceImpl extends ServiceImpl @@ -13,4 +17,17 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface RMpWpPowerDetailMService extends IService { + /** + * 详细数据表分页查询 + * @param param + * @return + */ + Page getWindFarmDetailInfo(PowerQualityParam.PowerQualityInfoParam param); + + /** + * 电气化铁路分页查询 + * @param param + * @return + */ + Page getRailwayDetailInfo(PowerQualityParam param); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpEmissionMServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpEmissionMServiceImpl.java index 3bd6cba8a..c76011738 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpEmissionMServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpEmissionMServiceImpl.java @@ -1,6 +1,7 @@ package com.njcn.harmonic.service.specialanalysis.impl; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.common.pojo.enums.response.CommonResponseEnum; @@ -133,7 +134,11 @@ public class RMpEmissionMServiceImpl extends ServiceImpl rMpEmissionIMList = rMpEmissionIMService.list(emissionIWrapper); + RMpEmissionIM emissionI =new RMpEmissionIM(); + if(CollectionUtil.isNotEmpty(rMpEmissionIMList)){ + emissionI = rMpEmissionIMList.get(0); + } //查询风电场发射特性/各次谐波电流超标占比 LambdaQueryWrapper emissionIExcessRateWrapper = new LambdaQueryWrapper<>(); @@ -142,7 +147,11 @@ public class RMpEmissionMServiceImpl extends ServiceImpl rateMList = rMpEmissionIExcessRateMService.list(emissionIExcessRateWrapper); + RMpEmissionIExcessRateM rate =new RMpEmissionIExcessRateM(); + if(CollectionUtil.isNotEmpty(rateMList)){ + rate = rateMList.get(0); + } RMpEmissionChartVO rMpEmissionChartVO = new RMpEmissionChartVO(); RMpEmissionIMVO rMpEmissionIMVO = new RMpEmissionIMVO(); diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpInfluenceMServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpInfluenceMServiceImpl.java index 514eb3782..c484ca14c 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpInfluenceMServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpInfluenceMServiceImpl.java @@ -1,6 +1,7 @@ package com.njcn.harmonic.service.specialanalysis.impl; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.common.pojo.enums.response.CommonResponseEnum; @@ -8,6 +9,7 @@ import com.njcn.common.pojo.exception.BusinessException; import com.njcn.device.pms.api.MonitorClient; import com.njcn.harmonic.mapper.specialanalysis.RMpInfluenceMMapper; import com.njcn.harmonic.pojo.param.RMpInfluenceParam; +import com.njcn.harmonic.pojo.po.RMpEmissionIExcessRateM; import com.njcn.harmonic.pojo.po.RMpInfluenceM; import com.njcn.harmonic.pojo.po.RMpInfluenceVExcessRateM; import com.njcn.harmonic.pojo.po.RMpInfluenceVM; @@ -125,7 +127,11 @@ public class RMpInfluenceMServiceImpl extends ServiceImpl list = rMpInfluenceVMService.list(emissionIWrapper); + RMpInfluenceVM emissionI =new RMpInfluenceVM(); + if(CollectionUtil.isNotEmpty(list)){ + emissionI = list.get(0); + } //查询风电场发射特性/各次谐波电压超标占比 LambdaQueryWrapper emissionIExcessRateWrapper = new LambdaQueryWrapper<>(); @@ -134,7 +140,12 @@ public class RMpInfluenceMServiceImpl extends ServiceImpl rateMS = rMpInfluenceVExcessRateMService.list(emissionIExcessRateWrapper); + RMpInfluenceVExcessRateM rate=new RMpInfluenceVExcessRateM(); + if(CollectionUtil.isNotEmpty(list)){ + rate=rateMS.get(0); + } RMpInfluenceChartVO rMpInfluenceChartVO = new RMpInfluenceChartVO(); diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpWpPowerDetailMServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpWpPowerDetailMServiceImpl.java index 8c19f6dc5..049ffa517 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpWpPowerDetailMServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpWpPowerDetailMServiceImpl.java @@ -1,11 +1,37 @@ package com.njcn.harmonic.service.specialanalysis.impl; -import com.njcn.harmonic.pojo.po.RMpWpPowerDetailM; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.common.pojo.constant.BizParamConstant; +import com.njcn.device.pms.api.MonitorClient; +import com.njcn.device.pms.api.TractionStationClient; +import com.njcn.device.pms.pojo.dto.PmsMonitorDTO; +import com.njcn.device.pms.pojo.dto.PmsTractionStationDTO; +import com.njcn.device.pms.pojo.param.PmsMonitorParam; +import com.njcn.device.pms.pojo.param.PmsTractionStationParam; +import com.njcn.harmonic.mapper.specialanalysis.RMpRailwayTractionDetailMapper; +import com.njcn.harmonic.mapper.specialanalysis.RMpWpPowerDetailQMapper; +import com.njcn.harmonic.mapper.specialanalysis.RMpWpPowerDetailYMapper; +import com.njcn.harmonic.pojo.param.PowerQualityParam; +import com.njcn.harmonic.pojo.po.*; import com.njcn.harmonic.mapper.specialanalysis.RMpWpPowerDetailMMapper; +import com.njcn.harmonic.pojo.vo.RMpRailwayTractionDetailVO; +import com.njcn.harmonic.pojo.vo.RMpWpPowerDetailVO; import com.njcn.harmonic.service.specialanalysis.RMpWpPowerDetailMService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.user.api.DeptFeignClient; +import com.njcn.user.pojo.po.Dept; +import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; + /** *

* 风电站_台区电能质量明细_月表 服务实现类 @@ -15,6 +41,131 @@ import org.springframework.stereotype.Service; * @since 2022-11-30 */ @Service +@RequiredArgsConstructor public class RMpWpPowerDetailMServiceImpl extends ServiceImpl implements RMpWpPowerDetailMService { + private final RMpWpPowerDetailQMapper rMpWpPowerDetailQMapper; + private final RMpWpPowerDetailYMapper rMpWpPowerDetailYMapper; + private final RMpRailwayTractionDetailMapper rMpRailwayTractionDetailMapper; + private final MonitorClient monitorClient; + private final DeptFeignClient deptFeignClient; + private final TractionStationClient tractionStationClient; + + @Override + public Page getWindFarmDetailInfo(PowerQualityParam.PowerQualityInfoParam param) { + //获取部门id集合 + List deptDTOS = deptFeignClient.getDirectSonSelf(param.getId()).getData(); + List deptIds = deptDTOS.stream().map(Dept::getCode).collect(Collectors.toList()); + + //根据条件查询单位下面的所有配网监测点 + PmsMonitorParam pmsMonitorParam = new PmsMonitorParam(); + //单位id + pmsMonitorParam.setOrgIds(deptIds); + pmsMonitorParam.setMonitorTag(param.getMonitorTag()); + pmsMonitorParam.setIsSpecialMonitor(1); + + //获取监测点信息 + List monitorDTOS = monitorClient.getMonitorInfoListByCond(pmsMonitorParam).getData(); + if (CollUtil.isEmpty(monitorDTOS)) { + return new Page<>(); + } + //监测点数据转换 + Map monitorMap = monitorDTOS.stream() + .collect(Collectors.toMap(PmsMonitorDTO::getId, Function.identity())); + //获取监测点id + List monitorIds = monitorDTOS + .stream().map(PmsMonitorDTO::getId).collect(Collectors.toList()); + Page page = new Page<>(); + //数据库分页查询 + switch (param.getType().toString()) { + //查询区域超标统计-年数据 + case BizParamConstant.STAT_BIZ_YEAR: + Page pageY = rMpWpPowerDetailYMapper.selectPage(new Page<>(param.getPageNum(), param.getPageSize()) + ,new LambdaQueryWrapper() + .in(RMpWpPowerDetailY::getMeasurementPointId,monitorIds) + .eq(RMpWpPowerDetailY::getMonitorTag,param.getMonitorTag()) + .ge(StrUtil.isNotBlank(param.getStartTime()), RMpWpPowerDetailY::getDataDate, param.getStartTime()) + .le(StrUtil.isNotBlank(param.getEndTime()), RMpWpPowerDetailY::getDataDate, param.getEndTime()) + ); + List rMpWpPowerDetailVOS = BeanUtil.copyToList(pageY.getRecords(), RMpWpPowerDetailVO.class); + page=BeanUtil.copyProperties(pageY,Page.class); + page.setRecords(rMpWpPowerDetailVOS); + break; + //查询区域超标统计-季数据 + case BizParamConstant.STAT_BIZ_QUARTER: + Page pageList = rMpWpPowerDetailQMapper.selectPage(new Page<>(param.getPageNum(), param.getPageSize()) + ,new LambdaQueryWrapper() + .in(RMpWpPowerDetailQ::getMeasurementPointId,monitorIds) + .eq(RMpWpPowerDetailQ::getMonitorTag,param.getMonitorTag()) + .ge(StrUtil.isNotBlank(param.getStartTime()), RMpWpPowerDetailQ::getDataDate, param.getStartTime()) + .le(StrUtil.isNotBlank(param.getEndTime()), RMpWpPowerDetailQ::getDataDate, param.getEndTime()) + ); + List rMpWpPowerDetailVOS2 = BeanUtil.copyToList(pageList.getRecords(), RMpWpPowerDetailVO.class); + page=BeanUtil.copyProperties(pageList,Page.class); + page.setRecords(rMpWpPowerDetailVOS2); + break; + //查询各区域超标统计-月数据 + case BizParamConstant.STAT_BIZ_MONTH: + Page page1= this.page(new Page<>(param.getPageNum(), param.getPageSize()) + ,new LambdaQueryWrapper() + .in(RMpWpPowerDetailM::getMeasurementPointId,monitorIds) + .eq(RMpWpPowerDetailM::getMonitorTag,param.getMonitorTag()) + .ge(StrUtil.isNotBlank(param.getStartTime()), RMpWpPowerDetailM::getDataDate, param.getStartTime()) + .le(StrUtil.isNotBlank(param.getEndTime()), RMpWpPowerDetailM::getDataDate, param.getEndTime()) + ); + List rMpWpPowerDetailVOS3 = BeanUtil.copyToList(page1.getRecords(), RMpWpPowerDetailVO.class); + page=BeanUtil.copyProperties(page1,Page.class); + page.setRecords(rMpWpPowerDetailVOS3); + break; + default: + break; + } + page.getRecords().stream().forEach(vo->{ + if(monitorMap.containsKey(vo.getMeasurementPointId())){ + PmsMonitorDTO monitorDTO = monitorMap.get(vo.getMeasurementPointId()); + vo.setOrgName(monitorDTO.getOrgName()); + vo.setMeasurementPointName(monitorDTO.getName()); + } + }); + return page; + } + + @Override + public Page getRailwayDetailInfo(PowerQualityParam param) { + //获取部门id集合 + List deptDTOS = deptFeignClient.getDirectSonSelf(param.getId()).getData(); + List deptIds = deptDTOS.stream().map(Dept::getCode).collect(Collectors.toList()); + + //根据部门信息,获取牵引站信息 + PmsTractionStationParam stationParam=new PmsTractionStationParam(); + stationParam.setOrgIds(deptIds); + List tractionStationDTOS = tractionStationClient.getPmsTractionStationInfo(stationParam).getData(); + + //获取牵引站id集合 + List ids = tractionStationDTOS.stream().map(PmsTractionStationDTO::getId).collect(Collectors.toList()); + Map dtoMap = tractionStationDTOS.stream() + .collect(Collectors.toMap(PmsTractionStationDTO::getId, Function.identity())); + + Page oldPage = rMpRailwayTractionDetailMapper.selectPage(new Page<>(param.getPageNum(), param.getPageSize()), new LambdaQueryWrapper() + .in(RMpRailwayTractionDetail::getTractionStationId, ids) + .ge(StrUtil.isNotBlank(param.getStartTime()), RMpRailwayTractionDetail::getDataDate, param.getStartTime()) + .le(StrUtil.isNotBlank(param.getEndTime()), RMpRailwayTractionDetail::getDataDate, param.getEndTime()) + ); + + List newList = BeanUtil.copyToList(oldPage.getRecords(), RMpRailwayTractionDetailVO.class); + newList.stream().forEach(vo->{ + if(dtoMap.containsKey(vo.getTractionStationId())){ + PmsTractionStationDTO dto = dtoMap.get(vo.getTractionStationId()); + vo.setOrgName(dto.getOrgName()); + vo.setRailwayType(dto.getRailwayType()); + vo.setTractionStationName(dto.getName()); + vo.setRailwayLineName(dto.getRailwayLineName()); + vo.setVoltageLevel(dto.getVoltageLevel()); + vo.setRatedCapacity(dto.getRatedCapacity()); + } + }); + Page page=BeanUtil.copyProperties(oldPage,Page.class); + page.setRecords(newList); + return page; + } } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvPowerQualityServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvPowerQualityServiceImpl.java index 58ee1bdc0..d5c22a2f1 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvPowerQualityServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvPowerQualityServiceImpl.java @@ -23,6 +23,7 @@ import com.njcn.system.enums.DicDataTypeEnum; import com.njcn.system.pojo.po.DictData; import com.njcn.user.api.DeptFeignClient; import com.njcn.user.pojo.dto.DeptDTO; +import com.njcn.user.pojo.po.Dept; import com.njcn.web.utils.WebUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -55,13 +56,13 @@ public class RStatOrgPvPowerQualityServiceImpl extends ServiceImpl deptDTOS = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + List deptDTOS = deptFeignClient.getDirectSonSelf(param.getId()).getData(); if(CollectionUtil.isEmpty(deptDTOS)){ throw new BusinessException(CommonResponseEnum.NO_DATA, "获取部门信息为空"); } - Map deptDTOMap = deptDTOS.stream().collect - (Collectors.toMap(DeptDTO::getCode, Function.identity(), (key, key2) -> key2)); - List OrgNOS = deptDTOS.stream().map(DeptDTO::getCode).collect(Collectors.toList()); + Map deptDTOMap = deptDTOS.stream().collect + (Collectors.toMap(Dept::getCode, Function.identity(), (key, key2) -> key2)); + List OrgNOS = deptDTOS.stream().map(Dept::getCode).collect(Collectors.toList()); //根据字典Code,取出字典id,拼入sql中 dictDataList.stream().forEach(dictData ->{ if(DicDataEnum.EVENT_TYPE_L.getCode().equals(dictData.getCode())){ @@ -81,7 +82,7 @@ public class RStatOrgPvPowerQualityServiceImpl extends ServiceImpl page = rStatOrgPvPowerQualityYPOMapper.selectListPage(new Page<>(param.getPageNum(), param.getPageSize()), bearParam); page.getRecords().stream().forEach(vo->{ if(deptDTOMap.containsKey(vo.getOrgNo())){ - DeptDTO deptDTO = deptDTOMap.get(vo.getOrgNo()); + Dept deptDTO = deptDTOMap.get(vo.getOrgNo()); vo.setOrgNo(deptDTO.getName()); } }); @@ -98,7 +99,7 @@ public class RStatOrgPvPowerQualityServiceImpl extends ServiceImpl pwMonitorList = pwMonitorClient.getPwMonitorList(pwPmsMonitorParam).getData(); + List pwMonitorList = pwMonitorClient.getPwPhotovoltaicMonitorList(pwPmsMonitorParam).getData(); if (CollUtil.isEmpty(pwMonitorList)) { return new Page<>(); } diff --git a/pqs-prepare/harmonic-prepare/pom.xml b/pqs-prepare/harmonic-prepare/pom.xml index 9b6700bcd..df35fad3a 100644 --- a/pqs-prepare/harmonic-prepare/pom.xml +++ b/pqs-prepare/harmonic-prepare/pom.xml @@ -111,6 +111,22 @@ prepare-api ${project.version} + + + + com.baomidou + dynamic-datasource-spring-boot-starter + + + + com.oracle.database.jdbc + ojdbc8 + + + + com.oracle.database.nls + orai18n +