From 9b8af7945a481dcda26d00582bdc97073a303bce Mon Sep 17 00:00:00 2001 From: hongawen <83944980@qq.com> Date: Thu, 8 Dec 2022 18:58:51 +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 --- .../device/pms/api/PmsTerminalClient.java | 35 +++ .../PmsTerminalClientFallbackFactory.java | 43 ++++ .../dto/GeneratrixAndPowerStationSonDTO.java | 60 ++++++ .../device/pms/pojo/param/ConditionParam.java | 47 ++++ .../pms/pojo/param/PmsMonitorParam.java | 6 + .../com/njcn/device/pms/pojo/po/Monitor.java | 5 + .../majornetwork/PmsGeneratrixController.java | 23 ++ .../majornetwork/PmsGeneratrixMapper.java | 10 + .../mapping/PmsGeneratrixMapper.xml | 33 ++- .../majornetwork/IPmsGeneratrixService.java | 10 + .../majornetwork/impl/MonitorServiceImpl.java | 5 +- .../impl/PmsGeneratrixServiceImpl.java | 21 ++ .../harmonic/pojo/param/RMpEmissionParam.java | 21 ++ .../pojo/param/RMpInfluenceParam.java | 20 ++ .../pojo/param/StreamReverseParam.java | 23 ++ .../pojo/po/RMpEmissionIExcessRateM.java | 189 ++++++++++++++++ .../njcn/harmonic/pojo/po/RMpEmissionIM.java | 187 ++++++++++++++++ .../njcn/harmonic/pojo/po/RMpEmissionM.java | 69 ++++++ .../njcn/harmonic/pojo/po/RMpInfluenceM.java | 69 ++++++ .../pojo/po/RMpInfluenceVExcessRateM.java | 189 ++++++++++++++++ .../njcn/harmonic/pojo/po/RMpInfluenceVM.java | 189 ++++++++++++++++ .../pojo/po/RMpPartHarmonicDetailD.java | 203 +++++++++--------- .../pojo/po/RStatOrgPvPermeabilityM.java | 51 +++++ .../njcn/harmonic/pojo/po/WfOfOverviewPO.java | 67 ++++++ .../pojo/po/WfOfOverviewVoltagePO.java | 42 ++++ .../pojo/po/WindFarmIndexOverviewPO.java | 48 +++++ .../njcn/harmonic/pojo/vo/PermeabilityVO.java | 46 ++++ .../harmonic/pojo/vo/RMpEmissionChartVO.java | 28 +++ .../pojo/vo/RMpEmissionIExcessRateMVO.java | 136 ++++++++++++ .../harmonic/pojo/vo/RMpEmissionIMVO.java | 135 ++++++++++++ .../njcn/harmonic/pojo/vo/RMpEmissionVO.java | 48 +++++ .../harmonic/pojo/vo/RMpInfluenceChartVO.java | 25 +++ .../pojo/vo/RMpInfluenceVExcessRateMVO.java | 135 ++++++++++++ .../harmonic/pojo/vo/RMpInfluenceVMVO.java | 136 ++++++++++++ .../njcn/harmonic/pojo/vo/RMpInfluenceVO.java | 45 ++++ .../pojo/vo/RStatOrgWfIndexOverviewVO.java | 51 +++++ .../pojo/vo/StreamReverseCountyVO.java | 32 +++ .../harmonic/pojo/vo/StreamReverseOrgVO.java | 45 ++++ .../njcn/harmonic/pojo/vo/WfOfOverviewVO.java | 57 +++++ .../pojo/vo/WfOfOverviewVoltageVO.java | 30 +++ .../PermeabilityController.java | 46 ++++ .../RMpEmissionController.java | 62 ++++++ .../RMpInfluenceController.java | 61 ++++++ .../StreamReverseController.java | 59 +++++ .../WindFarmIndexOverviewController.java | 110 ++++++++++ .../WindFarmOverviewController.java | 94 ++++++++ .../RMpEmissionIExcessRateMMapper.java | 18 ++ .../specialanalysis/RMpEmissionIMMapper.java | 18 ++ .../specialanalysis/RMpEmissionMMapper.java | 18 ++ .../specialanalysis/RMpInfluenceMMapper.java | 18 ++ .../RMpInfluenceVExcessRateMMapper.java | 18 ++ .../specialanalysis/RMpInfluenceVMMapper.java | 18 ++ .../RStatOrgPvPermeabilityMMapper.java | 26 +++ .../RStatOrgPvPowerQualityMMapper.java | 7 + .../specialanalysis/WfOfOverviewMapper.java | 18 ++ .../WfOfOverviewVoltageMapper.java | 18 ++ .../WindFarmIndexOverviewMapper.java | 63 ++++++ .../mapping/RMpEmissionIExcessRateMMapper.xml | 49 +++++ .../mapping/RMpEmissionIMMapper.xml | 49 +++++ .../mapping/RMpEmissionMMapper.xml | 21 ++ .../mapping/RMpInfluenceMMapper.xml | 23 ++ .../RMpInfluenceVExcessRateMMapper.xml | 49 +++++ .../mapping/RMpInfluenceVMMapper.xml | 49 +++++ .../mapping/RStatOrgPvPermeabilityMMapper.xml | 45 ++++ .../mapping/RStatOrgPvPowerQualityMMapper.xml | 22 ++ .../mapping/WfOfOverviewMapper.xml | 23 ++ .../mapping/WfOfOverviewVoltageMapper.xml | 18 ++ .../mapping/WindFarmIndexOverviewMapper.xml | 128 +++++++++++ .../specialanalysis/PermeabilityService.java | 17 ++ .../RMpEmissionIExcessRateMService.java | 13 ++ .../specialanalysis/RMpEmissionIMService.java | 13 ++ .../specialanalysis/RMpEmissionMService.java | 21 ++ .../specialanalysis/RMpInfluenceMService.java | 21 ++ .../RMpInfluenceVExcessRateMService.java | 13 ++ .../RMpInfluenceVMService.java | 13 ++ .../RStatOrgPvPermeabilityMService.java | 13 ++ .../specialanalysis/StreamReverseService.java | 24 +++ .../specialanalysis/WfOfOverviewService.java | 13 ++ .../WfOfOverviewVoltageService.java | 13 ++ .../WindFarmIndexOverview.java | 56 +++++ .../WindFarmOverviewService.java | 47 ++++ .../impl/PermeabilityServiceImpl.java | 71 ++++++ .../RMpEmissionIExcessRateMServiceImpl.java | 22 ++ .../impl/RMpEmissionIMServiceImpl.java | 22 ++ .../impl/RMpEmissionMServiceImpl.java | 162 ++++++++++++++ .../impl/RMpInfluenceMServiceImpl.java | 155 +++++++++++++ .../RMpInfluenceVExcessRateMServiceImpl.java | 22 ++ .../impl/RMpInfluenceVMServiceImpl.java | 22 ++ .../RStatOrgPvPermeabilityMServiceImpl.java | 22 ++ .../impl/StreamReverseServiceImpl.java | 136 ++++++++++++ .../impl/WfOfOverviewServiceImpl.java | 22 ++ .../impl/WfOfOverviewVoltageServiceImpl.java | 22 ++ .../WindFarmIndexOverviewServiceImpl.java | 152 +++++++++++++ .../impl/WindFarmOverviewServiceImpl.java | 151 +++++++++++++ 94 files changed, 4917 insertions(+), 103 deletions(-) create mode 100644 pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/PmsTerminalClient.java create mode 100644 pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/PmsTerminalClientFallbackFactory.java create mode 100644 pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/GeneratrixAndPowerStationSonDTO.java create mode 100644 pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/ConditionParam.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/RMpEmissionParam.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/RMpInfluenceParam.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/StreamReverseParam.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpEmissionIExcessRateM.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpEmissionIM.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpEmissionM.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpInfluenceM.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpInfluenceVExcessRateM.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpInfluenceVM.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatOrgPvPermeabilityM.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/WfOfOverviewPO.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/WfOfOverviewVoltagePO.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/WindFarmIndexOverviewPO.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/PermeabilityVO.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RMpEmissionChartVO.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RMpEmissionIExcessRateMVO.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RMpEmissionIMVO.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RMpEmissionVO.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RMpInfluenceChartVO.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RMpInfluenceVExcessRateMVO.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RMpInfluenceVMVO.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RMpInfluenceVO.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RStatOrgWfIndexOverviewVO.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/StreamReverseCountyVO.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/StreamReverseOrgVO.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/WfOfOverviewVO.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/WfOfOverviewVoltageVO.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/specialanalysis/PermeabilityController.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/specialanalysis/RMpEmissionController.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/specialanalysis/RMpInfluenceController.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/specialanalysis/StreamReverseController.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/specialanalysis/WindFarmIndexOverviewController.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/specialanalysis/WindFarmOverviewController.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/RMpEmissionIExcessRateMMapper.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/RMpEmissionIMMapper.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/RMpEmissionMMapper.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/RMpInfluenceMMapper.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/RMpInfluenceVExcessRateMMapper.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/RMpInfluenceVMMapper.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/RStatOrgPvPermeabilityMMapper.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/WfOfOverviewMapper.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/WfOfOverviewVoltageMapper.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/WindFarmIndexOverviewMapper.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RMpEmissionIExcessRateMMapper.xml create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RMpEmissionIMMapper.xml create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RMpEmissionMMapper.xml create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RMpInfluenceMMapper.xml create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RMpInfluenceVExcessRateMMapper.xml create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RMpInfluenceVMMapper.xml create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RStatOrgPvPermeabilityMMapper.xml create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/WfOfOverviewMapper.xml create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/WfOfOverviewVoltageMapper.xml create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/WindFarmIndexOverviewMapper.xml create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/PermeabilityService.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpEmissionIExcessRateMService.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpEmissionIMService.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpEmissionMService.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpInfluenceMService.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpInfluenceVExcessRateMService.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpInfluenceVMService.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RStatOrgPvPermeabilityMService.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/StreamReverseService.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/WfOfOverviewService.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/WfOfOverviewVoltageService.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/WindFarmIndexOverview.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/WindFarmOverviewService.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/PermeabilityServiceImpl.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpEmissionIExcessRateMServiceImpl.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpEmissionIMServiceImpl.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpEmissionMServiceImpl.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpInfluenceMServiceImpl.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpInfluenceVExcessRateMServiceImpl.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpInfluenceVMServiceImpl.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvPermeabilityMServiceImpl.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/StreamReverseServiceImpl.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/WfOfOverviewServiceImpl.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/WfOfOverviewVoltageServiceImpl.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/WindFarmIndexOverviewServiceImpl.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/WindFarmOverviewServiceImpl.java diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/PmsTerminalClient.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/PmsTerminalClient.java new file mode 100644 index 000000000..10889aaf2 --- /dev/null +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/PmsTerminalClient.java @@ -0,0 +1,35 @@ +package com.njcn.device.pms.api; + +import com.njcn.common.pojo.constant.ServerInfo; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.device.pms.api.fallback.PwMonitorClientFallbackFactory; +import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO; +import com.njcn.device.pms.pojo.param.PwPmsMonitorParam; +import com.njcn.device.pms.pojo.po.PmsTerminal; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; + +/** + * @author clam + * @date 2022/10/28 + */ + +@FeignClient( + value = ServerInfo.DEVICE, + path = "/pms/terminal", + fallbackFactory = PwMonitorClientFallbackFactory.class) +public interface PmsTerminalClient { + + /** + * @Description: 查询监测终端台账所有信息 + * @Param: [] + * @return: com.njcn.common.pojo.response.HttpResult> + * @Author: clam + * @Date: 2022/12/1 + */ + @PostMapping("/getTerminalSelectList") + HttpResult> getTerminalSelectList(); +} diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/PmsTerminalClientFallbackFactory.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/PmsTerminalClientFallbackFactory.java new file mode 100644 index 000000000..1b46b7866 --- /dev/null +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/PmsTerminalClientFallbackFactory.java @@ -0,0 +1,43 @@ +package com.njcn.device.pms.api.fallback; + +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.device.pms.api.PmsTerminalClient; +import com.njcn.device.pms.api.PwMonitorClient; +import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO; +import com.njcn.device.pms.pojo.param.PwPmsMonitorParam; +import com.njcn.device.pms.pojo.po.PmsTerminal; +import com.njcn.device.pms.utils.PmsDeviceEnumUtil; +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @author yzh + * @date 2022/10/28 + */ + +@Slf4j +@Component +public class PmsTerminalClientFallbackFactory implements FallbackFactory { + @Override + public PmsTerminalClient create(Throwable throwable) { + //判断抛出异常是否为解码器抛出的业务异常 + Enum exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK; + if (throwable.getCause() instanceof BusinessException) { + BusinessException businessException = (BusinessException) throwable.getCause(); + exceptionEnum = PmsDeviceEnumUtil.getExceptionEnum(businessException.getResult()); + } + Enum finalExceptionEnum = exceptionEnum; + return new PmsTerminalClient() { + @Override + public HttpResult> getTerminalSelectList() { + 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/GeneratrixAndPowerStationSonDTO.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/GeneratrixAndPowerStationSonDTO.java new file mode 100644 index 000000000..d4509b52d --- /dev/null +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/GeneratrixAndPowerStationSonDTO.java @@ -0,0 +1,60 @@ +package com.njcn.device.pms.pojo.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Description: + * 接口文档访问地址:http://serverIP:port/swagger-ui.html + * Date: 2022/12/6 11:12【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +public class GeneratrixAndPowerStationSonDTO { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(name = "orgid", value = "部门id") + private String orgid; + + @ApiModelProperty(name = "orgName", value = "部门Name") + private String orgName; + + + /** + * 母线id + */ + @ApiModelProperty(name = "busbarId", value = "母线id") + private String busbarId; + + /** + * 母线名称 + */ + @ApiModelProperty(name = "busbarName", value = "母线名称") + private String busbarName; + + /** + * 母线电压等级 + */ + @ApiModelProperty(name = "generatrixVoltageLevel", value = "母线电压等级") + private String generatrixVoltageLevel; + + /** + * 变电站id + */ + @ApiModelProperty(name = "subId", value = "变电站id") + private String subId; + + /** + * 变电站名称 + */ + @ApiModelProperty(name = "subName", value = "变电站名称") + private String subName; + + /** + * 变电站电压等级 + */ + @ApiModelProperty(name = "voltageLevel", value = "变电站电压等级") + private String voltageLevel; +} diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/ConditionParam.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/ConditionParam.java new file mode 100644 index 000000000..f5e55ce92 --- /dev/null +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/ConditionParam.java @@ -0,0 +1,47 @@ +package com.njcn.device.pms.pojo.param; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.util.List; + +/** + * Description: + * 接口文档访问地址:http://serverIP:port/swagger-ui.html + * Date: 2022/12/5 11:15【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +@ApiModel("母线查询条件") +public class ConditionParam { + + @ApiModelProperty(value = "部门id",required = true) + @NotBlank(message = "部门id不可为空") + private String deptId; + + + + /** + * 变电站电压等级 + */ + @ApiModelProperty(name = "powerStationVoltageLevel", value = "变电站电压等级") + private String powerStationVoltageLevel; + + /** + * 变电站名称 + */ + @ApiModelProperty(name = "powerStationId", value = "变电站id") + private String powerStationId; + + /** + * 变电站名称 + */ + @ApiModelProperty(name = "powerStationName", value = "变电站名称") + private String powerStationName; + + +} diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PmsMonitorParam.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PmsMonitorParam.java index 8725fc288..00775859f 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PmsMonitorParam.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PmsMonitorParam.java @@ -40,4 +40,10 @@ public class PmsMonitorParam { @ApiModelProperty(name = "powerrName",value = "变电站名称") private String powerrName; + + @ApiModelProperty(name = "monitorTag", value = "监测点标签") + private String monitorTag; + + @ApiModelProperty(name = "isSpecialMonitor", value = "是否专项分析监测点 0-否 1-是") + private Integer isSpecialMonitor; } diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/Monitor.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/Monitor.java index e40a5ae12..b1f45b09c 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/Monitor.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/Monitor.java @@ -182,6 +182,11 @@ public class Monitor extends BaseEntity { */ private Integer status; + /** + * 是否专项分析监测点 0-否 1-是 + */ + private Integer isSpecialMonitor; + } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PmsGeneratrixController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PmsGeneratrixController.java index 4e064b8eb..c80d90564 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PmsGeneratrixController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PmsGeneratrixController.java @@ -9,7 +9,9 @@ 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.dto.GeneratrixAndPowerStationDTO; +import com.njcn.device.pms.pojo.dto.GeneratrixAndPowerStationSonDTO; import com.njcn.device.pms.pojo.dto.PmsGeneratrixDTO; +import com.njcn.device.pms.pojo.param.ConditionParam; import com.njcn.device.pms.pojo.param.GeneratrixParam; import com.njcn.device.pms.pojo.param.PmsGeneratrixParam; import com.njcn.device.pms.pojo.po.Generatrix; @@ -84,6 +86,27 @@ public class PmsGeneratrixController extends BaseController { } } + /** + * @Description: 普测计划页面调用根据条件查询母线信息 + * @Param: [param] + * @return: com.njcn.common.pojo.response.HttpResult> + * @Author: clam + * @Date: 2022/12/5 + */ + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getGeneratrixByCondition") + @ApiOperation("普测计划页面调用根据条件查询母线信息") + @ApiImplicitParam(name = "param", value = "条件参数", required = true) + public HttpResult> getGeneratrixByCondition(@RequestBody @Validated ConditionParam param) { + String methodDescribe = getMethodDescribe("getGeneratrixByCondition"); + List monitorInfo = pmsGeneratrixService.getGeneratrixByCondition(param); + if (CollectionUtil.isEmpty(monitorInfo)) { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.NO_DATA, null, methodDescribe); + } else { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, monitorInfo, methodDescribe); + } + } + @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD) @PostMapping("/addGeneratrix") @ApiOperation("新增母线") diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/PmsGeneratrixMapper.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/PmsGeneratrixMapper.java index 4cd84c4d0..dce527127 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/PmsGeneratrixMapper.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/PmsGeneratrixMapper.java @@ -2,7 +2,9 @@ package com.njcn.device.pms.mapper.majornetwork; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.njcn.device.pms.pojo.dto.GeneratrixAndPowerStationDTO; +import com.njcn.device.pms.pojo.dto.GeneratrixAndPowerStationSonDTO; import com.njcn.device.pms.pojo.dto.PmsGeneratrixDTO; +import com.njcn.device.pms.pojo.param.ConditionParam; import com.njcn.device.pms.pojo.param.PmsGeneratrixParam; import com.njcn.device.pms.pojo.po.Generatrix; import org.apache.ibatis.annotations.Mapper; @@ -34,4 +36,12 @@ public interface PmsGeneratrixMapper extends BaseMapper { * @date 2022/11/3 */ List getGeneratrixAndPowerStationInfo(@Param("param") PmsGeneratrixParam param); + /** + * @Description: 普测计划页面调用根据条件查询母线信息 + * @Param: [data, param] + * @return: java.util.List + * @Author: clam + * @Date: 2022/12/5 + */ + List getGeneratrixByCondition(@Param("orgList")List data, @Param("param")ConditionParam param); } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/PmsGeneratrixMapper.xml b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/PmsGeneratrixMapper.xml index efdd6f945..901fcda34 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/PmsGeneratrixMapper.xml +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/PmsGeneratrixMapper.xml @@ -37,7 +37,38 @@ - + + + select + org_no as orgId, + monitoring_object as monitoringObject, + sum(if(permeability_type = #{condMap.Rate_0_25}, area_num, 0)) as areaNum25, + sum(if(permeability_type = #{condMap.Rate_25_50}, area_num, 0)) as areaNum50, + sum(if(permeability_type = #{condMap.Rate_50_75}, area_num, 0)) as areaNum75, + sum(if(permeability_type = #{condMap.Rate_75_100}, area_num, 0)) as areaNum99, + sum(if(permeability_type = #{condMap.Rate_100}, area_num, 0)) as areaNum100, + truncate(ifnull(sum(over_max_num) / sum(area_num), 0) * 100,2) as overMaxRate + from r_stat_org_pv_permeability_m + where org_no in + + #{id} + + + and DATE_FORMAT(data_date, '%Y-%m-%d') >= DATE_FORMAT(#{condMap.startTime}, '%Y-%m-%d') + + + and DATE_FORMAT(data_date, '%Y-%m-%d') <= DATE_FORMAT(#{condMap.endTime}, '%Y-%m-%d') + + + group by org_no, monitoring_object + + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RStatOrgPvPowerQualityMMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RStatOrgPvPowerQualityMMapper.xml index 77d09eea4..8f096fcc0 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RStatOrgPvPowerQualityMMapper.xml +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RStatOrgPvPowerQualityMMapper.xml @@ -21,4 +21,26 @@ area_pq_event_type,avg_monitor_num,total_monitor_num, monitor_valid_num,avg_date_num,total_date_num + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/WfOfOverviewMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/WfOfOverviewMapper.xml new file mode 100644 index 000000000..5fd909420 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/WfOfOverviewMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + org_no,data_date,wf_power_count, + wf_installed_capacity,wf_power_count_year_on_year,wf_installed_capacity_year_on_year, + wf_power_count_ring_ratio,wf_installed_capacity_ring_ratio + + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/WfOfOverviewVoltageMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/WfOfOverviewVoltageMapper.xml new file mode 100644 index 000000000..720b514d5 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/WfOfOverviewVoltageMapper.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + org_no,data_date,voltage_level, + wf_sum + + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/WindFarmIndexOverviewMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/WindFarmIndexOverviewMapper.xml new file mode 100644 index 000000000..0f4f6d2b4 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/WindFarmIndexOverviewMapper.xml @@ -0,0 +1,128 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + s.org_no IN + + #{item} + + + AND s.monitor_tag = #{param.monitorTag} + + + AND sd.monitor_tag = #{param.monitorTag} + + + AND DATE_FORMAT(s.data_date, '%Y-%m-%d') >= DATE_FORMAT(#{param.startTime}, '%Y-%m-%d') + + + AND DATE_FORMAT(s.data_date, '%Y-%m-%d') <= DATE_FORMAT(#{param.endTime}, '%Y-%m-%d') + + + AND DATE_FORMAT(sd.data_date, '%Y-%m-%d') >= DATE_FORMAT(#{param.startTime}, '%Y-%m-%d') + + + AND DATE_FORMAT(sd.data_date, '%Y-%m-%d') <= DATE_FORMAT(#{param.endTime}, '%Y-%m-%d') + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/PermeabilityService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/PermeabilityService.java new file mode 100644 index 000000000..4bc4d305a --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/PermeabilityService.java @@ -0,0 +1,17 @@ +package com.njcn.harmonic.service.specialanalysis; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.harmonic.pojo.param.StreamReverseParam; +import com.njcn.harmonic.pojo.vo.PermeabilityVO; + +/** + * @Title PermeabilityService + * @Package com.njcn.harmonic.service.specialanalysis + * @Author jianghaifei + * @Date 2022-11-28 11:27 + * @Version V1.0 + */ +public interface PermeabilityService { + Page getPermeabilityList(StreamReverseParam streamReverseParam); + +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpEmissionIExcessRateMService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpEmissionIExcessRateMService.java new file mode 100644 index 000000000..9a6c02301 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpEmissionIExcessRateMService.java @@ -0,0 +1,13 @@ +package com.njcn.harmonic.service.specialanalysis; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.harmonic.pojo.po.RMpEmissionIExcessRateM; + +/** +* @author jianghf +* @description 针对表【r_mp__emission_i_excess_rate_m(风电场发射特性-月表/各次谐波电流超标占比)】的数据库操作Service +* @createDate 2022-11-30 18:55:11 +*/ +public interface RMpEmissionIExcessRateMService extends IService { + +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpEmissionIMService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpEmissionIMService.java new file mode 100644 index 000000000..980c2321f --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpEmissionIMService.java @@ -0,0 +1,13 @@ +package com.njcn.harmonic.service.specialanalysis; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.harmonic.pojo.po.RMpEmissionIM; + +/** +* @author jianghf +* @description 针对表【r_mp__emission_i_m(风电场发射特性-月表/各次谐波电流含有率)】的数据库操作Service +* @createDate 2022-11-30 18:55:11 +*/ +public interface RMpEmissionIMService extends IService { + +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpEmissionMService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpEmissionMService.java new file mode 100644 index 000000000..848b39d79 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpEmissionMService.java @@ -0,0 +1,21 @@ +package com.njcn.harmonic.service.specialanalysis; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.harmonic.pojo.param.RMpEmissionParam; +import com.njcn.harmonic.pojo.po.RMpEmissionM; +import com.njcn.harmonic.pojo.vo.RMpEmissionChartVO; +import com.njcn.harmonic.pojo.vo.RMpEmissionVO; + +import java.util.List; + +/** +* @author jianghf +* @description 针对表【r_mp__emission_m(风电场发射特性-月表)】的数据库操作Service +* @createDate 2022-11-30 18:55:11 +*/ +public interface RMpEmissionMService extends IService { + + List getRMpEmissionList(RMpEmissionParam rMpEmissionParam); + + RMpEmissionChartVO getRMpEmissionChart(RMpEmissionParam rMpEmissionParam); +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpInfluenceMService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpInfluenceMService.java new file mode 100644 index 000000000..63f7bfe4c --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpInfluenceMService.java @@ -0,0 +1,21 @@ +package com.njcn.harmonic.service.specialanalysis; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.harmonic.pojo.param.RMpInfluenceParam; +import com.njcn.harmonic.pojo.po.RMpInfluenceM; +import com.njcn.harmonic.pojo.vo.RMpInfluenceChartVO; +import com.njcn.harmonic.pojo.vo.RMpInfluenceVO; + +import java.util.List; + +/** +* @author jianghf +* @description 针对表【r_mp__influence_m(风电场影响特性-月表)】的数据库操作Service +* @createDate 2022-12-01 19:28:15 +*/ +public interface RMpInfluenceMService extends IService { + + List getRMpInfluenceList(RMpInfluenceParam rMpInfluenceParam); + + RMpInfluenceChartVO getRMpInfluenceChart(RMpInfluenceParam rMpInfluenceParam); +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpInfluenceVExcessRateMService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpInfluenceVExcessRateMService.java new file mode 100644 index 000000000..473352a1a --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpInfluenceVExcessRateMService.java @@ -0,0 +1,13 @@ +package com.njcn.harmonic.service.specialanalysis; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.harmonic.pojo.po.RMpInfluenceVExcessRateM; + +/** +* @author jianghf +* @description 针对表【r_mp__influence_v_excess_rate_m(风电场影响特性-月表/各次谐波电压超标占比)】的数据库操作Service +* @createDate 2022-12-01 19:28:15 +*/ +public interface RMpInfluenceVExcessRateMService extends IService { + +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpInfluenceVMService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpInfluenceVMService.java new file mode 100644 index 000000000..29c5d0b9a --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpInfluenceVMService.java @@ -0,0 +1,13 @@ +package com.njcn.harmonic.service.specialanalysis; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.harmonic.pojo.po.RMpInfluenceVM; + +/** +* @author jianghf +* @description 针对表【r_mp__influence_v_m(风电场影响特性-月表/各次谐波电压含有率)】的数据库操作Service +* @createDate 2022-12-01 19:28:15 +*/ +public interface RMpInfluenceVMService extends IService { + +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RStatOrgPvPermeabilityMService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RStatOrgPvPermeabilityMService.java new file mode 100644 index 000000000..37aa8c555 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RStatOrgPvPermeabilityMService.java @@ -0,0 +1,13 @@ +package com.njcn.harmonic.service.specialanalysis; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.harmonic.pojo.po.RStatOrgPvPermeabilityM; + +/** +* @author jianghf +* @description 针对表【r_stat_org_pv_permeability_m(分布式光伏-台区渗透率统计月表)】的数据库操作Service +* @createDate 2022-11-28 16:14:21 +*/ +public interface RStatOrgPvPermeabilityMService extends IService { + +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/StreamReverseService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/StreamReverseService.java new file mode 100644 index 000000000..fd1b72ea6 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/StreamReverseService.java @@ -0,0 +1,24 @@ +package com.njcn.harmonic.service.specialanalysis; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.harmonic.pojo.param.StreamReverseParam; +import com.njcn.harmonic.pojo.vo.StreamReverseCountyVO; +import com.njcn.harmonic.pojo.vo.StreamReverseOrgVO; + +/** + * @Title StreamReverseService + * @Package com.njcn.harmonic.service.specialanalysis + * @Author jianghaifei + * @Date 2022-11-25 11:26 + * @Version V1.0 + */ +public interface StreamReverseService { + /** + * 潮流倒送分析-单位 + * @param streamReverseParam + * @return + */ + Page streamReverseByOrg(StreamReverseParam streamReverseParam); + + Page streamReverseByCounty(StreamReverseParam streamReverseParam); +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/WfOfOverviewService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/WfOfOverviewService.java new file mode 100644 index 000000000..34aa69855 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/WfOfOverviewService.java @@ -0,0 +1,13 @@ +package com.njcn.harmonic.service.specialanalysis; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.harmonic.pojo.po.WfOfOverviewPO; + +/** +* @author yzh +* @description 针对表【wf_of_overview(风电场概况)】的数据库操作Service +* @createDate 2022-12-05 14:17:26 +*/ +public interface WfOfOverviewService extends IService { + +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/WfOfOverviewVoltageService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/WfOfOverviewVoltageService.java new file mode 100644 index 000000000..1538eb3f8 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/WfOfOverviewVoltageService.java @@ -0,0 +1,13 @@ +package com.njcn.harmonic.service.specialanalysis; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.harmonic.pojo.po.WfOfOverviewVoltagePO; + +/** +* @author yzh +* @description 针对表【wf_of_overview_voltage(风电场概况-按电压等级)】的数据库操作Service +* @createDate 2022-12-05 14:22:44 +*/ +public interface WfOfOverviewVoltageService extends IService { + +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/WindFarmIndexOverview.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/WindFarmIndexOverview.java new file mode 100644 index 000000000..67be7c7ef --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/WindFarmIndexOverview.java @@ -0,0 +1,56 @@ +package com.njcn.harmonic.service.specialanalysis; + +import com.njcn.harmonic.pojo.param.RMpInfluenceParam; +import com.njcn.harmonic.pojo.vo.RStatOrgWfIndexOverviewVO; + +import java.util.List; + +/** + * 专项分析-风电场-指标总览 + * + * @author yzh + * @date 2022/11/30 + */ + +public interface WindFarmIndexOverview { + + /** + * 获取风电场指标总览-电流指标 + * + * @param param 条件参数 + * @return com.njcn.common.pojo.response.HttpResult> + * @author yzh + * @date 2022/11/30 + */ + List getHarmonicCurrent(RMpInfluenceParam param); + + /** + * 获取风电场指标总览-电压指标 + * + * @param param 条件参数 + * @return com.njcn.common.pojo.response.HttpResult> + * @author yzh + * @date 2022/11/30 + */ + List getHarmonicVoltage(RMpInfluenceParam param); + + /** + * 获取风电场指标总览-各单位指标 + * + * @param param 条件参数 + * @return com.njcn.common.pojo.response.HttpResult> + * @author yzh + * @date 2022/11/30 + */ + List getUnitCurrent(RMpInfluenceParam param); + + /** + * 获取风电场指标总览-各单位电压 + * + * @param param 条件参数 + * @return com.njcn.common.pojo.response.HttpResult> + * @author yzh + * @date 2022/12/1 + */ + List getUnitVoltage(RMpInfluenceParam param); +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/WindFarmOverviewService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/WindFarmOverviewService.java new file mode 100644 index 000000000..5b7253edc --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/WindFarmOverviewService.java @@ -0,0 +1,47 @@ +package com.njcn.harmonic.service.specialanalysis; + +import com.njcn.common.pojo.param.StatisticsBizBaseParam; +import com.njcn.harmonic.pojo.vo.WfOfOverviewVO; +import com.njcn.harmonic.pojo.vo.WfOfOverviewVoltageVO; + +import java.util.List; + +/** + * 专项分析-风电场-概述 + * + * @author yzh + * @date 2022/11/30 + */ + +public interface WindFarmOverviewService { + + /** + * 获取风电场概述地图 + * + * @param param 条件参数 + * @return java.util.List + * @author yzh + * @date 2022/12/5 + */ + List getWindFarmOverviewMap(StatisticsBizBaseParam param); + + /** + * 获取风电场概述数值 + * + * @param param 条件参数 + * @return com.njcn.common.pojo.response.HttpResult> + * @author yzh + * @date 2022/11/30 + */ + WfOfOverviewVO getWindFarmOverviewValues(StatisticsBizBaseParam param); + + /** + * 获取风电场概述环形图 + * + * @param param 条件参数 + * @return com.njcn.common.pojo.response.HttpResult> + * @author yzh + * @date 2022/12/5 + */ + List getWindFarmOverviewCircularGraph(StatisticsBizBaseParam param); +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/PermeabilityServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/PermeabilityServiceImpl.java new file mode 100644 index 000000000..650fd60e6 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/PermeabilityServiceImpl.java @@ -0,0 +1,71 @@ +package com.njcn.harmonic.service.specialanalysis.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.harmonic.mapper.specialanalysis.RStatOrgPvPermeabilityMMapper; +import com.njcn.harmonic.pojo.param.StreamReverseParam; +import com.njcn.harmonic.pojo.vo.PermeabilityVO; +import com.njcn.harmonic.service.specialanalysis.PermeabilityService; +import com.njcn.system.api.DicDataFeignClient; +import com.njcn.system.enums.DicDataTypeEnum; +import com.njcn.system.pojo.po.DictData; +import com.njcn.user.api.DeptFeignClient; +import com.njcn.user.pojo.po.Dept; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @Title PermeabilityServiceImpl + * @Package com.njcn.harmonic.service.specialanalysis.impl + * @Author jianghaifei + * @Date 2022-11-28 11:29 + * @Version V1.0 + */ +@Service +@RequiredArgsConstructor +public class PermeabilityServiceImpl implements PermeabilityService { + + private final RStatOrgPvPermeabilityMMapper rStatOrgPvPermeabilityMMapper; + + private final DeptFeignClient deptFeignClient; + + private final DicDataFeignClient dicDataFeignClient; + /*** + * 渗透率分析 + * @author jianghaifei + * @date 2022-11-28 16:22 + * @param streamReverseParam + * @return com.baomidou.mybatisplus.extension.plugins.pagination.Page + */ + @Override + public Page getPermeabilityList(StreamReverseParam streamReverseParam) { + //提取参数 + String id = streamReverseParam.getId(); //单位 + String startTime = streamReverseParam.getStartTime(); //开始时间 + String endTime = streamReverseParam.getEndTime(); //结束时间 + Integer pageNum = streamReverseParam.getPageNum() != null && streamReverseParam.getPageNum() != 0 ? streamReverseParam.getPageNum() : 1; //页码 + Integer pageSize = streamReverseParam.getPageSize() != null && streamReverseParam.getPageSize() != 0 ? streamReverseParam.getPageSize() : 10; //页面尺寸 + + //获取部门信息 +// List data = deptFeignClient.getDeptDescendantIndexes(id, WebUtil.filterDeptType()).getData(); + List data = deptFeignClient.getDirectSonSelf(id).getData(); //获取当前部门和子部门信息 + Map deptMap = data.stream().collect(Collectors.toMap(Dept::getCode, dept -> dept)); + List deptCodes = data.stream().map(Dept::getCode).collect(Collectors.toList()); + //获取各渗透率字典 + List rateList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.PERMEABILITY_TYPE.getCode()).getData(); + //将渗透率字典转换为查询条件 + Map condMap = rateList.stream().collect(Collectors.toMap(DictData::getCode, DictData::getId)); + condMap.put("orgIdList", deptCodes); + condMap.put("startTime", startTime); + condMap.put("endTime", endTime); + Page permeabilityList = rStatOrgPvPermeabilityMMapper.getPermeabilityList(new Page<>(pageNum, pageSize), condMap); + List records = permeabilityList.getRecords(); + records.forEach(item -> { + item.setOrgName(deptMap.get(item.getOrgId()).getName()); + }); + return permeabilityList; + } +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpEmissionIExcessRateMServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpEmissionIExcessRateMServiceImpl.java new file mode 100644 index 000000000..f2e9cd866 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpEmissionIExcessRateMServiceImpl.java @@ -0,0 +1,22 @@ +package com.njcn.harmonic.service.specialanalysis.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.harmonic.mapper.specialanalysis.RMpEmissionIExcessRateMMapper; +import com.njcn.harmonic.pojo.po.RMpEmissionIExcessRateM; +import com.njcn.harmonic.service.specialanalysis.RMpEmissionIExcessRateMService; +import org.springframework.stereotype.Service; + +/** +* @author jianghf +* @description 针对表【r_mp__emission_i_excess_rate_m(风电场发射特性-月表/各次谐波电流超标占比)】的数据库操作Service实现 +* @createDate 2022-11-30 18:55:11 +*/ +@Service +public class RMpEmissionIExcessRateMServiceImpl extends ServiceImpl + implements RMpEmissionIExcessRateMService{ + +} + + + + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpEmissionIMServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpEmissionIMServiceImpl.java new file mode 100644 index 000000000..48f2b0938 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpEmissionIMServiceImpl.java @@ -0,0 +1,22 @@ +package com.njcn.harmonic.service.specialanalysis.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.harmonic.mapper.specialanalysis.RMpEmissionIMMapper; +import com.njcn.harmonic.pojo.po.RMpEmissionIM; +import com.njcn.harmonic.service.specialanalysis.RMpEmissionIMService; +import org.springframework.stereotype.Service; + +/** +* @author jianghf +* @description 针对表【r_mp__emission_i_m(风电场发射特性-月表/各次谐波电流含有率)】的数据库操作Service实现 +* @createDate 2022-11-30 18:55:11 +*/ +@Service +public class RMpEmissionIMServiceImpl extends ServiceImpl + implements RMpEmissionIMService{ + +} + + + + 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 new file mode 100644 index 000000000..3bd6cba8a --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpEmissionMServiceImpl.java @@ -0,0 +1,162 @@ +package com.njcn.harmonic.service.specialanalysis.impl; + +import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.device.pms.api.MonitorClient; +import com.njcn.harmonic.mapper.specialanalysis.RMpEmissionMMapper; +import com.njcn.harmonic.pojo.param.RMpEmissionParam; +import com.njcn.harmonic.pojo.po.RMpEmissionIExcessRateM; +import com.njcn.harmonic.pojo.po.RMpEmissionIM; +import com.njcn.harmonic.pojo.po.RMpEmissionM; +import com.njcn.harmonic.pojo.vo.RMpEmissionChartVO; +import com.njcn.harmonic.pojo.vo.RMpEmissionIExcessRateMVO; +import com.njcn.harmonic.pojo.vo.RMpEmissionIMVO; +import com.njcn.harmonic.pojo.vo.RMpEmissionVO; +import com.njcn.harmonic.service.specialanalysis.RMpEmissionIExcessRateMService; +import com.njcn.harmonic.service.specialanalysis.RMpEmissionIMService; +import com.njcn.harmonic.service.specialanalysis.RMpEmissionMService; +import com.njcn.user.api.DeptFeignClient; +import com.njcn.user.pojo.po.Dept; +import lombok.RequiredArgsConstructor; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** +* @author jianghf +* @description 针对表【r_mp__emission_m(风电场发射特性-月表)】的数据库操作Service实现 +* @createDate 2022-11-30 18:55:11 +*/ +@Service +@RequiredArgsConstructor +public class RMpEmissionMServiceImpl extends ServiceImpl + implements RMpEmissionMService{ + + private final DeptFeignClient deptFeignClient; + + private final RMpEmissionIMService rMpEmissionIMService; + + private final RMpEmissionIExcessRateMService rMpEmissionIExcessRateMService; + + private final MonitorClient monitorClient; + + /*** + * 风电场发射特性 + * @author jianghaifei + * @date 2022-11-30 20:05 + * @param rMpEmissionParam + * @return java.util.List + */ + @Override + public List getRMpEmissionList(RMpEmissionParam rMpEmissionParam) { + //提取参数 + String id = rMpEmissionParam.getId(); //单位id + String startTime = rMpEmissionParam.getStartTime(); //开始时间 + String endTime = rMpEmissionParam.getEndTime(); //结束时间 + String monitorTag = rMpEmissionParam.getMonitorTag(); //监测点标签 + if (StringUtils.isBlank(id)) { + throw new BusinessException(CommonResponseEnum.NO_DATA, "单位id不可为空"); + } + //获取当前部门和子部门信息 + List data = deptFeignClient.getDirectSonSelf(id).getData(); + Map deptMap = data.stream().collect(Collectors.toMap(Dept::getCode, dept -> dept)); + List deptCodes = data.stream().map(Dept::getCode).collect(Collectors.toList()); + + //查询风电场信息 +// PmsMonitorParam pmsMonitorParam = new PmsMonitorParam(); +// pmsMonitorParam.setMonitorTag("风电场"); +// pmsMonitorParam.setOrgIds(deptCodes); +// List monitorList = monitorClient.getMonitorInfoListByCond(pmsMonitorParam).getData(); +// if (CollUtil.isEmpty(monitorList)) { +// new ArrayList<>(); +// } + + //查询风电场发射特性信息 + LambdaQueryWrapper emissionWrapper = new LambdaQueryWrapper<>(); + emissionWrapper.in(RMpEmissionM::getOrgNo, deptCodes) + .eq(StringUtils.isNotBlank(monitorTag), RMpEmissionM::getMonitorTag, monitorTag) +// .in(RMpEmissionM::getMeasurementPointId, monitorList) + .ge(StringUtils.isNotBlank(startTime), RMpEmissionM::getDataDate, startTime) + .le(StringUtils.isNotBlank(endTime), RMpEmissionM::getDataDate, endTime); + List emissionList = this.list(emissionWrapper); + + if (CollUtil.isEmpty(emissionList)) { + return new ArrayList<>(); + } + + + //封装返回数据 + List resultList = emissionList.stream().map(item -> { + RMpEmissionVO rMpEmissionVO = new RMpEmissionVO(); + //单位ID、单位名称、负序电流不平衡度、负序电流不平衡度平均超标天数、负序电流不平衡度超标占比、各次谐波电流平均超标天数 + BeanUtils.copyProperties(item, rMpEmissionVO); + rMpEmissionVO.setOrgName(deptMap.get(item.getOrgNo()).getName()); //单位名称 + + return rMpEmissionVO; + }).collect(Collectors.toList()); + + return resultList; + } + + /** + * 发射特性-折线图 + * @param rMpEmissionParam + * @return + */ + @Override + public RMpEmissionChartVO getRMpEmissionChart(RMpEmissionParam rMpEmissionParam) { + //提取参数 + String id = rMpEmissionParam.getId(); //单位id + String monitorTag = rMpEmissionParam.getMonitorTag(); //监测点标签 + String startTime = rMpEmissionParam.getStartTime(); //开始时间 + String endTime = rMpEmissionParam.getEndTime(); //结束时间 + + if (StringUtils.isBlank(id)) { + throw new BusinessException(CommonResponseEnum.NO_DATA, "单位id不可为空"); + } + //获取当前部门 + Dept data = deptFeignClient.getDeptById(id).getData(); + + //查询风电场发射特性/各次谐波电流含有率信息 + LambdaQueryWrapper emissionIWrapper = new LambdaQueryWrapper<>(); + emissionIWrapper.eq(RMpEmissionIM::getOrgNo, data.getCode()) +// .in(RMpEmissionIM::getMeasurementPointId, monitorList) + .eq(StringUtils.isNotBlank(monitorTag), RMpEmissionIM::getMonitorTag, monitorTag) + .ge(StringUtils.isNotBlank(startTime), RMpEmissionIM::getDataDate, startTime) + .le(StringUtils.isNotBlank(endTime), RMpEmissionIM::getDataDate, endTime); + RMpEmissionIM emissionI = rMpEmissionIMService.list(emissionIWrapper).get(0); + + //查询风电场发射特性/各次谐波电流超标占比 + LambdaQueryWrapper emissionIExcessRateWrapper = new LambdaQueryWrapper<>(); + emissionIExcessRateWrapper.eq(RMpEmissionIExcessRateM::getOrgNo, data.getCode()) +// .in(RMpEmissionIExcessRateM::getMeasurementPointId, monitorList) + .eq(StringUtils.isNotBlank(monitorTag), RMpEmissionIExcessRateM::getMonitorTag, monitorTag) + .ge(StringUtils.isNotBlank(startTime), RMpEmissionIExcessRateM::getDataDate, startTime) + .le(StringUtils.isNotBlank(endTime), RMpEmissionIExcessRateM::getDataDate, endTime); + RMpEmissionIExcessRateM rate = rMpEmissionIExcessRateMService.list(emissionIExcessRateWrapper).get(0); + + RMpEmissionChartVO rMpEmissionChartVO = new RMpEmissionChartVO(); + RMpEmissionIMVO rMpEmissionIMVO = new RMpEmissionIMVO(); + BeanUtils.copyProperties(emissionI, rMpEmissionIMVO); + rMpEmissionChartVO.setRMpEmissionIMVO(rMpEmissionIMVO); + + RMpEmissionIExcessRateMVO rMpEmissionIExcessRateMVO = new RMpEmissionIExcessRateMVO(); + BeanUtils.copyProperties(rate, rMpEmissionIExcessRateMVO); + rMpEmissionChartVO.setRMpEmissionIExcessRateMVO(rMpEmissionIExcessRateMVO); + + return rMpEmissionChartVO; + } +} + + + + 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 new file mode 100644 index 000000000..514eb3782 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpInfluenceMServiceImpl.java @@ -0,0 +1,155 @@ +package com.njcn.harmonic.service.specialanalysis.impl; + +import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +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.RMpInfluenceM; +import com.njcn.harmonic.pojo.po.RMpInfluenceVExcessRateM; +import com.njcn.harmonic.pojo.po.RMpInfluenceVM; +import com.njcn.harmonic.pojo.vo.RMpInfluenceChartVO; +import com.njcn.harmonic.pojo.vo.RMpInfluenceVExcessRateMVO; +import com.njcn.harmonic.pojo.vo.RMpInfluenceVMVO; +import com.njcn.harmonic.pojo.vo.RMpInfluenceVO; +import com.njcn.harmonic.service.specialanalysis.RMpInfluenceMService; +import com.njcn.harmonic.service.specialanalysis.RMpInfluenceVExcessRateMService; +import com.njcn.harmonic.service.specialanalysis.RMpInfluenceVMService; +import com.njcn.user.api.DeptFeignClient; +import com.njcn.user.pojo.po.Dept; +import lombok.RequiredArgsConstructor; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** +* @author jianghf +* @description 针对表【r_mp__influence_m(风电场影响特性-月表)】的数据库操作Service实现 +* @createDate 2022-12-01 19:28:15 +*/ +@Service +@RequiredArgsConstructor +public class RMpInfluenceMServiceImpl extends ServiceImpl + implements RMpInfluenceMService{ + + private final DeptFeignClient deptFeignClient; + + private final RMpInfluenceVMService rMpInfluenceVMService; + + private final RMpInfluenceVExcessRateMService rMpInfluenceVExcessRateMService; + + private final MonitorClient monitorClient; + + @Override + public List getRMpInfluenceList(RMpInfluenceParam rMpInfluenceParam) { + //提取参数 + String id = rMpInfluenceParam.getId(); //单位id + String startTime = rMpInfluenceParam.getStartTime(); //开始时间 + String endTime = rMpInfluenceParam.getEndTime(); //结束时间 + String monitorTag = rMpInfluenceParam.getMonitorTag(); //监测点标签 + if (StringUtils.isBlank(id)) { + throw new BusinessException(CommonResponseEnum.NO_DATA, "单位id不可为空"); + } + //获取当前部门和子部门信息 + List data = deptFeignClient.getDirectSonSelf(id).getData(); + Map deptMap = data.stream().collect(Collectors.toMap(Dept::getCode, dept -> dept)); + List deptCodes = data.stream().map(Dept::getCode).collect(Collectors.toList()); + + //查询风电场信息 +// PmsMonitorParam pmsMonitorParam = new PmsMonitorParam(); +// pmsMonitorParam.setMonitorTag("风电场"); +// pmsMonitorParam.setOrgIds(deptCodes); +// List monitorList = monitorClient.getMonitorInfoListByCond(pmsMonitorParam).getData(); +// if (CollUtil.isEmpty(monitorList)) { +// new ArrayList<>(); +// } + + //查询风电场发射特性信息 + LambdaQueryWrapper emissionWrapper = new LambdaQueryWrapper<>(); + emissionWrapper.in(RMpInfluenceM::getOrgNo, deptCodes) + .eq(StringUtils.isNotBlank(monitorTag), RMpInfluenceM::getMonitorTag, monitorTag) +// .in(RMpInfluenceM::getMeasurementPointId, monitorList) + .ge(StringUtils.isNotBlank(startTime), RMpInfluenceM::getDataDate, startTime) + .le(StringUtils.isNotBlank(endTime), RMpInfluenceM::getDataDate, endTime); + List emissionList = this.list(emissionWrapper); + + if (CollUtil.isEmpty(emissionList)) { + return new ArrayList<>(); + } + + //封装返回数 + List resultList = emissionList.stream().map(item -> { + RMpInfluenceVO rMpInfluenceVO = new RMpInfluenceVO(); + //单位ID、单位名称、负序电压不平衡度、负序电压不平衡度平均超标天数、负序电压不平衡度超标占比、各次谐波电压平均超标天数 + BeanUtils.copyProperties(item, rMpInfluenceVO); + rMpInfluenceVO.setOrgName(deptMap.get(item.getOrgNo()).getName()); //单位名称 + + return rMpInfluenceVO; + }).collect(Collectors.toList()); + + return resultList; + } + + + /** + * 影响特性-图表 + * @param rMpInfluenceParam + * @return + */ + @Override + public RMpInfluenceChartVO getRMpInfluenceChart(RMpInfluenceParam rMpInfluenceParam) { + //提取参数 + String id = rMpInfluenceParam.getId(); //单位id + String monitorTag = rMpInfluenceParam.getMonitorTag(); //监测点标签 + String startTime = rMpInfluenceParam.getStartTime(); //开始时间 + String endTime = rMpInfluenceParam.getEndTime(); //结束时间 + + if (StringUtils.isBlank(id)) { + throw new BusinessException(CommonResponseEnum.NO_DATA, "单位id不可为空"); + } + //获取当前部门 + Dept data = deptFeignClient.getDeptById(id).getData(); + + //查询风电场发射特性/各次谐波电压含有率信息 + LambdaQueryWrapper emissionIWrapper = new LambdaQueryWrapper<>(); + emissionIWrapper.eq(RMpInfluenceVM::getOrgNo, data.getCode()) +// .in(RMpInfluenceVM::getMeasurementPointId, monitorList) + .eq(StringUtils.isNotBlank(monitorTag), RMpInfluenceVM::getMonitorTag, monitorTag) + .ge(StringUtils.isNotBlank(startTime), RMpInfluenceVM::getDataDate, startTime) + .le(StringUtils.isNotBlank(endTime), RMpInfluenceVM::getDataDate, endTime); + RMpInfluenceVM emissionI = rMpInfluenceVMService.list(emissionIWrapper).get(0); + + //查询风电场发射特性/各次谐波电压超标占比 + LambdaQueryWrapper emissionIExcessRateWrapper = new LambdaQueryWrapper<>(); + emissionIExcessRateWrapper.eq(RMpInfluenceVExcessRateM::getOrgNo, data.getCode()) +// .in(RMpInfluenceVExcessRateM::getMeasurementPointId, monitorList) + .eq(StringUtils.isNotBlank(monitorTag), RMpInfluenceVExcessRateM::getMonitorTag, monitorTag) + .ge(StringUtils.isNotBlank(startTime), RMpInfluenceVExcessRateM::getDataDate, startTime) + .le(StringUtils.isNotBlank(endTime), RMpInfluenceVExcessRateM::getDataDate, endTime); + RMpInfluenceVExcessRateM rate = rMpInfluenceVExcessRateMService.list(emissionIExcessRateWrapper).get(0); + + RMpInfluenceChartVO rMpInfluenceChartVO = new RMpInfluenceChartVO(); + + RMpInfluenceVMVO rMpInfluenceVMVO = new RMpInfluenceVMVO(); + BeanUtils.copyProperties(emissionI, rMpInfluenceVMVO); + rMpInfluenceChartVO.setRMpInfluenceVMVO(rMpInfluenceVMVO); + + RMpInfluenceVExcessRateMVO rMpInfluenceVExcessRateMVO = new RMpInfluenceVExcessRateMVO(); + BeanUtils.copyProperties(rate, rMpInfluenceVExcessRateMVO); + rMpInfluenceChartVO.setRMpInfluenceVExcessRateMVO(rMpInfluenceVExcessRateMVO); + + return rMpInfluenceChartVO; + } +} + + + + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpInfluenceVExcessRateMServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpInfluenceVExcessRateMServiceImpl.java new file mode 100644 index 000000000..fadd42f35 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpInfluenceVExcessRateMServiceImpl.java @@ -0,0 +1,22 @@ +package com.njcn.harmonic.service.specialanalysis.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.harmonic.mapper.specialanalysis.RMpInfluenceVExcessRateMMapper; +import com.njcn.harmonic.pojo.po.RMpInfluenceVExcessRateM; +import com.njcn.harmonic.service.specialanalysis.RMpInfluenceVExcessRateMService; +import org.springframework.stereotype.Service; + +/** +* @author jianghf +* @description 针对表【r_mp__influence_v_excess_rate_m(风电场影响特性-月表/各次谐波电压超标占比)】的数据库操作Service实现 +* @createDate 2022-12-01 19:28:15 +*/ +@Service +public class RMpInfluenceVExcessRateMServiceImpl extends ServiceImpl + implements RMpInfluenceVExcessRateMService{ + +} + + + + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpInfluenceVMServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpInfluenceVMServiceImpl.java new file mode 100644 index 000000000..8c3d73ea7 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpInfluenceVMServiceImpl.java @@ -0,0 +1,22 @@ +package com.njcn.harmonic.service.specialanalysis.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.harmonic.mapper.specialanalysis.RMpInfluenceVMMapper; +import com.njcn.harmonic.pojo.po.RMpInfluenceVM; +import com.njcn.harmonic.service.specialanalysis.RMpInfluenceVMService; +import org.springframework.stereotype.Service; + +/** +* @author jianghf +* @description 针对表【r_mp__influence_v_m(风电场影响特性-月表/各次谐波电压含有率)】的数据库操作Service实现 +* @createDate 2022-12-01 19:28:15 +*/ +@Service +public class RMpInfluenceVMServiceImpl extends ServiceImpl + implements RMpInfluenceVMService{ + +} + + + + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvPermeabilityMServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvPermeabilityMServiceImpl.java new file mode 100644 index 000000000..2de67b193 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvPermeabilityMServiceImpl.java @@ -0,0 +1,22 @@ +package com.njcn.harmonic.service.specialanalysis.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.harmonic.mapper.specialanalysis.RStatOrgPvPermeabilityMMapper; +import com.njcn.harmonic.pojo.po.RStatOrgPvPermeabilityM; +import com.njcn.harmonic.service.specialanalysis.RStatOrgPvPermeabilityMService; +import org.springframework.stereotype.Service; + +/** +* @author jianghf +* @description 针对表【r_stat_org_pv_permeability_m(分布式光伏-台区渗透率统计月表)】的数据库操作Service实现 +* @createDate 2022-11-28 16:14:21 +*/ +@Service +public class RStatOrgPvPermeabilityMServiceImpl extends ServiceImpl + implements RStatOrgPvPermeabilityMService{ + +} + + + + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/StreamReverseServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/StreamReverseServiceImpl.java new file mode 100644 index 000000000..69b724911 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/StreamReverseServiceImpl.java @@ -0,0 +1,136 @@ +package com.njcn.harmonic.service.specialanalysis.impl; + +import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.device.pms.api.PwMonitorClient; +import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO; +import com.njcn.device.pms.pojo.param.PwPmsMonitorParam; +import com.njcn.harmonic.mapper.specialanalysis.RStatOrgPvPowerQualityMMapper; +import com.njcn.harmonic.pojo.param.StreamReverseParam; +import com.njcn.harmonic.pojo.vo.StreamReverseCountyVO; +import com.njcn.harmonic.pojo.vo.StreamReverseOrgVO; +import com.njcn.harmonic.service.specialanalysis.StreamReverseService; +import com.njcn.system.api.DicDataFeignClient; +import com.njcn.system.enums.DicDataEnum; +import com.njcn.system.enums.DicDataTypeEnum; +import com.njcn.system.pojo.po.DictData; +import com.njcn.user.api.DeptFeignClient; +import com.njcn.user.pojo.po.Dept; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.text.DecimalFormat; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @Title StreamReverseServiceImpl + * @Package com.njcn.harmonic.service.specialanalysis.impl + * @Author jianghaifei + * @Date 2022-11-25 11:27 + * @Version V1.0 + */ +@Service +@RequiredArgsConstructor +public class StreamReverseServiceImpl implements StreamReverseService { + + private final DeptFeignClient deptFeignClient; + + private final DicDataFeignClient dicDataFeignClient; + + private final RStatOrgPvPowerQualityMMapper rStatOrgPvPowerQualityMMapper; + + private final PwMonitorClient pwMonitorClient; + /*** + * 潮流倒送分析-单位 + * @author jianghaifei + * @date 2022-11-25 14:02 + * @param streamReverseParam + * @return com.baomidou.mybatisplus.extension.plugins.pagination.Page + */ + @Override + public Page streamReverseByOrg(StreamReverseParam streamReverseParam) { + //提取参数 + String id = streamReverseParam.getId(); //单位 + String startTime = streamReverseParam.getStartTime(); //开始时间 + String endTime = streamReverseParam.getEndTime(); //结束时间 + Integer pageNum = streamReverseParam.getPageNum() != null && streamReverseParam.getPageNum() != 0 ? streamReverseParam.getPageNum() : 1; //页码 + Integer pageSize = streamReverseParam.getPageSize() != null && streamReverseParam.getPageSize() != 0 ? streamReverseParam.getPageSize() : 10; //页面尺寸 + + //获取台区电能质量事件类型字典 + List eventTypeDictList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.AREA_PQ_EVENT_TYPE.getCode()).getData(); + //将台区电能质量事件类型信息转成map,key:code value:id + Map eventTypeDictMap = eventTypeDictList.stream().collect(Collectors.toMap(DictData::getCode, DictData::getId)); + +// List data = deptFeignClient.getDeptDescendantIndexes(id, WebUtil.filterDeptType()).getData(); + //获取当前部门和子部门信息 + List data = deptFeignClient.getDirectSonSelf(id).getData(); + Map deptMap = data.stream().collect(Collectors.toMap(Dept::getCode, dept -> dept)); + List deptCodes = data.stream().map(Dept::getCode).collect(Collectors.toList()); + +// if (!id.equals(orgIdList.get(0))) { +// orgIdList.add(id); //把父单位的id传进去 +// } + + HashMap condMap = new HashMap<>(); + condMap.put("startTime", startTime); + condMap.put("endTime", endTime); + condMap.put("orgIdList", deptCodes); + condMap.put(DicDataEnum.EVENT_TYPE_U.getCode(), eventTypeDictMap.get(DicDataEnum.EVENT_TYPE_U.getCode())); //潮流倒送 + condMap.put(DicDataEnum.EVENT_TYPE_A.getCode(), eventTypeDictMap.get(DicDataEnum.EVENT_TYPE_A.getCode())); //潮流倒送导致设备重载 + condMap.put(DicDataEnum.EVENT_TYPE_S.getCode(), eventTypeDictMap.get(DicDataEnum.EVENT_TYPE_S.getCode())); //潮流倒送导致设备过载 + Page page = rStatOrgPvPowerQualityMMapper.getStreamReverseByOrg(new Page<>(pageNum, pageSize), condMap); + List records = page.getRecords(); + DecimalFormat df = new DecimalFormat("###.00"); + List resultList = records.stream().peek(item -> { + item.setOrgName(deptMap.get(item.getOrgId()).getName()); //单位名称 + + int streamOverloadNum = item.getStreamOverloadNum(); //过载数 + int streamReloadNum = item.getStreamReloadNum(); //重载数 + int streamNum = item.getStreamNum(); //潮流倒送数 + if (streamNum != 0) { + item.setStreamLoadRate(Double.parseDouble(df.format((streamOverloadNum + streamReloadNum) * 1.0 / (streamNum * 1.0)))); + } else { + item.setStreamLoadRate(0.0); + } + }).collect(Collectors.toList()); + + page.setRecords(resultList); + + return page; + } + + /*** + * 潮流倒送分析-整县 + * @author jianghaifei + * @date 2022-11-28 15:00 + * @param streamReverseParam + * @return com.baomidou.mybatisplus.extension.plugins.pagination.Page + */ + @Override + public Page streamReverseByCounty(StreamReverseParam streamReverseParam) { + //提取参数 + String id = streamReverseParam.getId(); //单位 + String startTime = streamReverseParam.getStartTime(); //开始时间 + String endTime = streamReverseParam.getEndTime(); //结束时间 + Integer pageNum = streamReverseParam.getPageNum() != null && streamReverseParam.getPageNum() != 0 ? streamReverseParam.getPageNum() : 1; //页码 + Integer pageSize = streamReverseParam.getPageSize() != null && streamReverseParam.getPageSize() != 0 ? streamReverseParam.getPageSize() : 10; //页面尺寸 + + //根据条件查询单位下面的所有配网监测点 + PwPmsMonitorParam pwPmsMonitorParam = new PwPmsMonitorParam(); + pwPmsMonitorParam.setOrgId(id); //单位id + List pwMonitorList = pwMonitorClient.getPwMonitorList(pwPmsMonitorParam).getData(); + if (CollUtil.isEmpty(pwMonitorList)) { + return new Page<>(); + } + //监测点id集合 + List monitorIdList = pwMonitorList.stream().map(PwPmsMonitorDTO::getMonitorId).collect(Collectors.toList()); + //监测点map key:监测点id value:监测点实体 + Map monitorMap = pwMonitorList.stream().collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId, monitor -> monitor)); + + // todo: 潮流倒送时设备负载率只有月表,没法展示曲线 + return null; + } +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/WfOfOverviewServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/WfOfOverviewServiceImpl.java new file mode 100644 index 000000000..aa2700006 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/WfOfOverviewServiceImpl.java @@ -0,0 +1,22 @@ +package com.njcn.harmonic.service.specialanalysis.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.harmonic.mapper.specialanalysis.WfOfOverviewMapper; +import com.njcn.harmonic.pojo.po.WfOfOverviewPO; +import com.njcn.harmonic.service.specialanalysis.WfOfOverviewService; +import org.springframework.stereotype.Service; + +/** +* @author yzh +* @description 针对表【wf_of_overview(风电场概况)】的数据库操作Service实现 +* @createDate 2022-12-05 14:17:26 +*/ +@Service +public class WfOfOverviewServiceImpl extends ServiceImpl + implements WfOfOverviewService { + +} + + + + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/WfOfOverviewVoltageServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/WfOfOverviewVoltageServiceImpl.java new file mode 100644 index 000000000..3c0861a56 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/WfOfOverviewVoltageServiceImpl.java @@ -0,0 +1,22 @@ +package com.njcn.harmonic.service.specialanalysis.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.harmonic.mapper.specialanalysis.WfOfOverviewVoltageMapper; +import com.njcn.harmonic.pojo.po.WfOfOverviewVoltagePO; +import com.njcn.harmonic.service.specialanalysis.WfOfOverviewVoltageService; +import org.springframework.stereotype.Service; + +/** +* @author yzh +* @description 针对表【wf_of_overview_voltage(风电场概况-按电压等级)】的数据库操作Service实现 +* @createDate 2022-12-05 14:22:44 +*/ +@Service +public class WfOfOverviewVoltageServiceImpl extends ServiceImpl + implements WfOfOverviewVoltageService { + +} + + + + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/WindFarmIndexOverviewServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/WindFarmIndexOverviewServiceImpl.java new file mode 100644 index 000000000..185abe0c1 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/WindFarmIndexOverviewServiceImpl.java @@ -0,0 +1,152 @@ +package com.njcn.harmonic.service.specialanalysis.impl; + +import cn.hutool.core.collection.CollUtil; +import com.njcn.harmonic.mapper.specialanalysis.WindFarmIndexOverviewMapper; +import com.njcn.harmonic.pojo.param.RMpInfluenceParam; +import com.njcn.harmonic.pojo.po.WindFarmIndexOverviewPO; +import com.njcn.harmonic.pojo.vo.RStatOrgWfIndexOverviewVO; +import com.njcn.harmonic.service.specialanalysis.WindFarmIndexOverview; +import com.njcn.user.api.DeptFeignClient; +import com.njcn.user.pojo.po.Dept; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 专项分析-风电场-指标总览 + * + * @author yzh + * @date 2022/11/30 + */ + +@Service +@RequiredArgsConstructor +public class WindFarmIndexOverviewServiceImpl implements WindFarmIndexOverview { + + private final WindFarmIndexOverviewMapper windFarmIndexOverviewMapper; + + private final DeptFeignClient deptFeignClient; + + /** + * 获取风电场指标总览-电流指标 + * + * @param param 条件参数 + * @return com.njcn.common.pojo.response.HttpResult> + * @author yzh + * @date 2022/11/30 + */ + @Override + public List getHarmonicCurrent(RMpInfluenceParam param) { + return getResult(param, "1"); + } + + /** + * 获取风电场指标总览-电压指标 + * + * @param param 条件参数 + * @return com.njcn.common.pojo.response.HttpResult> + * @author yzh + * @date 2022/11/30 + */ + @Override + public List getHarmonicVoltage(RMpInfluenceParam param) { + return getResult(param, "2"); + } + + /** + * 获取风电场指标总览-各单位指标 + * + * @param param 条件参数 + * @return com.njcn.common.pojo.response.HttpResult> + * @author yzh + * @date 2022/11/30 + */ + @Override + public List getUnitCurrent(RMpInfluenceParam param) { + return getResult(param, "3"); + } + + /** + * 获取风电场指标总览-各单位电压 + * + * @param param 条件参数 + * @return com.njcn.common.pojo.response.HttpResult> + * @author yzh + * @date 2022/12/1 + */ + @Override + public List getUnitVoltage(RMpInfluenceParam param) { + return getResult(param, "4"); + } + + /** + * 业务逻辑 + * + * @param param 条件参数 + * @param tag 标记 + * @return RStatOrgWfIndexOverviewVO + */ + private List getResult(RMpInfluenceParam param, String tag) { + // 获取单位信息 + List data = deptFeignClient.getDirectSonSelf(param.getId()).getData(); + if (CollUtil.isEmpty(data)) { + return Collections.emptyList(); + } + // 获取单位code + List deptCode = data.stream().map(Dept::getCode).collect(Collectors.toList()); + if (CollUtil.isEmpty(deptCode)) { + return Collections.emptyList(); + } + // 获取风电场指标总览-电流指标 + List pos = getDataInfo(deptCode, param, tag); + if (CollUtil.isEmpty(pos)) { + return Collections.emptyList(); + } + // 将单位信息转换成map集合 + Map dataMap = data.stream().collect(Collectors.toMap(Dept::getCode, Dept::getName)); + return pos.stream().map(po -> { + RStatOrgWfIndexOverviewVO vo = new RStatOrgWfIndexOverviewVO(); + vo.setMonitorNum(po.getMonitorNum()); + vo.setType(dataMap.get(po.getOrgNo())); + vo.setHistograms(po.getAvgExcessiveDays().toString()); + vo.setLineCharts(po.getMonitorNum().toString()); + vo.setMonitorTag(po.getMonitorTag()); + return vo; + }).collect(Collectors.toList()); + } + + /** + * 查询数据库 + * + * @param deptCode 单位code + * @param param 条件参数 + * @param tag 标记 + * @return 数据库信息 + */ + private List getDataInfo(List deptCode, RMpInfluenceParam param, String tag) { + List info = new ArrayList<>(); + switch (tag) { + case "1": + info = windFarmIndexOverviewMapper.getWindFarmIndexOverviewHarmonicCurrent(deptCode, param); + break; + case "2": + info = windFarmIndexOverviewMapper.getWindFarmIndexOverviewHarmonicVoltage(deptCode, param); + break; + case "3": + info = windFarmIndexOverviewMapper.getWindFarmIndexOverviewUnitCurrent(deptCode, param); + break; + case "4": + info = windFarmIndexOverviewMapper.getWindFarmIndexOverviewUnitVoltage(deptCode, param); + break; + default: + break; + } + return info; + } + +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/WindFarmOverviewServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/WindFarmOverviewServiceImpl.java new file mode 100644 index 000000000..dc3fe19ed --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/WindFarmOverviewServiceImpl.java @@ -0,0 +1,151 @@ +package com.njcn.harmonic.service.specialanalysis.impl; + +import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.njcn.common.pojo.param.StatisticsBizBaseParam; +import com.njcn.harmonic.pojo.po.WfOfOverviewPO; +import com.njcn.harmonic.pojo.po.WfOfOverviewVoltagePO; +import com.njcn.harmonic.pojo.vo.WfOfOverviewVO; +import com.njcn.harmonic.pojo.vo.WfOfOverviewVoltageVO; +import com.njcn.harmonic.service.specialanalysis.WfOfOverviewService; +import com.njcn.harmonic.service.specialanalysis.WfOfOverviewVoltageService; +import com.njcn.harmonic.service.specialanalysis.WindFarmOverviewService; +import com.njcn.system.api.DicDataFeignClient; +import com.njcn.system.enums.DicDataEnum; +import com.njcn.system.pojo.po.DictData; +import com.njcn.user.api.DeptFeignClient; +import com.njcn.user.pojo.po.Dept; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * 专项分析-风电场-概述 + * + * @author yzh + * @date 2022/11/30 + */ + +@Slf4j +@Service +@RequiredArgsConstructor +public class WindFarmOverviewServiceImpl implements WindFarmOverviewService { + + private final DeptFeignClient deptFeignClient; + + private final WfOfOverviewService wfOfOverviewService; + + private final WfOfOverviewVoltageService wfOfOverviewVoltageService; + + private final DicDataFeignClient dicDataFeignClient; + + /** + * 获取风电场概述地图 + * + * @param param 条件参数 + * @return java.util.List + * @author yzh + * @date 2022/12/5 + */ + @Override + public List getWindFarmOverviewMap(StatisticsBizBaseParam param) { + return null; + } + + /** + * 获取风电场概述数值 + * + * @param param 条件参数 + * @return com.njcn.common.pojo.response.HttpResult> + * @author yzh + * @date 2022/11/30 + */ + @Override + public WfOfOverviewVO getWindFarmOverviewValues(StatisticsBizBaseParam param) { + // 获取单位信息 + Dept data = deptFeignClient.getDeptById(param.getId()).getData(); + if (StringUtils.isEmpty(data)) { + return new WfOfOverviewVO(); + } + // 获取单位code + String code = data.getCode(); + // 获取风电场概述数值 + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(WfOfOverviewPO::getOrgNo, code); + WfOfOverviewPO po = wfOfOverviewService.getOne(lqw); + if (StringUtils.isEmpty(po)) { + return new WfOfOverviewVO(); + } + WfOfOverviewVO vo = new WfOfOverviewVO(); + BeanUtils.copyProperties(po, vo); + return vo; + } + + /** + * 获取风电场概述环形图 + * + * @param param 条件参数 + * @return com.njcn.common.pojo.response.HttpResult> + * @author yzh + * @date 2022/12/5 + */ + @Override + public List getWindFarmOverviewCircularGraph(StatisticsBizBaseParam param) { + // 获取单位信息 + Dept data = deptFeignClient.getDeptById(param.getId()).getData(); + if (StringUtils.isEmpty(data)) { + return Collections.emptyList(); + } + // 获取单位code + String code = data.getCode(); + // 获取风电场概述数值 + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(WfOfOverviewVoltagePO::getOrgNo, code); + List pos = wfOfOverviewVoltageService.list(lqw); + if (CollUtil.isEmpty(pos)) { + return Collections.emptyList(); + } + // 获取电压等级字典 + DictData tenKv + = dicDataFeignClient.getDicDataByCode(DicDataEnum.DY_10KV.getCode()).getData(); + DictData thirtyFiveKv + = dicDataFeignClient.getDicDataByCode(DicDataEnum.DY_35KV.getCode()).getData(); + DictData oneHundredAndTenKv + = dicDataFeignClient.getDicDataByCode(DicDataEnum.DY_110KV.getCode()).getData(); + // 属性赋值 + List result = new ArrayList<>(); + int count = 0; + for (WfOfOverviewVoltagePO po : pos) { + WfOfOverviewVoltageVO vo = new WfOfOverviewVoltageVO(); + BeanUtils.copyProperties(po,vo); + if (po.getVoltageLevel().equals(tenKv.getId())){ + vo.setVoltageLevel(po.getVoltageLevel()); + vo.setWfSum(po.getWfSum()); + result.add(vo); + }else if (po.getVoltageLevel().equals(thirtyFiveKv.getId())){ + vo.setVoltageLevel(po.getVoltageLevel()); + vo.setWfSum(po.getWfSum()); + result.add(vo); + }else if (po.getVoltageLevel().equals(oneHundredAndTenKv.getId())){ + vo.setVoltageLevel(po.getVoltageLevel()); + vo.setWfSum(po.getWfSum()); + result.add(vo); + }else { + count=count+po.getWfSum(); + } + } + WfOfOverviewVoltageVO vo = new WfOfOverviewVoltageVO(); + vo.setVoltageLevel("22OKV以上"); + vo.setWfSum(count); + result.add(vo); + return result; + } +} + +