From 3abd49707f69e823703d43ab2bd61087446bc1fb Mon Sep 17 00:00:00 2001 From: hongawen <83944980@qq.com> Date: Tue, 8 Nov 2022 09:48:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/pms/api/PmsGeneratrixClient.java | 13 + .../PmsGeneratrixClientFallbackFactory.java | 6 + .../dto/GeneratrixAndPowerStationDTO.java | 58 ++ .../pms/pojo/param/PmsGeneratrixParam.java | 19 +- ...nicPO.java => RStatBusbarHarmonicYPO.java} | 7 +- ...nicVO.java => RStatBusbarHarmonicYVO.java} | 31 +- .../controller/PmsGeneratrixController.java | 31 +- .../RStatBusbarHarmonicController.java | 8 +- .../pms/controller/TerminalController.java | 2 +- .../pms/mapper/PmsGeneratrixMapper.java | 11 + .../pms/mapper/RStatBusbarHarmonicMapper.java | 25 +- .../mapper/mapping/PmsGeneratrixMapper.xml | 81 ++- .../mapping/RStatBusbarHarmonicMapper.xml | 59 +- .../pms/service/IPmsGeneratrixService.java | 41 +- .../service/RStatBusbarHarmonicService.java | 6 +- .../impl/PmsGeneratrixServiceImpl.java | 31 +- .../impl/RStatBusbarHarmonicServiceImpl.java | 148 +++-- .../com/njcn/device/pq/constant/Param.java | 24 + .../device/pq/enums/DeviceResponseEnum.java | 8 +- .../pq/pojo/param/AlgorithmSearchParam.java | 31 + .../com/njcn/device/pq/pojo/po/DataV.java | 56 ++ .../device/pq/pojo/po/PmsAbnormalRules.java | 44 ++ .../njcn/device/pq/pojo/po/RMpIntegrityD.java | 61 ++ .../device/pq/pojo/po/RStatAbnormalD.java | 33 + .../device/pq/pojo/vo/DeptDeviceDetailVO.java | 43 ++ .../pq/pojo/vo/DeptSubstationDetailVO.java | 41 ++ .../njcn/device/pq/pojo/vo/TerminalTree.java | 3 + .../controller/DataExceptionController.java | 51 ++ .../DataIntegrityRateController.java | 51 ++ .../GeneralDeviceInfoController.java | 39 +- .../com/njcn/device/pq/mapper/LineMapper.java | 122 ++-- .../pq/mapper/PmsAbnormalRulesMapper.java | 14 + .../device/pq/mapper/RMpIntegrityDMapper.java | 14 + .../pq/mapper/RStatAbnormalDMapper.java | 14 + .../pq/service/DataExceptionService.java | 20 + .../pq/service/DataIntegrityRateService.java | 20 + .../impl/DataExceptionServiceImpl.java | 201 ++++++ .../impl/DataIntegrityRateServiceImpl.java | 193 ++++++ .../pq/service/impl/GeneralDeviceService.java | 54 +- .../service/impl/TerminalTreeServiceImpl.java | 5 + .../pojo/param/EventMonitorReportParam.java | 22 + .../pojo/param/PwUniversalFrontEndParam.java | 26 + .../njcn/event/pojo/param/REventMParam.java | 28 + .../param/StatSubstationBizBaseParam.java | 20 + .../pojo/param/UniversalFrontEndParam.java | 34 +- .../po/EventDistributionStatisticsPO.java | 59 ++ .../pojo/po/EventDurationLineChartPO.java | 51 ++ .../po/EventFeatureAmplitudeLineChartPO.java | 76 +++ .../com/njcn/event/pojo/po/RStatEventD.java | 56 ++ .../com/njcn/event/pojo/po/RStatEventM.java | 65 ++ .../njcn/event/pojo/po/RStatEventOrgM.java | 62 ++ .../njcn/event/pojo/po/RStatEventOrgPO.java | 90 ++- .../njcn/event/pojo/po/RStatEventOrgQ.java | 61 ++ .../njcn/event/pojo/po/RStatEventOrgY.java | 61 ++ .../com/njcn/event/pojo/po/RStatEventQ.java | 65 ++ .../event/pojo/po/RStatEventVoltageM.java | 68 ++ .../com/njcn/event/pojo/po/RStatEventY.java | 65 ++ .../com/njcn/event/pojo/po/RStatOrgPO.java | 4 +- .../njcn/event/pojo/po/RStatSubstationM.java | 122 ++++ .../njcn/event/pojo/po/RStatSubstationQ.java | 95 +++ .../pojo/po/RStatSubstationVoltageM.java | 50 ++ .../njcn/event/pojo/po/RStatSubstationY.java | 95 +++ .../njcn/event/pojo/po/RmpEventDetailPO.java | 8 +- .../event/pojo/po/RmpEventReportDayPO.java | 39 ++ .../pojo/vo/EventDipShortDistributionVO.java | 100 +++ .../EventDistributionStatisticsTableVO.java | 68 ++ .../pojo/vo/EventFeatureAmplitudeCurveVO.java | 74 +++ .../event/pojo/vo/EventMonitorReportVO.java | 43 ++ .../pojo/vo/EventRiseDistributionVO.java | 26 + .../event/pojo/vo/PwRmpEventDetailVO.java | 98 +++ .../java/com/njcn/event/pojo/vo/RArrayVO.java | 27 + .../njcn/event/pojo/vo/REventPolylineVO.java | 33 + .../com/njcn/event/pojo/vo/RStatEventMVO.java | 44 ++ .../njcn/event/pojo/vo/RStatEventOrgVO.java | 135 ++-- .../com/njcn/event/pojo/vo/RStatOrgVO.java | 25 +- .../event/pojo/vo/RSubstationIcon2VO.java | 37 ++ .../njcn/event/pojo/vo/RSubstationIconVO.java | 37 ++ .../njcn/event/pojo/vo/RVoltageIconVO.java | 26 + .../njcn/event/pojo/vo/RmpEventDetailVO.java | 9 +- .../java/com/njcn/event/pojo/vo/SimpleVO.java | 18 + pqs-event/event-boot/pom.xml | 6 + .../PwEventCategoryDetailsController.java | 102 +++ .../distribution/PwRStatEventController.java | 88 +++ .../PwRStatEventOrgController.java | 103 +++ .../distribution/PwRStatOrgController.java | 70 +++ .../PwRmpEventDetailController.java | 52 ++ .../AdvancedAnalysisController.java | 2 +- .../AreaAnalysisController.java | 4 +- .../{ => majornetwork}/AreaController.java | 4 +- .../AreaStatisticalController.java | 4 +- .../EventDetailController.java | 9 +- ...EventDistributionStatisticsController.java | 103 +++ .../EventMonitorReportController.java | 66 ++ .../MonitorPointController.java | 5 +- .../majornetwork/RStatEventMController.java | 101 +++ .../RStatEventOrgMController.java | 106 ++++ .../RStatSubstationMController.java | 80 +++ .../{ => majornetwork}/ReportController.java | 16 +- .../RmpEventDetailController.java | 41 +- ...isticsOfTransientIndicatorsController.java | 15 +- .../TransientController.java | 4 +- .../area/AreaInfoController.java | 5 +- .../com/njcn/event/mapper/RStatOrgMapper.java | 56 -- .../event/mapper/RmpEventDetailMapper.java | 16 - .../PwEventCategoryDetailsMapper.java | 76 +++ .../PwRStatOrgClassifiedMapper.java | 60 ++ .../mapper/distribution/PwRStatOrgMapper.java | 59 ++ .../distribution/PwRmpEventDetailMapper.java | 26 + .../mapping/PwEventCategoryDetailsMapper.xml | 213 +++++++ .../mapping/PwRStatOrgClassifiedMapper.xml | 75 +++ .../distribution/mapping/PwRStatOrgMapper.xml | 67 ++ .../mapping/PwRmpEventDetailMapper.xml | 20 + .../EventDistributionStatisticsMapper.java | 89 +++ .../{ => majornetwork}/PmsMonitorMapper.java | 2 +- .../{ => majornetwork}/PqDeviceMapper.java | 2 +- .../majornetwork/RStatEventDMapper.java | 16 + .../majornetwork/RStatEventMMapper.java | 16 + .../majornetwork/RStatEventOrgMMapper.java | 16 + .../RStatEventOrgMapper.java | 41 +- .../majornetwork/RStatEventOrgQMapper.java | 16 + .../majornetwork/RStatEventOrgYMapper.java | 16 + .../majornetwork/RStatEventQMapper.java | 16 + .../RStatEventVoltageMMapper.java | 16 + .../majornetwork/RStatEventYMapper.java | 16 + .../mapper/majornetwork/RStatOrgMapper.java | 61 ++ .../majornetwork/RStatSubstationMMapper.java | 35 ++ .../RStatSubstationMapper.java | 3 +- .../majornetwork/RStatSubstationQMapper.java | 35 ++ .../RStatSubstationVoltageMMapper.java | 28 + .../majornetwork/RStatSubstationYMapper.java | 36 ++ .../majornetwork/RmpEventDetailMapper.java | 33 + .../majornetwork/RmpEventReportDayMapper.java | 11 + .../{ => majornetwork}/TransientMapper.java | 2 +- .../EventDistributionStatisticsMapper.xml | 438 +++++++++++++ .../mapping/PmsMonitorMapper.xml | 2 +- .../mapping/PqDeviceMapper.xml | 2 +- .../mapping/RStatEventDMapper.xml | 17 + .../mapping/RStatEventMMapper.xml | 20 + .../mapping/RStatEventOrgMMapper.xml | 19 + .../mapping/RStatEventOrgMapper.xml | 15 +- .../mapping/RStatEventOrgQMapper.xml | 19 + .../mapping/RStatEventOrgYMapper.xml | 19 + .../mapping/RStatEventQMapper.xml | 20 + .../mapping/RStatEventVoltageMMapper.xml | 21 + .../mapping/RStatEventYMapper.xml | 20 + .../mapping/RStatOrgMapper.xml | 31 +- .../mapping/RStatSubstationMMapper.xml | 107 ++++ .../mapping/RStatSubstationMapper.xml | 2 +- .../mapping/RStatSubstationQMapper.xml | 100 +++ .../mapping/RStatSubstationVoltageMMapper.xml | 39 ++ .../mapping/RStatSubstationYMapper.xml | 100 +++ .../mapping/RmpEventDetailMapper.xml | 35 ++ .../mapping/RmpEventReportDayMapper.xml} | 2 +- .../mapping/TransientMapper.xml | 2 +- .../Impl/RmpEventDetailServiceImpl.java | 71 --- ...ticsOfTransientIndicatorssServiceImpl.java | 334 ---------- .../PwEventCategoryDetailsServiceImpl.java | 355 +++++++++++ .../Impl/PwRStatOrgServiceImpl.java | 324 ++++++++++ .../Impl/PwRmpEventDetailServiceImpl.java | 148 +++++ .../PwEventCategoryDetailsService.java | 55 ++ .../distribution/PwRStatOrgService.java | 33 + .../distribution/PwRmpEventDetailService.java | 26 + .../AreaAnalysisService.java | 2 +- .../{ => majornetwork}/AreaInfoService.java | 3 +- .../{ => majornetwork}/AreaLineService.java | 2 +- .../AreaStatisticalService.java | 2 +- .../EventAnalysisService.java | 2 +- .../EventDetailService.java | 6 +- .../EventDistributionStatisticsService.java | 50 ++ .../EventMonitorReportService.java | 24 + .../Impl/AreaAnalysisServiceImpl.java | 6 +- .../Impl/AreaInfoServiceImpl.java | 9 +- .../Impl/AreaLineServiceImpl.java | 9 +- .../Impl/AreaStatisticalServiceImpl.java | 4 +- .../Impl/EventAnalysisServiceImpl.java | 13 +- .../Impl/EventDetailServiceImpl.java | 38 +- ...ventDistributionStatisticsServiceImpl.java | 354 +++++++++++ .../Impl/EventMonitorReportServiceImpl.java | 228 +++++++ .../Impl/RStatEventDServiceImpl.java | 20 + .../Impl/RStatEventMServiceImpl.java | 591 ++++++++++++++++++ .../Impl/RStatEventOrgMServiceImpl.java | 342 ++++++++++ .../Impl/RStatEventOrgQServiceImpl.java | 342 ++++++++++ .../Impl/RStatEventOrgYServiceImpl.java | 343 ++++++++++ .../Impl/RStatEventQServiceImpl.java | 217 +++++++ .../Impl/RStatEventYServiceImpl.java | 219 +++++++ .../Impl/RStatSubstationMServiceImpl.java | 130 ++++ .../RStatSubstationVoltageMServiceImpl.java | 35 ++ .../Impl/ReportController.java | 2 +- .../Impl/ReportServiceImpl.java | 10 +- .../Impl/RmpEventDetailServiceImpl.java | 148 +++++ ...ticsOfTransientIndicatorssServiceImpl.java | 373 +++++++++++ .../Impl/TransientServiceImpl.java | 16 +- .../majornetwork/RStatEventDService.java | 16 + .../majornetwork/RStatEventMService.java | 59 ++ .../majornetwork/RStatEventOrgMService.java | 53 ++ .../majornetwork/RStatEventOrgQService.java | 53 ++ .../majornetwork/RStatEventOrgYService.java | 53 ++ .../majornetwork/RStatEventQService.java | 35 ++ .../majornetwork/RStatEventYService.java | 35 ++ .../majornetwork/RStatSubstationMService.java | 36 ++ .../RStatSubstationVoltageMService.java | 29 + .../{ => majornetwork}/ReportService.java | 2 +- .../RmpEventDetailService.java | 16 +- ...atisticsOfTransientIndicatorssService.java | 6 +- .../{ => majornetwork}/TransientService.java | 2 +- .../pojo/param/ReportTemplateParam.java | 9 +- .../harmonic/pojo/po/RMpPollutionDPO.java | 62 ++ .../pojo/po/RStatPollutionOrgMPO.java | 61 ++ .../pojo/vo/RStatOrgBusbarVoltageVO.java | 34 +- .../harmonic/pojo/vo/RSubstationIcon2VO.java | 4 +- .../controller/CustomReportController.java | 8 +- .../controller/PwRStatHarmonicController.java | 87 +++ .../controller/RStatHarmonicMController.java | 12 +- .../RStatHarmonicOrgMController.java | 6 +- .../controller/RStatOrgController.java | 39 +- .../RStatSubstationMController.java | 8 +- .../harmonic/controller/THDController.java | 18 +- .../mapper/RMpPollutionDPOMapper.java | 43 ++ .../mapper/RStatOrgBusbarVoltageMMapper.java | 11 + .../mapper/RStatOrgBusbarVoltageQMapper.java | 11 + .../mapper/RStatOrgBusbarVoltageYMapper.java | 12 + .../mapper/RStatPollutionOrgMPOMapper.java | 25 + .../mapper/mapping/ExcelRptTempMapper.xml | 3 +- .../mapping/RMpPartHarmonicDetailDMapper.xml | 2 +- .../mapper/mapping/RMpPollutionDPOMapper.xml | 102 +++ .../mapping/RStatOrgBusbarVoltageMMapper.xml | 44 ++ .../mapping/RStatOrgBusbarVoltageQMapper.xml | 45 ++ .../mapping/RStatOrgBusbarVoltageYMapper.xml | 45 ++ .../mapping/RStatPollutionOrgMPOMapper.xml | 107 ++++ .../RMpPartHarmonicDetailDService.java | 3 +- .../RMpPartHarmonicDetailMService.java | 3 +- .../harmonic/service/RMpPassRateService.java | 3 +- .../service/RStatHarmonicMService.java | 25 +- .../service/RStatHarmonicQService.java | 8 +- .../service/RStatHarmonicYService.java | 14 +- .../service/RStatOrgBusbarVoltageService.java | 7 +- .../harmonic/service/RStatOrgYService.java | 4 + .../service/RStatSubstationMService.java | 4 +- .../harmonic/service/THDistortionService.java | 14 +- .../service/impl/CustomReportServiceImpl.java | 120 ++-- .../impl/PollutionSubstationServiceImpl.java | 13 +- .../RMpPartHarmonicDetailDServiceImpl.java | 2 +- .../RMpPartHarmonicDetailMServiceImpl.java | 26 +- .../service/impl/RMpPassRateServiceImpl.java | 26 +- .../impl/RStatHarmonicMServiceImpl.java | 182 +++++- .../impl/RStatHarmonicQServiceImpl.java | 91 ++- .../impl/RStatHarmonicYServiceImpl.java | 119 +++- .../impl/RStatLoadTypeServiceImpl.java | 16 +- .../RStatOrgBusbarVoltageServiceImpl.java | 82 +-- .../service/impl/RStatOrgMServiceImpl.java | 14 +- .../service/impl/RStatOrgQServiceImpl.java | 12 +- .../service/impl/RStatOrgYServiceImpl.java | 62 +- .../impl/RStatSubstationMServiceImpl.java | 22 +- .../service/impl/THDistortionServiceImpl.java | 5 +- .../src/main/resources/bootstrap.yml | 4 + pqs-job/job-executor/pom.xml | 12 +- .../njcn/executor/JobExecutorApplication.java | 1 - .../executor/handler/HarmAlarmDetailJob.java | 54 +- .../src/main/resources/bootstrap.yml | 3 +- .../api/line/DistortionRateFeignClient.java | 27 + .../api/line/HarmonicGeneralFeignClient.java | 28 + .../api/line/HarmonicMetricFeignClient.java | 27 + .../api/line/NormalLimitFeignClient.java | 8 +- ...ustomReportFeignClientFallbackFactory.java | 2 +- ...tortionRateFeignClientFallbackFactory.java | 40 ++ ...onicGeneralFeignClientFallbackFactory.java | 40 ++ ...monicMetricFeignClientFallbackFactory.java | 40 ++ .../line/DistortionRateController.java | 45 ++ .../line/HarmonicGeneralController.java | 45 ++ .../line/HarmonicMetricController.java | 46 ++ .../mapper/line/RMpPollutionDMapper.java | 3 +- .../harmonic/mapper/line/RMpVThdMapper.java | 20 + .../line/mapping/ExcelRptTempMapper.xml | 2 +- .../line/mapping/RMpPollutionDMapper.xml | 9 +- .../mapper/line/mapping/RMpVThdMapper.xml | 11 + .../harmonic/pojo/po/DataFlickerPO.java | 4 + .../prepare/harmonic/pojo/po/DataPltPO.java | 3 + .../prepare/harmonic/pojo/po/DataVPO.java | 8 + .../harmonic/pojo/po/RMpPollutionD.java | 116 +--- .../prepare/harmonic/pojo/po/RMpVThd.java | 81 +++ .../Impl/line/DistortionRateServiceImpl.java | 74 +++ .../Impl/line/HarmonicGeneralServiceImpl.java | 188 ++++++ .../Impl/line/HarmonicMetricServiceImpl.java | 88 +++ .../Impl/line/OnlineRateServiceImpl.java | 6 +- .../Impl/line/PollutionServiceImpl.java | 342 +++++----- .../service/Impl/line/ReportServiceImpl.java | 2 +- .../service/line/DistortionRateService.java | 13 + .../service/line/HarmonicGeneralService.java | 13 + .../service/line/HarmonicMetricService.java | 13 + .../src/main/resources/bootstrap.yml | 6 +- 290 files changed, 13772 insertions(+), 1639 deletions(-) create mode 100644 pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/GeneratrixAndPowerStationDTO.java rename pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/{RStatBusbarHarmonicPO.java => RStatBusbarHarmonicYPO.java} (90%) rename pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/{RStatBusbarHarmonicVO.java => RStatBusbarHarmonicYVO.java} (80%) create mode 100644 pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/constant/Param.java create mode 100644 pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/AlgorithmSearchParam.java create mode 100644 pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/DataV.java create mode 100644 pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/PmsAbnormalRules.java create mode 100644 pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/RMpIntegrityD.java create mode 100644 pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/RStatAbnormalD.java create mode 100644 pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/DeptDeviceDetailVO.java create mode 100644 pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/DeptSubstationDetailVO.java create mode 100644 pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/DataExceptionController.java create mode 100644 pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/DataIntegrityRateController.java create mode 100644 pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/PmsAbnormalRulesMapper.java create mode 100644 pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/RMpIntegrityDMapper.java create mode 100644 pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/RStatAbnormalDMapper.java create mode 100644 pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/DataExceptionService.java create mode 100644 pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/DataIntegrityRateService.java create mode 100644 pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DataExceptionServiceImpl.java create mode 100644 pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DataIntegrityRateServiceImpl.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/EventMonitorReportParam.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/PwUniversalFrontEndParam.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/REventMParam.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/StatSubstationBizBaseParam.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/EventDistributionStatisticsPO.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/EventDurationLineChartPO.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/EventFeatureAmplitudeLineChartPO.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventD.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventM.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventOrgM.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventOrgQ.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventOrgY.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventQ.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventVoltageM.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventY.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatSubstationM.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatSubstationQ.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatSubstationVoltageM.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatSubstationY.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RmpEventReportDayPO.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/EventDipShortDistributionVO.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/EventDistributionStatisticsTableVO.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/EventFeatureAmplitudeCurveVO.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/EventMonitorReportVO.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/EventRiseDistributionVO.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/PwRmpEventDetailVO.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RArrayVO.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/REventPolylineVO.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RStatEventMVO.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RSubstationIcon2VO.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RSubstationIconVO.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RVoltageIconVO.java create mode 100644 pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/SimpleVO.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/controller/distribution/PwEventCategoryDetailsController.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/controller/distribution/PwRStatEventController.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/controller/distribution/PwRStatEventOrgController.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/controller/distribution/PwRStatOrgController.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/controller/distribution/PwRmpEventDetailController.java rename pqs-event/event-boot/src/main/java/com/njcn/event/controller/{ => majornetwork}/AdvancedAnalysisController.java (90%) rename pqs-event/event-boot/src/main/java/com/njcn/event/controller/{ => majornetwork}/AreaAnalysisController.java (96%) rename pqs-event/event-boot/src/main/java/com/njcn/event/controller/{ => majornetwork}/AreaController.java (97%) rename pqs-event/event-boot/src/main/java/com/njcn/event/controller/{ => majornetwork}/AreaStatisticalController.java (94%) rename pqs-event/event-boot/src/main/java/com/njcn/event/controller/{ => majornetwork}/EventDetailController.java (95%) create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/EventDistributionStatisticsController.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/EventMonitorReportController.java rename pqs-event/event-boot/src/main/java/com/njcn/event/controller/{ => majornetwork}/MonitorPointController.java (98%) create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/RStatEventMController.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/RStatEventOrgMController.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/RStatSubstationMController.java rename pqs-event/event-boot/src/main/java/com/njcn/event/controller/{ => majornetwork}/ReportController.java (94%) rename pqs-event/event-boot/src/main/java/com/njcn/event/controller/{ => majornetwork}/RmpEventDetailController.java (53%) rename pqs-event/event-boot/src/main/java/com/njcn/event/controller/{ => majornetwork}/StatisticsOfTransientIndicatorsController.java (87%) rename pqs-event/event-boot/src/main/java/com/njcn/event/controller/{ => majornetwork}/TransientController.java (97%) rename pqs-event/event-boot/src/main/java/com/njcn/event/controller/{ => majornetwork}/area/AreaInfoController.java (96%) delete mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/RStatOrgMapper.java delete mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/RmpEventDetailMapper.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/PwEventCategoryDetailsMapper.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/PwRStatOrgClassifiedMapper.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/PwRStatOrgMapper.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/PwRmpEventDetailMapper.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/mapping/PwEventCategoryDetailsMapper.xml create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/mapping/PwRStatOrgClassifiedMapper.xml create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/mapping/PwRStatOrgMapper.xml create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/mapping/PwRmpEventDetailMapper.xml create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/EventDistributionStatisticsMapper.java rename pqs-event/event-boot/src/main/java/com/njcn/event/mapper/{ => majornetwork}/PmsMonitorMapper.java (91%) rename pqs-event/event-boot/src/main/java/com/njcn/event/mapper/{ => majornetwork}/PqDeviceMapper.java (91%) create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventDMapper.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventMMapper.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventOrgMMapper.java rename pqs-event/event-boot/src/main/java/com/njcn/event/mapper/{ => majornetwork}/RStatEventOrgMapper.java (50%) create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventOrgQMapper.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventOrgYMapper.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventQMapper.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventVoltageMMapper.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventYMapper.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatOrgMapper.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatSubstationMMapper.java rename pqs-event/event-boot/src/main/java/com/njcn/event/mapper/{ => majornetwork}/RStatSubstationMapper.java (95%) create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatSubstationQMapper.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatSubstationVoltageMMapper.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatSubstationYMapper.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RmpEventDetailMapper.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RmpEventReportDayMapper.java rename pqs-event/event-boot/src/main/java/com/njcn/event/mapper/{ => majornetwork}/TransientMapper.java (89%) create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/EventDistributionStatisticsMapper.xml rename pqs-event/event-boot/src/main/java/com/njcn/event/mapper/{ => majornetwork}/mapping/PmsMonitorMapper.xml (91%) rename pqs-event/event-boot/src/main/java/com/njcn/event/mapper/{ => majornetwork}/mapping/PqDeviceMapper.xml (96%) create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatEventDMapper.xml create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatEventMMapper.xml create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatEventOrgMMapper.xml rename pqs-event/event-boot/src/main/java/com/njcn/event/mapper/{ => majornetwork}/mapping/RStatEventOrgMapper.xml (88%) create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatEventOrgQMapper.xml create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatEventOrgYMapper.xml create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatEventQMapper.xml create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatEventVoltageMMapper.xml create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatEventYMapper.xml rename pqs-event/event-boot/src/main/java/com/njcn/event/mapper/{ => majornetwork}/mapping/RStatOrgMapper.xml (90%) create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatSubstationMMapper.xml rename pqs-event/event-boot/src/main/java/com/njcn/event/mapper/{ => majornetwork}/mapping/RStatSubstationMapper.xml (96%) create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatSubstationQMapper.xml create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatSubstationVoltageMMapper.xml create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatSubstationYMapper.xml create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RmpEventDetailMapper.xml rename pqs-event/event-boot/src/main/java/com/njcn/event/mapper/{mapping/RmpEventDetailMapper.xml => majornetwork/mapping/RmpEventReportDayMapper.xml} (59%) rename pqs-event/event-boot/src/main/java/com/njcn/event/mapper/{ => majornetwork}/mapping/TransientMapper.xml (95%) delete mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/service/Impl/RmpEventDetailServiceImpl.java delete mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/service/Impl/StatisticsOfTransientIndicatorssServiceImpl.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/service/distribution/Impl/PwEventCategoryDetailsServiceImpl.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/service/distribution/Impl/PwRStatOrgServiceImpl.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/service/distribution/Impl/PwRmpEventDetailServiceImpl.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/service/distribution/PwEventCategoryDetailsService.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/service/distribution/PwRStatOrgService.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/service/distribution/PwRmpEventDetailService.java rename pqs-event/event-boot/src/main/java/com/njcn/event/service/{ => majornetwork}/AreaAnalysisService.java (94%) rename pqs-event/event-boot/src/main/java/com/njcn/event/service/{ => majornetwork}/AreaInfoService.java (93%) rename pqs-event/event-boot/src/main/java/com/njcn/event/service/{ => majornetwork}/AreaLineService.java (95%) rename pqs-event/event-boot/src/main/java/com/njcn/event/service/{ => majornetwork}/AreaStatisticalService.java (91%) rename pqs-event/event-boot/src/main/java/com/njcn/event/service/{ => majornetwork}/EventAnalysisService.java (98%) rename pqs-event/event-boot/src/main/java/com/njcn/event/service/{ => majornetwork}/EventDetailService.java (87%) create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/EventDistributionStatisticsService.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/EventMonitorReportService.java rename pqs-event/event-boot/src/main/java/com/njcn/event/service/{ => majornetwork}/Impl/AreaAnalysisServiceImpl.java (98%) rename pqs-event/event-boot/src/main/java/com/njcn/event/service/{ => majornetwork}/Impl/AreaInfoServiceImpl.java (96%) rename pqs-event/event-boot/src/main/java/com/njcn/event/service/{ => majornetwork}/Impl/AreaLineServiceImpl.java (98%) rename pqs-event/event-boot/src/main/java/com/njcn/event/service/{ => majornetwork}/Impl/AreaStatisticalServiceImpl.java (98%) rename pqs-event/event-boot/src/main/java/com/njcn/event/service/{ => majornetwork}/Impl/EventAnalysisServiceImpl.java (99%) rename pqs-event/event-boot/src/main/java/com/njcn/event/service/{ => majornetwork}/Impl/EventDetailServiceImpl.java (81%) create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/EventDistributionStatisticsServiceImpl.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/EventMonitorReportServiceImpl.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RStatEventDServiceImpl.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RStatEventMServiceImpl.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RStatEventOrgMServiceImpl.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RStatEventOrgQServiceImpl.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RStatEventOrgYServiceImpl.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RStatEventQServiceImpl.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RStatEventYServiceImpl.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RStatSubstationMServiceImpl.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RStatSubstationVoltageMServiceImpl.java rename pqs-event/event-boot/src/main/java/com/njcn/event/service/{ => majornetwork}/Impl/ReportController.java (99%) rename pqs-event/event-boot/src/main/java/com/njcn/event/service/{ => majornetwork}/Impl/ReportServiceImpl.java (99%) create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RmpEventDetailServiceImpl.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/StatisticsOfTransientIndicatorssServiceImpl.java rename pqs-event/event-boot/src/main/java/com/njcn/event/service/{ => majornetwork}/Impl/TransientServiceImpl.java (98%) create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/RStatEventDService.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/RStatEventMService.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/RStatEventOrgMService.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/RStatEventOrgQService.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/RStatEventOrgYService.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/RStatEventQService.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/RStatEventYService.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/RStatSubstationMService.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/RStatSubstationVoltageMService.java rename pqs-event/event-boot/src/main/java/com/njcn/event/service/{ => majornetwork}/ReportService.java (97%) rename pqs-event/event-boot/src/main/java/com/njcn/event/service/{ => majornetwork}/RmpEventDetailService.java (64%) rename pqs-event/event-boot/src/main/java/com/njcn/event/service/{ => majornetwork}/StatisticsOfTransientIndicatorssService.java (89%) rename pqs-event/event-boot/src/main/java/com/njcn/event/service/{ => majornetwork}/TransientService.java (96%) create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpPollutionDPO.java create mode 100644 pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatPollutionOrgMPO.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/PwRStatHarmonicController.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/RMpPollutionDPOMapper.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/RStatPollutionOrgMPOMapper.java create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RMpPollutionDPOMapper.xml create mode 100644 pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatPollutionOrgMPOMapper.xml create mode 100644 pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/api/line/DistortionRateFeignClient.java create mode 100644 pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/api/line/HarmonicGeneralFeignClient.java create mode 100644 pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/api/line/HarmonicMetricFeignClient.java create mode 100644 pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/DistortionRateFeignClientFallbackFactory.java create mode 100644 pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/HarmonicGeneralFeignClientFallbackFactory.java create mode 100644 pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/HarmonicMetricFeignClientFallbackFactory.java create mode 100644 pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/controller/line/DistortionRateController.java create mode 100644 pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/controller/line/HarmonicGeneralController.java create mode 100644 pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/controller/line/HarmonicMetricController.java create mode 100644 pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/mapper/line/RMpVThdMapper.java create mode 100644 pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/mapper/line/mapping/RMpVThdMapper.xml create mode 100644 pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/pojo/po/RMpVThd.java create mode 100644 pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/Impl/line/DistortionRateServiceImpl.java create mode 100644 pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/Impl/line/HarmonicGeneralServiceImpl.java create mode 100644 pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/Impl/line/HarmonicMetricServiceImpl.java create mode 100644 pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/line/DistortionRateService.java create mode 100644 pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/line/HarmonicGeneralService.java create mode 100644 pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/line/HarmonicMetricService.java diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/PmsGeneratrixClient.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/PmsGeneratrixClient.java index 2c07625b9..f8b235aec 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/PmsGeneratrixClient.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/PmsGeneratrixClient.java @@ -4,8 +4,10 @@ import com.njcn.common.pojo.constant.ServerInfo; import com.njcn.common.pojo.response.HttpResult; import com.njcn.device.pms.api.fallback.PmsGeneratrixClientFallbackFactory; import com.njcn.device.pms.api.fallback.StatationStatClientFallbackFactory; +import com.njcn.device.pms.pojo.dto.GeneratrixAndPowerStationDTO; import com.njcn.device.pms.pojo.dto.PmsGeneratrixDTO; import com.njcn.device.pms.pojo.param.PmsGeneratrixParam; +import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; @@ -30,4 +32,15 @@ public interface PmsGeneratrixClient { */ @PostMapping("/getGeneratrixInfo") HttpResult> getGeneratrixInfo(@RequestBody PmsGeneratrixParam pmsGeneratrixParam); + + /** + * 获取母线与电站关联信息 + * + * @param param 条件参数 + * @return com.njcn.common.pojo.response.HttpResult> + * @author yzh + * @date 2022/11/3 + */ + @PostMapping("/getGeneratrixAndPowerStationInfo") + HttpResult> getGeneratrixAndPowerStationInfo(@RequestBody PmsGeneratrixParam param); } diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/PmsGeneratrixClientFallbackFactory.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/PmsGeneratrixClientFallbackFactory.java index 851ae2fbc..d4e054124 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/PmsGeneratrixClientFallbackFactory.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/PmsGeneratrixClientFallbackFactory.java @@ -5,6 +5,7 @@ import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.pojo.response.HttpResult; import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient; import com.njcn.device.pms.api.PmsGeneratrixClient; +import com.njcn.device.pms.pojo.dto.GeneratrixAndPowerStationDTO; import com.njcn.device.pms.pojo.dto.PmsGeneralDeviceDTO; import com.njcn.device.pms.pojo.dto.PmsGeneratrixDTO; import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam; @@ -38,6 +39,11 @@ public class PmsGeneratrixClientFallbackFactory implements FallbackFactory> getGeneratrixAndPowerStationInfo(PmsGeneratrixParam param) { + 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/GeneratrixAndPowerStationDTO.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/GeneratrixAndPowerStationDTO.java new file mode 100644 index 000000000..13015877e --- /dev/null +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/GeneratrixAndPowerStationDTO.java @@ -0,0 +1,58 @@ +package com.njcn.device.pms.pojo.dto; + +import com.njcn.device.pms.pojo.po.Generatrix; +import com.njcn.device.pq.pojo.po.Voltage; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.apache.commons.math3.analysis.function.Power; + +import java.io.Serializable; + +/** + * 母线与电站关联信息 + * + * @author yzh + * @date 2022/11/3 + */ + +@Data +public class GeneratrixAndPowerStationDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 母线id + */ + @ApiModelProperty(name = "generatrixId", value = "母线id") + private String generatrixId; + + /** + * 母线名称 + */ + @ApiModelProperty(name = "generatrixName", value = "母线名称") + private String generatrixName; + + /** + * 母线电压等级 + */ + @ApiModelProperty(name = "generatrixVoltageLevel", value = "母线电压等级") + private String generatrixVoltageLevel; + + /** + * 变电站id + */ + @ApiModelProperty(name = "powerId", value = "变电站id") + private String powerId; + + /** + * 变电站名称 + */ + @ApiModelProperty(name = "powerName", value = "变电站名称") + private String powerName; + + /** + * 变电站电压等级 + */ + @ApiModelProperty(name = "powerVoltageLevel", value = "变电站电压等级") + private String powerVoltageLevel; +} diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PmsGeneratrixParam.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PmsGeneratrixParam.java index cd2d62604..412b69730 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PmsGeneratrixParam.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PmsGeneratrixParam.java @@ -23,15 +23,32 @@ public class PmsGeneratrixParam implements Serializable { * 母线id集合 */ @ApiModelProperty(name = "generatrixIds", value = "母线id集合") - @NotNull(message = "母线id集合不可为空") private List generatrixIds; + /** + * 变电站id + */ + @ApiModelProperty(name = "powerStationIds", value = "变电站id") + private List powerStationIds; + + /** + * 变电站名称 + */ + @ApiModelProperty(name = "powerStationName", value = "变电站名称") + private String powerStationName; + /** * 母线名称 */ @ApiModelProperty(name = "generatrixName", value = "母线名称") private String generatrixName; + /** + * 变电站电压等级 + */ + @ApiModelProperty(name = "powerStationVoltageLevel", value = "变电站电压等级") + private List powerStationVoltageLevel; + /** * 母线电压等级 */ diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/RStatBusbarHarmonicPO.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/RStatBusbarHarmonicYPO.java similarity index 90% rename from pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/RStatBusbarHarmonicPO.java rename to pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/RStatBusbarHarmonicYPO.java index 6ed24f82d..4b3036f16 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/RStatBusbarHarmonicPO.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/RStatBusbarHarmonicYPO.java @@ -9,11 +9,11 @@ import java.io.Serializable; * (RStatBusbarHarmonicY)实体类 * * @author yzh - * @since 2022-10-12 18:38:16 + * @since 2022-11-03 14:16:47 */ @Data -public class RStatBusbarHarmonicPO implements Serializable { - private static final long serialVersionUID = 398744755685851294L; +public class RStatBusbarHarmonicYPO implements Serializable { + private static final long serialVersionUID = 1L; /** * 母线ID */ @@ -87,6 +87,5 @@ public class RStatBusbarHarmonicPO implements Serializable { */ private Double flicker95; - } diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/RStatBusbarHarmonicVO.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/RStatBusbarHarmonicYVO.java similarity index 80% rename from pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/RStatBusbarHarmonicVO.java rename to pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/RStatBusbarHarmonicYVO.java index 8795cac7f..6179df3df 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/RStatBusbarHarmonicVO.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/RStatBusbarHarmonicYVO.java @@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; +import java.util.Date; /** * 变电站母线电压指标年报返回前端实体类 @@ -15,8 +16,8 @@ import java.io.Serializable; */ @Data -@ApiModel(value = "变电站母线电压指标年报返回前端实体类") -public class RStatBusbarHarmonicVO implements Serializable { +@ApiModel("变电站母线电压指标年报返回前端实体类") +public class RStatBusbarHarmonicYVO implements Serializable { private static final long serialVersionUID = 835979721790264805L; /** @@ -28,8 +29,8 @@ public class RStatBusbarHarmonicVO implements Serializable { /** * 所属单位 */ - @ApiModelProperty(name = "company", value = "单位") - private String company; + @ApiModelProperty(name = "deptName", value = "单位") + private String deptName; /** * 变电站id @@ -59,128 +60,108 @@ public class RStatBusbarHarmonicVO implements Serializable { * 母线id */ @ApiModelProperty(name = "busbarId", value = "母线id") - @TableField(value = "busbar_id") private String busbarId; - /** * 生成数据的时间,每年统计一次 */ @ApiModelProperty(name = "dataDate", value = "生成数据的时间,每年统计一次") - @TableField(value = "data_date") - private String dataDate; + private Date dataDate; /** * 电压有效最大值 */ @ApiModelProperty(name = "vEffectiveMax", value = "电压有效最大值") - @TableField(value = "v_effective_max") private Double vEffectiveMax; /** * 电压有效最小值 */ @ApiModelProperty(name = "vEffectiveMin", value = "电压有效最小值") - @TableField(value = "v_effective_min") private Double vEffectiveMin; /** * 电压有效平均值 */ @ApiModelProperty(name = "vEffectiveAvg", value = "电压有效平均值") - @TableField(value = "v_effective_avg") private Double vEffectiveAvg; /** * 电压有效值95概率大值 */ @ApiModelProperty(name = "vEffective95", value = "电压有效值95概率大值") - @TableField(value = "v_effective_95") private Double vEffective95; /** * 电压总谐波畸变率最大值 */ @ApiModelProperty(name = "vThdMax", value = "电压总谐波畸变率最大值") - @TableField(value = "v_thd_max") private Double vThdMax; /** * 电压总谐波畸变率最小值 */ @ApiModelProperty(name = "vThdMin", value = "电压总谐波畸变率最小值") - @TableField(value = "v_thd_min") private Double vThdMin; /** * 电压总谐波畸变率平均值 */ @ApiModelProperty(name = "vThdAvg", value = "电压总谐波畸变率平均值") - @TableField(value = "v_thd_avg") private Double vThdAvg; /** * 电压总谐波畸变率95概率大值 */ @ApiModelProperty(name = "vThd95", value = "电压总谐波畸变率95概率大值") - @TableField(value = "v_thd_95") private Double vThd95; /** * 三相电压不平衡最大值 */ @ApiModelProperty(name = "unbalanceMax", value = "三相电压不平衡最大值") - @TableField(value = "unbalance_max") private Double unbalanceMax; /** * 三相电压不平衡最小值 */ @ApiModelProperty(name = "unbalanceMin", value = "三相电压不平衡最小值") - @TableField(value = "unbalance_min") private Double unbalanceMin; /** * 三相电压不平衡平均值 */ @ApiModelProperty(name = "unbalanceAvg", value = "三相电压不平衡平均值") - @TableField(value = "unbalance_avg") private Double unbalanceAvg; /** * 三相电压不平衡95概率大值 */ @ApiModelProperty(name = "unbalance95", value = "三相电压不平衡95概率大值") - @TableField(value = "unbalance_95") private Double unbalance95; /** * 闪变最大值 */ @ApiModelProperty(name = "flickerMax", value = "闪变最大值") - @TableField(value = "flicker_max") private Double flickerMax; /** * 闪变最小值 */ @ApiModelProperty(name = "flickerMin", value = "闪变最小值") - @TableField(value = "flicker_min") private Double flickerMin; /** * 闪变平均值 */ @ApiModelProperty(name = "flickerAvg", value = "闪变平均值") - @TableField(value = "flicker_avg") private Double flickerAvg; /** * 闪变95概率大值 */ @ApiModelProperty(name = "flicker95", value = "闪变95概率大值") - @TableField(value = "flicker_95") private Double flicker95; - } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/PmsGeneratrixController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/PmsGeneratrixController.java index 8377db7ff..1c7da4d50 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/PmsGeneratrixController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/PmsGeneratrixController.java @@ -7,6 +7,7 @@ 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.dto.GeneratrixAndPowerStationDTO; import com.njcn.device.pms.pojo.dto.PmsGeneratrixDTO; import com.njcn.device.pms.pojo.param.GeneratrixParam; import com.njcn.device.pms.pojo.param.PmsGeneratrixParam; @@ -43,16 +44,38 @@ public class PmsGeneratrixController extends BaseController { /** * 获取指定母线信息 * - * @param pmsGeneratrixParam 获取指定的监测点信息条件 + * @param param 获取指定的监测点信息条件 * @return 指定母线信息 */ @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/getGeneratrixInfo") @ApiOperation("获取指定母线信息") - @ApiImplicitParam(name = "pmsGeneratrixParam", value = "获取指定母线信息条件", required = true) - public HttpResult> getGeneratrixInfo(@RequestBody @Validated PmsGeneratrixParam pmsGeneratrixParam) { + @ApiImplicitParam(name = "param", value = "获取指定母线信息条件", required = true) + public HttpResult> getGeneratrixInfo(@RequestBody @Validated PmsGeneratrixParam param) { String methodDescribe = getMethodDescribe("getGeneratrixInfo"); - List monitorInfo = pmsGeneratrixService.getGeneratrixInfo(pmsGeneratrixParam); + List monitorInfo = pmsGeneratrixService.getGeneratrixInfo(param); + if (CollectionUtil.isEmpty(monitorInfo)) { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.NO_DATA, null, methodDescribe); + } else { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, monitorInfo, methodDescribe); + } + } + + /** + * 获取母线与电站关联信息 + * + * @param param 条件参数 + * @return com.njcn.common.pojo.response.HttpResult> + * @author yzh + * @date 2022/11/3 + */ + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getGeneratrixAndPowerStationInfo") + @ApiOperation("获取母线与电站关联信息") + @ApiImplicitParam(name = "param", value = "条件参数", required = true) + public HttpResult> getGeneratrixAndPowerStationInfo(@RequestBody @Validated PmsGeneratrixParam param) { + String methodDescribe = getMethodDescribe("getGeneratrixAndPowerStationInfo"); + List monitorInfo = pmsGeneratrixService.getGeneratrixAndPowerStationInfo(param); if (CollectionUtil.isEmpty(monitorInfo)) { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.NO_DATA, null, methodDescribe); } else { diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/RStatBusbarHarmonicController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/RStatBusbarHarmonicController.java index d911619f5..3de8f923a 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/RStatBusbarHarmonicController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/RStatBusbarHarmonicController.java @@ -7,7 +7,7 @@ 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.UniversalFrontEndParam; -import com.njcn.device.pms.pojo.vo.RStatBusbarHarmonicVO; +import com.njcn.device.pms.pojo.vo.RStatBusbarHarmonicYVO; import com.njcn.device.pms.service.RStatBusbarHarmonicService; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; @@ -45,10 +45,10 @@ public class RStatBusbarHarmonicController extends BaseController { @PostMapping("/getRStatBusbarHarmonic") @OperateInfo(info = LogEnum.SYSTEM_COMMON) @ApiOperation("获取变电站母线电压指标年报") - @ApiImplicitParam(name = "param", value = "获取变电站母线电压指标年报前端参数", required = true) - public HttpResult> getRStatBusbarHarmonic(@RequestBody UniversalFrontEndParam param) { + @ApiImplicitParam(name = "param", value = "条件参数", required = true) + public HttpResult> getRStatBusbarHarmonic(@RequestBody UniversalFrontEndParam param) { String methodDescribe = getMethodDescribe("getRStatBusbarHarmonic"); - List list = statBusbarHarmonicService.getRStatBusbarHarmonic(param); + List list = statBusbarHarmonicService.getRStatBusbarHarmonic(param); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/TerminalController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/TerminalController.java index 8de59dc64..f2f61429d 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/TerminalController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/TerminalController.java @@ -98,7 +98,7 @@ public class TerminalController extends BaseController { @PostMapping("/updateTerminal") @OperateInfo(info = LogEnum.SYSTEM_COMMON,operateType = OperateType.UPDATE) @ApiOperation("修改监测终端台账信息") - @ApiImplicitParam(name = "UpdateParam", value = "更新实体", required = true) + @ApiImplicitParam(name = "updateParam", value = "更新实体", required = true) public HttpResult update(@RequestBody @Validated PmsTerminalParam updateParam){ String methodDescribe = getMethodDescribe("update"); boolean result = iTerminalService.update(updateParam); diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/PmsGeneratrixMapper.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/PmsGeneratrixMapper.java index e921103e6..790e3cc0a 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/PmsGeneratrixMapper.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/PmsGeneratrixMapper.java @@ -1,6 +1,7 @@ package com.njcn.device.pms.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.device.pms.pojo.dto.GeneratrixAndPowerStationDTO; import com.njcn.device.pms.pojo.dto.PmsGeneratrixDTO; import com.njcn.device.pms.pojo.param.PmsGeneratrixParam; import com.njcn.device.pms.pojo.po.Generatrix; @@ -23,4 +24,14 @@ public interface PmsGeneratrixMapper extends BaseMapper { * @return 母线信息 */ List getGeneratrixInfo(@Param("pmsGeneratrixParam") PmsGeneratrixParam pmsGeneratrixParam); + + /** + * 获取母线与电站关联信息 + * + * @param param 条件参数 + * @return java.util.List + * @author yzh + * @date 2022/11/3 + */ + List getGeneratrixAndPowerStationInfo(@Param("param") PmsGeneratrixParam param); } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/RStatBusbarHarmonicMapper.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/RStatBusbarHarmonicMapper.java index c2f646cdb..4accaf9a3 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/RStatBusbarHarmonicMapper.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/RStatBusbarHarmonicMapper.java @@ -1,8 +1,8 @@ package com.njcn.device.pms.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.njcn.device.pms.pojo.po.PmsMonitorPO; -import com.njcn.device.pms.pojo.vo.RStatBusbarHarmonicVO; +import com.njcn.device.pms.pojo.po.RStatBusbarHarmonicYPO; +import com.njcn.device.pms.pojo.vo.RStatBusbarHarmonicYVO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -16,27 +16,18 @@ import java.util.List; */ @Mapper -public interface RStatBusbarHarmonicMapper extends BaseMapper { - - /** - * 根据部门id查询监测点id - * - * @param deptIds 部门id - * @return 监测点id - */ - List getMonitorInfo(@Param("deptIds") List deptIds); - +public interface RStatBusbarHarmonicMapper extends BaseMapper { /** * 查询变电站背景谐波年表 * - * @param startTime 开始时间 - * @param endTime 结束时间 + * @param startTime 开始时间 + * @param endTime 结束时间 * @param generatrixIds 母线id * @return 获取变电站母线电压指标年报 */ - List getAnnualReportOfSubstationBusVoltageIndex(@Param("startTime") String startTime, - @Param("endTime") String endTime, - @Param("busbarIds") List generatrixIds); + List getRStatBusbarHarmonic(@Param("startTime") String startTime, + @Param("endTime") String endTime, + @Param("generatrixIds") List generatrixIds); } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/mapping/PmsGeneratrixMapper.xml b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/mapping/PmsGeneratrixMapper.xml index e80d9cd51..bbb469967 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/mapping/PmsGeneratrixMapper.xml +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/mapping/PmsGeneratrixMapper.xml @@ -5,31 +5,82 @@ + + + diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/mapping/RStatBusbarHarmonicMapper.xml b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/mapping/RStatBusbarHarmonicMapper.xml index 766837400..df00f0865 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/mapping/RStatBusbarHarmonicMapper.xml +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/mapping/RStatBusbarHarmonicMapper.xml @@ -2,44 +2,35 @@ - - - - - - SELECT - * + busbar_id AS busbarId, + data_date AS dataDate, + v_effective_max AS vEffectiveMax, + v_effective_min AS vEffectiveMin, + v_effective_avg AS vEffectiveAvg, + v_effective_95 AS vEffective95, + v_thd_max AS vThdMax, + v_thd_min AS vThdMin, + v_thd_avg AS vThdAvg, + v_thd_95 AS vThd95, + unbalance_max AS unbalanceMax, + unbalance_min AS unbalanceMin, + unbalance_avg AS unbalanceAvg, + unbalance_95 AS unbalance95, + flicker_max AS flickerMax, + flicker_min AS flickerMin, + flicker_avg AS flickerAvg, + flicker_95 AS flicker95 FROM r_stat_busbar_harmonic_y WHERE - - busbar_id IN - - #{item} - - + busbar_id IN + + #{item} + AND DATE_FORMAT( data_date,'%Y-%m-%d') >= DATE_FORMAT(#{startTime},'%Y-%m-%d') @@ -47,4 +38,4 @@ AND DATE_FORMAT( data_date,'%Y-%m-%d') <= DATE_FORMAT(#{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/service/IPmsGeneratrixService.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/IPmsGeneratrixService.java index 026de5495..594bdda15 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/IPmsGeneratrixService.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/IPmsGeneratrixService.java @@ -1,6 +1,7 @@ package com.njcn.device.pms.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.device.pms.pojo.dto.GeneratrixAndPowerStationDTO; import com.njcn.device.pms.pojo.dto.PmsGeneratrixDTO; import com.njcn.device.pms.pojo.param.GeneratrixParam; import com.njcn.device.pms.pojo.param.PmsGeneratrixParam; @@ -19,54 +20,68 @@ public interface IPmsGeneratrixService extends IService { /** * 获取母线信息 * - * @param pmsGeneratrixParam 入参 + * @param param 入参 * @return 母线信息 */ - List getGeneratrixInfo(PmsGeneratrixParam pmsGeneratrixParam); - + List getGeneratrixInfo(PmsGeneratrixParam param); /** * 新增母线 - * @author cdf - * @date 2022/10/25 + * * @param generatrixParam 母线 * @return boolean + * @author cdf + * @date 2022/10/25 */ boolean addGeneratrix(GeneratrixParam generatrixParam); /** * 修改母线 - * @author cdf - * @date 2022/10/25 + * * @param generatrixParam 母线 * @return boolean + * @author cdf + * @date 2022/10/25 */ boolean updateGeneratrix(GeneratrixParam.UpdateGeneratrixParam generatrixParam); /** * 删除母线 - * @author cdf - * @date 2022/10/25 + * * @param generatrixIds 母线 * @return boolean + * @author cdf + * @date 2022/10/25 */ boolean delGeneratrix(List generatrixIds); /** * 查询母线 - * @author cdf - * @date 2022/10/25 + * * @param generatrixId 母线id * @return boolean + * @author cdf + * @date 2022/10/25 */ Generatrix getGeneratrixById(String generatrixId); /** * 查询母线列表 - * @author cdf - * @date 2022/10/25 + * * @param baseParam 基础参数 * @return boolean + * @author cdf + * @date 2022/10/25 */ List getGeneratrixList(BaseParam baseParam); + + /** + * 获取母线与电站关联信息 + * + * @param param 条件参数 + * @return java.util.List + * @author yzh + * @date 2022/11/3 + */ + List getGeneratrixAndPowerStationInfo(PmsGeneratrixParam param); } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/RStatBusbarHarmonicService.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/RStatBusbarHarmonicService.java index edf8bdfef..e1e433fcf 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/RStatBusbarHarmonicService.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/RStatBusbarHarmonicService.java @@ -3,7 +3,7 @@ package com.njcn.device.pms.service; import com.baomidou.mybatisplus.extension.service.IService; import com.njcn.device.pms.pojo.param.UniversalFrontEndParam; -import com.njcn.device.pms.pojo.vo.RStatBusbarHarmonicVO; +import com.njcn.device.pms.pojo.vo.RStatBusbarHarmonicYVO; import java.util.List; @@ -14,7 +14,7 @@ import java.util.List; * @date 2022/10/8 */ -public interface RStatBusbarHarmonicService extends IService { +public interface RStatBusbarHarmonicService extends IService { /** * 获取变电站母线电压指标年报 @@ -22,6 +22,6 @@ public interface RStatBusbarHarmonicService extends IService getRStatBusbarHarmonic(UniversalFrontEndParam param); + List getRStatBusbarHarmonic(UniversalFrontEndParam param); } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/impl/PmsGeneratrixServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/impl/PmsGeneratrixServiceImpl.java index 5a3b06a9e..09d981f85 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/impl/PmsGeneratrixServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/impl/PmsGeneratrixServiceImpl.java @@ -1,7 +1,9 @@ package com.njcn.device.pms.service.impl; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.device.pms.mapper.PmsGeneratrixMapper; +import com.njcn.device.pms.pojo.dto.GeneratrixAndPowerStationDTO; import com.njcn.device.pms.pojo.dto.PmsGeneratrixDTO; import com.njcn.device.pms.pojo.param.GeneratrixParam; import com.njcn.device.pms.pojo.param.PmsGeneratrixParam; @@ -27,31 +29,31 @@ public class PmsGeneratrixServiceImpl extends ServiceImpl getGeneratrixInfo(PmsGeneratrixParam pmsGeneratrixParam) { - return pmsGeneratrixMapper.getGeneratrixInfo(pmsGeneratrixParam); + public List getGeneratrixInfo(PmsGeneratrixParam param) { + if (CollUtil.isEmpty(param.getGeneratrixIds())) { + return null; + } + return pmsGeneratrixMapper.getGeneratrixInfo(param); } - - @Override public boolean addGeneratrix(GeneratrixParam generatrixParam) { Generatrix generatrix = new Generatrix(); - BeanUtils.copyProperties(generatrixParam,generatrix); + BeanUtils.copyProperties(generatrixParam, generatrix); return this.save(generatrix); } @Override public boolean updateGeneratrix(GeneratrixParam.UpdateGeneratrixParam generatrixParam) { Generatrix generatrix = new Generatrix(); - BeanUtils.copyProperties(generatrixParam,generatrix); + BeanUtils.copyProperties(generatrixParam, generatrix); return this.save(generatrix); } @@ -69,4 +71,17 @@ public class PmsGeneratrixServiceImpl extends ServiceImpl getGeneratrixList(BaseParam baseParam) { return this.list(); } + + /** + * 获取母线与电站关联信息 + * + * @param param 条件参数 + * @return java.util.List + * @author yzh + * @date 2022/11/3 + */ + @Override + public List getGeneratrixAndPowerStationInfo(PmsGeneratrixParam param) { + return pmsGeneratrixMapper.getGeneratrixAndPowerStationInfo(param); + } } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/impl/RStatBusbarHarmonicServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/impl/RStatBusbarHarmonicServiceImpl.java index 13434c10b..85369b56a 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/impl/RStatBusbarHarmonicServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/impl/RStatBusbarHarmonicServiceImpl.java @@ -1,24 +1,28 @@ package com.njcn.device.pms.service.impl; -import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.common.pojo.dto.SimpleDTO; +import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient; +import com.njcn.device.pms.api.PmsGeneratrixClient; import com.njcn.device.pms.mapper.RStatBusbarHarmonicMapper; +import com.njcn.device.pms.pojo.dto.GeneratrixAndPowerStationDTO; +import com.njcn.device.pms.pojo.dto.PmsGeneralDeviceDTO; +import com.njcn.device.pms.pojo.dto.PmsGeneratrixDTO; +import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam; +import com.njcn.device.pms.pojo.param.PmsGeneratrixParam; import com.njcn.device.pms.pojo.param.UniversalFrontEndParam; -import com.njcn.device.pms.pojo.po.PmsMonitorPO; -import com.njcn.device.pms.pojo.vo.RStatBusbarHarmonicVO; +import com.njcn.device.pms.pojo.po.RStatBusbarHarmonicYPO; +import com.njcn.device.pms.pojo.vo.RStatBusbarHarmonicYVO; import com.njcn.device.pms.service.RStatBusbarHarmonicService; -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.dto.DeptDTO; -import com.njcn.web.utils.WebUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; 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; /** @@ -31,14 +35,13 @@ import java.util.stream.Collectors; @Service @RequiredArgsConstructor @Slf4j -public class RStatBusbarHarmonicServiceImpl extends ServiceImpl implements RStatBusbarHarmonicService { +public class RStatBusbarHarmonicServiceImpl extends ServiceImpl implements RStatBusbarHarmonicService { private final RStatBusbarHarmonicMapper rStatBusbarHarmonicMapper; - private final DicDataFeignClient dicDataFeignClient; - - private final DeptFeignClient deptFeignClient; + private final PmsGeneratrixClient pmsGeneratrixClient; + private final PmsGeneralDeviceInfoClient pmsGeneralDeviceInfoClient; /** * 获取变电站母线电压指标年报 @@ -47,76 +50,69 @@ public class RStatBusbarHarmonicServiceImpl extends ServiceImpl getRStatBusbarHarmonic(UniversalFrontEndParam param) { - - // 获取登录用户的部门id -// String deptIndex = RequestUtil.getDeptIndex(); - + public List getRStatBusbarHarmonic(UniversalFrontEndParam param) { // 获取当前用户的部门的子部门信息 - List data = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + PmsDeviceInfoParam pmsDeviceInfoParam = new PmsDeviceInfoParam(); + pmsDeviceInfoParam.setDeptIndex(param.getId()); + pmsDeviceInfoParam.setStatisticalType(new SimpleDTO()); + List data = pmsGeneralDeviceInfoClient.getPmsDeviceInfoWithInOrg(pmsDeviceInfoParam).getData(); + if (CollUtil.isEmpty(data)) { + return Collections.emptyList(); + } - if (CollectionUtil.isNotEmpty(data)) { - // 创建集合用于封装数据 - List info = new ArrayList<>(); - - // 过滤出部门id - List deptIds = data.stream().map(DeptDTO::getId).collect(Collectors.toList()); - // 根据部门id 获取监测点信息 - List monitorInfo = rStatBusbarHarmonicMapper.getMonitorInfo(deptIds); - // 取出母线id - List generatrixIds = monitorInfo.stream().map(PmsMonitorPO::getGeneratrixId).collect(Collectors.toList()); - - // 获取电压字典 - List devVoltageData = dicDataFeignClient.getDicDataByTypeCode( - DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData(); + // 创建集合封装返回数据 + List result = new ArrayList<>(); + for (PmsGeneralDeviceDTO dto : data) { + if (CollUtil.isEmpty(dto.getGeneratrixIdList())) { + continue; + } // 通过母线id查询变电站背景谐波年表 - info = rStatBusbarHarmonicMapper.getAnnualReportOfSubstationBusVoltageIndex(param.getStartTime(), param.getEndTime(), generatrixIds); + List info = rStatBusbarHarmonicMapper.getRStatBusbarHarmonic(param.getStartTime(), param.getEndTime(), dto.getGeneratrixIdList()); - // 属性赋值 - for (RStatBusbarHarmonicVO vo : info) { - for (PmsMonitorPO pmsMonitor : monitorInfo) { - if (vo.getBusbarId().equals(pmsMonitor.getGeneratrixId())){ - vo.setDeptId(pmsMonitor.getOrgId()); - } + for (RStatBusbarHarmonicYPO po : info) { + RStatBusbarHarmonicYVO vo = new RStatBusbarHarmonicYVO(); + vo.setDeptId(dto.getIndex()); + vo.setDeptName(dto.getName()); + vo.setBusbarId(po.getBusbarId()); + vo.setDataDate(po.getDataDate()); + vo.setVEffectiveMax(po.getVEffectiveMax()); + vo.setVEffectiveMin(po.getVEffectiveMin()); + vo.setVEffectiveAvg(po.getVEffectiveAvg()); + vo.setVEffective95(po.getVEffective95()); + vo.setVThdMax(po.getVThdMax()); + vo.setVThdMin(po.getVThdMin()); + vo.setVThdAvg(po.getVThdAvg()); + vo.setVThd95(po.getVThd95()); + vo.setUnbalanceMax(po.getUnbalanceMax()); + vo.setUnbalanceMin(po.getUnbalanceMin()); + vo.setUnbalanceAvg(po.getUnbalanceAvg()); + vo.setUnbalance95(po.getUnbalance95()); + vo.setFlickerMax(po.getFlickerMax()); + vo.setFlickerMin(po.getFlickerMin()); + vo.setFlickerAvg(po.getFlickerAvg()); + vo.setFlicker95(po.getFlicker95()); + result.add(vo); + } + } + // 取出母线id + List busbarIds = result.stream().map(RStatBusbarHarmonicYVO::getBusbarId).collect(Collectors.toList()); + PmsGeneratrixParam pmsGeneratrixParam = new PmsGeneratrixParam(); + pmsGeneratrixParam.setGeneratrixIds(busbarIds); + List dtoS = pmsGeneratrixClient.getGeneratrixAndPowerStationInfo(pmsGeneratrixParam).getData(); + + for (GeneratrixAndPowerStationDTO dto : dtoS) { + for (RStatBusbarHarmonicYVO vo : result) { + if (dto.getGeneratrixId().equals(vo.getBusbarId())){ + vo.setBusbarName(dto.getGeneratrixName()); + vo.setSubId(dto.getPowerId()); + vo.setSubName(dto.getPowerName()); + vo.setSubVoltageLevel(dto.getPowerVoltageLevel()); } } - - return info; - } else { - return new ArrayList<>(); } + + return result; } - /** - * 属性赋值 - * - * @param data 当前用户的部门的子部门信息 - * @param annualReportOfSubstationBusVoltageIndex 母线id查询变电站背景谐波年表 - * @param subAndVoltageInfos 母线和变电站信息 - * @return 返回前端集合 - */ - private void attributeCopy(List data, List annualReportOfSubstationBusVoltageIndex, List subAndVoltageInfos) { - // 属性赋值 - for (RStatBusbarHarmonicVO vo : annualReportOfSubstationBusVoltageIndex) { - for (RStatBusbarHarmonicVO subAndVoltageInfo : subAndVoltageInfos) { - if (subAndVoltageInfo.getBusbarId().equals(vo.getBusbarId())) { - vo.setDeptId(subAndVoltageInfo.getDeptId()); - vo.setSubName(subAndVoltageInfo.getSubName()); - vo.setSubVoltageLevel(subAndVoltageInfo.getSubVoltageLevel()); - vo.setBusbarName(subAndVoltageInfo.getBusbarName()); - } - } - } - - // 属性赋值 - for (RStatBusbarHarmonicVO vo : annualReportOfSubstationBusVoltageIndex) { - for (DeptDTO datum : data) { - if (datum.getId().equals(vo.getDeptId())) { - vo.setCompany(datum.getName()); - } - } - } - } - -} +} \ No newline at end of file diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/constant/Param.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/constant/Param.java new file mode 100644 index 000000000..0a04a175d --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/constant/Param.java @@ -0,0 +1,24 @@ +package com.njcn.device.pq.constant; + + +/** + * @author qijian + */ +public interface Param { + + /** + * 算法处理 + */ + String TARGET_FREQ = "freq"; + String TARGET_RMS = "rms"; + String TARGET_RMS_LVR = "rms_lvr"; + String TARGET_V_THD = "v_thd"; + String TARGET_V_UNBALANCE = "v_unbalance"; + + Integer YEAR = 1; + Integer QUARTER = 2; + Integer MONTH = 3; + Integer WEEK = 4; + Integer DAY = 5; + +} diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/DeviceResponseEnum.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/DeviceResponseEnum.java index b61c7490b..c4979f4ce 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/DeviceResponseEnum.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/DeviceResponseEnum.java @@ -62,7 +62,13 @@ public enum DeviceResponseEnum { DEPT_LINE_EMPTY("A2072","当前用户部门未有监测点绑定"), DIC_GET_EMPTY("A2073","字典获取为空"), - + ALGORITHM_LINE_EMPTY("A00558","算法监测点数据为空"), + ALGORITHM_FREP_RULE("A00559","该监测点频率数据异常"), + ALGORITHM_RMS_RULE("A00560","该监测点相变压数据异常"), + ALGORITHM_RMS_LVR_RULE("A00561","该监测点线变压数据异常"), + ALGORITHM_V_THD_RULE("A00562","该监测点电压总谐波畸变率数据异常"), + ALGORITHM_V_UNBALANCE_RULE("A00563","该监测点负序电压不平衡度数据异常"), + ALGORITHM_DATA_ERROR("A00564","未获取到data数据"), INVALID_LEVEL("A2074","非法拓扑等级"), LINE_EMPTY("A2075","监测点为空"), diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/AlgorithmSearchParam.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/AlgorithmSearchParam.java new file mode 100644 index 000000000..33791abd8 --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/AlgorithmSearchParam.java @@ -0,0 +1,31 @@ +package com.njcn.device.pq.pojo.param; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +/** + * 算法通用查询参数 + * + * @author qijian + * @date 2022/10/26 + */ +@Data +public class AlgorithmSearchParam { + + @ApiModelProperty(name = "id",value = "监测点ID") + @NotBlank(message = "监测点不能为空") + private String id; + + @ApiModelProperty(name = "type",value = "时间类型") + @NotNull(message = "时间类型不能为空") + private Integer type; + + @ApiModelProperty(name = "datadate",value = "查询时间") + @NotBlank(message = "时间不能为空") + private String datadate; + + +} diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/DataV.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/DataV.java new file mode 100644 index 000000000..5c3847ee2 --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/DataV.java @@ -0,0 +1,56 @@ +package com.njcn.device.pq.pojo.po; + +import lombok.Data; +import org.influxdb.annotation.Column; +import org.influxdb.annotation.Measurement; + +import java.time.Instant; + +/** + * DataV influxDB别名映射表 + * + * @author qijian + * @version 1.0.0 + * @createTime 2022/10/27 15:27 + */ +@Data +@Measurement(name = "data_v") +public class DataV { + + @Column(name = "time") + private Instant time; + + @Column(name = "line_id") + private String lineId; + + @Column(name = "freq_max") + private Double frepMAX; + + @Column(name = "freq_min") + private Double frepMIN; + + @Column(name = "rms_max") + private Double rmsMAX; + + @Column(name = "rms_min") + private Double rmsMIN; + + @Column(name = "rms_lvr_max") + private Double rmsLvrMAX; + + @Column(name = "rms_lvr_min") + private Double rmsLvrMIN; + + @Column(name = "v_thd_max") + private Double vThdMAX; + + @Column(name = "v_thd_min") + private Double vThdMIN; + + @Column(name = "v_unbalance_max") + private Double vUnbalanceMAX; + + @Column(name = "v_unbalance_min") + private Double vUnbalanceMIN; + +} diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/PmsAbnormalRules.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/PmsAbnormalRules.java new file mode 100644 index 000000000..ec991173c --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/PmsAbnormalRules.java @@ -0,0 +1,44 @@ +package com.njcn.device.pq.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +/** + * (PmsAbnormalRules)实体类 + * + * @author qijian + * @since 2022-10-27 14:49:22 + */ +@Data +@TableName(value = "pms_abnormal_rules") +public class PmsAbnormalRules implements Serializable { + private static final long serialVersionUID = -68797682413850371L; + /** + * 主键 + */ + private String id; + /** + * 规则类型(字典 0 数据异常 1......) + */ + private Integer type; + /** + * 指标名称 + */ + private String targetName; + /** + * 对应字段 + */ + private String target; + /** + * 下限 + */ + private Double lowerLimit; + /** + * 上限 + */ + private Double upperLimit; + +} + diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/RMpIntegrityD.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/RMpIntegrityD.java new file mode 100644 index 000000000..120847808 --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/RMpIntegrityD.java @@ -0,0 +1,61 @@ +package com.njcn.device.pq.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * (RMpIntegrityD)实体类 + * + * @author qijian + * @since 2022-10-26 14:10:32 + */ +@Data +@TableName(value = "r_mp_integrity_d") +public class RMpIntegrityD implements Serializable { + private static final long serialVersionUID = 320784653665837465L; + /** + * 监测点id + */ + private String measurementPointId; + /** + * 生成数据的时间,每天统计一次 + */ + private Date dataDate; + /** + * 有效接入分钟数量 + */ + private Integer effectiveMinuteCount; + /** + * 频率平均值指标数据个数 + */ + private Integer freqCount; + /** + * 相电压有效值平均值指标数据个数 + */ + private Integer phaseVoltageCount; + /** + * 线电压有效值平均值指标数据个数 + */ + private Integer lineVoltageCount; + /** + * 电压总谐波畸变率平均值指标数据个数 + */ + private Integer vThdCount; + /** + * 三相电压不平衡度平均值指标数据个数 + */ + private Integer unbalanceCount; + /** + * 监测点短时闪变、电压波动类指标数据个数 + */ + private Integer pstCount; + /** + * 监测点长时闪变指标数据个数 + */ + private Integer pltCount; + +} + diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/RStatAbnormalD.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/RStatAbnormalD.java new file mode 100644 index 000000000..4bcf98d27 --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/RStatAbnormalD.java @@ -0,0 +1,33 @@ +package com.njcn.device.pq.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * (RStatAbnormalD)实体类 + * + * @author qijian + * @since 2022-10-27 14:49:43 + */ +@Data +@TableName(value = "r_stat_abnormal_d") +public class RStatAbnormalD implements Serializable { + private static final long serialVersionUID = 130540916944391303L; + /** + * 时间 + */ + private Date dataDate; + /** + * 监测点ID + */ + private String measurementPointId; + /** + * 数据是否异常(0异常,1正常) + */ + private Integer valueAlarm; + +} + diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/DeptDeviceDetailVO.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/DeptDeviceDetailVO.java new file mode 100644 index 000000000..7b8745d36 --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/DeptDeviceDetailVO.java @@ -0,0 +1,43 @@ +package com.njcn.device.pq.pojo.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * Description:部门设备统计 + * 接口文档访问地址:http://serverIP:port/swagger-ui.html + * Date: 2022/10/14 10:45【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@ApiModel(value = "DeptDeviceDetailVO" ,description = "部门设备统计") +public class DeptDeviceDetailVO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("设备总数") + private Integer deviceCount; + + + @ApiModelProperty("运行设备设备总数") + private Integer runDeviceCount; + + + @ApiModelProperty("设备在线率") + private BigDecimal onLineRate; + + + +} diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/DeptSubstationDetailVO.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/DeptSubstationDetailVO.java new file mode 100644 index 000000000..1f4de6c7d --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/DeptSubstationDetailVO.java @@ -0,0 +1,41 @@ +package com.njcn.device.pq.pojo.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * Description:部门设备统计 + * 接口文档访问地址:http://serverIP:port/swagger-ui.html + * Date: 2022/10/14 10:45【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@ApiModel(value = "DeptSubstationDetailVO" ,description = "部门变电站统计") +public class DeptSubstationDetailVO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("变电站总数") + private Integer substationCount; + + + @ApiModelProperty("运行变电站总数") + private Integer runsubstationCount; + + + @ApiModelProperty("变电站在线率") + private BigDecimal onLineRate; + + + +} diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/TerminalTree.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/TerminalTree.java index e8340bfca..d77f4bf0a 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/TerminalTree.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/TerminalTree.java @@ -21,6 +21,9 @@ import java.util.List; @NoArgsConstructor @AllArgsConstructor public class TerminalTree implements Serializable { + @ApiModelProperty(name = "index",value = "序号") + private Integer index; + private String id; @ApiModelProperty(name = "parentId",value = "父id") private String pid; diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/DataExceptionController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/DataExceptionController.java new file mode 100644 index 000000000..70a8de3f1 --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/DataExceptionController.java @@ -0,0 +1,51 @@ +package com.njcn.device.pq.controller; + +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.pq.pojo.param.AlgorithmSearchParam; +import com.njcn.device.pq.service.DataExceptionService; +import com.njcn.web.controller.BaseController; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author qijian + * @date 2022/10/26 + * 数据是否异常 + */ +@Validated +@Slf4j +@RestController +@RequestMapping("/dataException") +@Api(tags = "数据是否异常") +@AllArgsConstructor +public class DataExceptionController extends BaseController { + + private final DataExceptionService dataExceptionService; + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/lineDataException") + @ApiOperation("监测点数据是否异常") + @ApiImplicitParam(name = "algorithmSearchParam", value = "算法通用查询参数", required = true) + public HttpResult lineDataException(@RequestBody @Validated AlgorithmSearchParam algorithmSearchParam) { + String methodDescribe = getMethodDescribe("lineDataException"); + boolean res = dataExceptionService.lineDataException(algorithmSearchParam); + if(res){ + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + }else { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe); + } + + } +} diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/DataIntegrityRateController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/DataIntegrityRateController.java new file mode 100644 index 000000000..761207904 --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/DataIntegrityRateController.java @@ -0,0 +1,51 @@ +package com.njcn.device.pq.controller; + +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.pq.pojo.param.AlgorithmSearchParam; +import com.njcn.device.pq.service.DataIntegrityRateService; +import com.njcn.web.controller.BaseController; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author qijian + * @date 2022/10/26 + * 数据完整率算法 + */ +@Validated +@Slf4j +@RestController +@RequestMapping("/dataIntegrityRate") +@Api(tags = "数据完整率算法") +@AllArgsConstructor +public class DataIntegrityRateController extends BaseController { + + private final DataIntegrityRateService dataIntegrityRateService; + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/lineDataIntegrityRate") + @ApiOperation("监测点日数据完整率") + @ApiImplicitParam(name = "algorithmSearchParam", value = "算法通用查询参数", required = true) + public HttpResult lineDataIntegrityRate(@RequestBody @Validated AlgorithmSearchParam algorithmSearchParam) { + String methodDescribe = getMethodDescribe("lineDataIntegrityRate"); + boolean res = dataIntegrityRateService.lineDataIntegrityRate(algorithmSearchParam); + if(res){ + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + }else { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe); + } + + } +} diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/GeneralDeviceInfoController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/GeneralDeviceInfoController.java index cfa6e1d8b..189e8debb 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/GeneralDeviceInfoController.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/GeneralDeviceInfoController.java @@ -9,6 +9,8 @@ import com.njcn.common.utils.HttpResultUtil; import com.njcn.device.pq.pojo.bo.BaseLineInfo; import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO; import com.njcn.device.pq.pojo.param.DeviceInfoParam; +import com.njcn.device.pq.pojo.vo.DeptDeviceDetailVO; +import com.njcn.device.pq.pojo.vo.DeptSubstationDetailVO; import com.njcn.device.pq.pojo.vo.ExceptionDeviceInfoVO; import com.njcn.device.pq.service.TerminalBaseService; import com.njcn.device.pq.service.impl.GeneralDeviceService; @@ -124,7 +126,6 @@ public class GeneralDeviceInfoController extends BaseController { @ApiImplicitParams({ @ApiImplicitParam(name = "deviceInfoParam", value = "查询终端条件", required = true) }) - @Deprecated public HttpResult> getPracticalRunDeviceInfoAsSubstation(@RequestBody @Validated DeviceInfoParam deviceInfoParam) { String methodDescribe = getMethodDescribe("getPracticalRunDeviceInfoAsSubstation"); List substationDeviceInfos = generalDeviceService.getDeviceInfoAsSubstation(deviceInfoParam, Stream.of(0).collect(Collectors.toList()), Stream.of(1).collect(Collectors.toList())); @@ -229,4 +230,40 @@ public class GeneralDeviceInfoController extends BaseController { } } + /** + * 按部门获取终端设备总数,在线数,在线率 + */ + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getDeptDeviceDetail") + @ApiOperation("按部门获取终端设备总数,在线数,在线率") + @ApiImplicitParams({ + @ApiImplicitParam(name = "deviceInfoParam", value = "查询终端条件", required = true) + }) + @Deprecated + public HttpResult getDeptDeviceDetail(@RequestBody @Validated DeviceInfoParam deviceInfoParam) { + String methodDescribe = getMethodDescribe("getDeptDeviceDetail"); + DeptDeviceDetailVO deptDeviceDetail = generalDeviceService.getDeptDeviceDetail(deviceInfoParam); + + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, deptDeviceDetail, methodDescribe); + + } + + /** + * 按部门获变电站数,变电站在线数,在线率 + */ + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getDeptSubstationDetail") + @ApiOperation("按部门获变电站数,变电站在线数,在线率") + @ApiImplicitParams({ + @ApiImplicitParam(name = "deviceInfoParam", value = "查询终端条件", required = true) + }) + @Deprecated + public HttpResult getDeptSubstationDetail(@RequestBody @Validated DeviceInfoParam deviceInfoParam) { + String methodDescribe = getMethodDescribe("getDeptSubstationDetail"); + DeptSubstationDetailVO deptSubstationDetail = generalDeviceService.getDeptSubstationDetail(deviceInfoParam); + + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, deptSubstationDetail, methodDescribe); + + } + } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/LineMapper.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/LineMapper.java index 22a39cb76..f7dac63e0 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/LineMapper.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/LineMapper.java @@ -57,6 +57,7 @@ public interface LineMapper extends BaseMapper { /** * 查询装置下的母线信息 + * * @param devId 设备id * @date 2022/7/1 */ @@ -117,7 +118,7 @@ public interface LineMapper extends BaseMapper { List getDeviceById(@Param("devIds") List devIds, @Param("deviceType") DeviceType deviceType); - List getDeviceByIdOnOrOff(@Param("devIds") List devIds, @Param("deviceType") DeviceType deviceType,@Param("comFlag")Integer comFlag); + List getDeviceByIdOnOrOff(@Param("devIds") List devIds, @Param("deviceType") DeviceType deviceType, @Param("comFlag") Integer comFlag); List getLineDetail(@Param("ids") List ids); @@ -176,116 +177,133 @@ public interface LineMapper extends BaseMapper { /** * 获取所有在线投运的监测点限值 + * * @author cdf * @date 2022/3/23 */ - List getAllLineOverLimit(@Param("list")List list); + List getAllLineOverLimit(@Param("list") List list); /** * 根据监测点集合查询基础信息 + * * @param lineIndex 监测点结合 * @return 基础信息 */ - List getBaseLineInfo(@Param("list")List lineIndex); + List getBaseLineInfo(@Param("list") List lineIndex); /** * 获取监测点区域详细信息(原基础上添加监测点区域经纬度信息) + * * @param lineIndex 监测点结合 * @date 2022/6/29 */ - List getBaseLineAreaInfo(@Param("list")List lineIndex,@Param("searchValue")String searchValue,@Param("comFlag")Integer comFlag); + List getBaseLineAreaInfo(@Param("list") List lineIndex, @Param("searchValue") String searchValue, @Param("comFlag") Integer comFlag); /** * 返回监测点信息及通讯状态 + * * @param lineIndex 监测点集合 * @return 结果 */ - List getLineDeviceStateVO(@Param("list")List lineIndex); + List getLineDeviceStateVO(@Param("list") List lineIndex); /** * 获取变电站信息 - * @param id 变电站id + * + * @param id 变电站id * @return 结果 */ - PollutionSubstationDTO getSubstationInfo(@Param("id")String id); + PollutionSubstationDTO getSubstationInfo(@Param("id") String id); /** * 获取监测点信息 - * @param list 监测点集合 + * + * @param list 监测点集合 * @return 结果 */ List getLineInfo(@Param("list") List list); /** * 获取监测点信息 - * @param id 监测点id + * + * @param id 监测点id * @return 结果 */ - LineDetailVO getLineSubGdDetail(@Param("id")String id); + LineDetailVO getLineSubGdDetail(@Param("id") String id); /** * 获取告警变电站信息 - * @param list 变电站集合 + * + * @param list 变电站集合 * @return 结果 */ List getWarningSub(@Param("list") List list); /** * 获取监测点信息 - * @param list 变电站集合 + * + * @param list 变电站集合 * @return 结果 */ List getOverLimitLineInfo(@Param("list") List list); + /** * 获取监测点状态信息 - * @param list 变电站集合 + * + * @param list 变电站集合 * @return 结果 */ LineStateVO getLineStatisticsDetail(@Param("list") List list); /** * 获取监测点信息 - * @param list 变电站集合 + * + * @param list 变电站集合 * @return 结果 */ List getLineInfoByTableList(@Param("list") List list); /** * 获取监测点信息 - * @param list 变电站集合 + * + * @param list 变电站集合 * @return 结果 */ List getFlowLineInfoByTableList(@Param("list") List list); /** * 获取监测点信息 - * @param list 变电站集合 + * + * @param list 变电站集合 * @return 结果 */ List getLineStatisticsTableData(@Param("list") List list); /** * 监测点运行统计 - * @param list 监测点集合 + * + * @param list 监测点集合 * @param startTime 起始时间 - * @param endTime 结束时间 + * @param endTime 结束时间 * @return 结果 */ - List getLineRunStatistics(@Param("list") List list, @Param("startTime") DateTime startTime, @Param("endTime")DateTime endTime); + List getLineRunStatistics(@Param("list") List list, @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime); /** * 监测点运行统计 - * @param list 监测点集合 + * + * @param list 监测点集合 * @param startTime 起始时间 - * @param endTime 结束时间 + * @param endTime 结束时间 * @return 结果 */ - List getFlowLineRunStatistics(@Param("list") List list, @Param("startTime") DateTime startTime, @Param("endTime")DateTime endTime); + List getFlowLineRunStatistics(@Param("list") List list, @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime); /** * 获取生成limitRate表的监测点集合 + * * @return 监测点id集合 */ List getLineList(); @@ -293,6 +311,7 @@ public interface LineMapper extends BaseMapper { /** * 导出终端台账信息 + * * @author cdf * @date 2022/5/17 */ @@ -300,45 +319,51 @@ public interface LineMapper extends BaseMapper { /** * 根据监测点id获取终端id + * * @param lineId 监测点id * @return 结果 */ - String getDevIndex(@Param("lineId")String lineId); + String getDevIndex(@Param("lineId") String lineId); /** * 获取变电站下母线 + * * @param subId 变电站id + * @return 结果 * @author cdf * @date 2022/7/4 - * @return 结果 */ - List getVoltageListBySubId(@Param("subId")String subId,@Param("voltageName")List voltageName); + List getVoltageListBySubId(@Param("subId") String subId, @Param("voltageName") List voltageName); /** * 获取生成在线率的装置Id + * * @return 装置Id */ List getDeviceList(); /** * 获取当前状态在线的监测点数量 + * * @return Integer 在线监测点数量 */ - Integer getOnLineCount(@Param("lineIds")List lineIds); + Integer getOnLineCount(@Param("lineIds") List lineIds); /** * 获取当前状态在线和离线的监测点 + * * @return 在线或离线监测点ids */ - List getOnOrUnLine(@Param("list")List lineIds,@Param("comFlag")Integer comFlag); - /** - * @Description: 获取变电站id和监测点id用 - * @Param: [devDataType] - * @return: java.util.List - * @Author: clam - * @Date: 2022/10/20 - */ - @Select ("SELECT\n" + + List getOnOrUnLine(@Param("list") List lineIds, @Param("comFlag") Integer comFlag); + + /** + * @Description: 获取变电站id和监测点id用 + * @Param: [devDataType] + * @return: java.util.List + * @Author: clam + * @Date: 2022/10/20 + */ + @Select("SELECT\n" + "\tpq_line.Id,\n" + "\tSUBSTRING_INDEX(\n" + "\t\tSUBSTRING_INDEX(pq_line.Pids, ',', 4),\n" + @@ -357,5 +382,30 @@ public interface LineMapper extends BaseMapper { "\tpq_device.Dev_Data_Type = 2\n" + "\tOR pq_device.Dev_Data_Type = #{devDataType}\n" + ") ") - List getLineBySubstationRelation(@Param("devDataType")Integer devDataType); + List getLineBySubstationRelation(@Param("devDataType") Integer devDataType); + + + @Select({"" + }) + Integer queryOnlineSubstaion(@Param("items") List deviceIds); } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/PmsAbnormalRulesMapper.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/PmsAbnormalRulesMapper.java new file mode 100644 index 000000000..6cc142fe4 --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/PmsAbnormalRulesMapper.java @@ -0,0 +1,14 @@ +package com.njcn.device.pq.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.device.pq.pojo.po.PmsAbnormalRules; + +/** + * PmsAbnormalRulesMapper + * + * @author qijian + * @date 2022/10/26 + */ +public interface PmsAbnormalRulesMapper extends BaseMapper { + +} diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/RMpIntegrityDMapper.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/RMpIntegrityDMapper.java new file mode 100644 index 000000000..d8bf6e1aa --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/RMpIntegrityDMapper.java @@ -0,0 +1,14 @@ +package com.njcn.device.pq.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.device.pq.pojo.po.RMpIntegrityD; + +/** + * RMpIntegrityDMapper + * + * @author qijian + * @date 2022/10/26 + */ +public interface RMpIntegrityDMapper extends BaseMapper { + +} diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/RStatAbnormalDMapper.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/RStatAbnormalDMapper.java new file mode 100644 index 000000000..9e19478f7 --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/RStatAbnormalDMapper.java @@ -0,0 +1,14 @@ +package com.njcn.device.pq.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.device.pq.pojo.po.RStatAbnormalD; + +/** + * RStatAbnormalDMapper + * + * @author qijian + * @date 2022/10/26 + */ +public interface RStatAbnormalDMapper extends BaseMapper { + +} diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/DataExceptionService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/DataExceptionService.java new file mode 100644 index 000000000..68efa2b96 --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/DataExceptionService.java @@ -0,0 +1,20 @@ +package com.njcn.device.pq.service; + +import com.njcn.device.pq.pojo.param.AlgorithmSearchParam; + +/** + * 数据是否异常 + * + * @author qijian + * @version 1.0.0 + * @createTime 2022/10/26 - 10:09 + */ +public interface DataExceptionService { + + /** + * 监测点数据是否异常 + * @author qijian + * @date 2022/10/26 + */ + boolean lineDataException(AlgorithmSearchParam algorithmSearchParam); +} diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/DataIntegrityRateService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/DataIntegrityRateService.java new file mode 100644 index 000000000..847192d0f --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/DataIntegrityRateService.java @@ -0,0 +1,20 @@ +package com.njcn.device.pq.service; + +import com.njcn.device.pq.pojo.param.AlgorithmSearchParam; + +/** + * 数据完整率算法 + * + * @author qijian + * @version 1.0.0 + * @createTime 2022/10/26 - 10:09 + */ +public interface DataIntegrityRateService { + + /** + * 监测点日数据完整率 + * @author qijian + * @date 2022/10/26 + */ + boolean lineDataIntegrityRate(AlgorithmSearchParam algorithmSearchParam); +} diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DataExceptionServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DataExceptionServiceImpl.java new file mode 100644 index 000000000..50dc513f9 --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DataExceptionServiceImpl.java @@ -0,0 +1,201 @@ +package com.njcn.device.pq.service.impl; + +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.device.pq.api.LineFeignClient; +import com.njcn.device.pq.pojo.vo.LineDetailDataVO; +import com.njcn.device.pq.service.DataExceptionService; +import com.njcn.influxdb.config.InfluxDbConfig; +import com.njcn.influxdb.param.InfluxDBPublicParam; +import com.njcn.influxdb.param.InfluxDBSqlConstant; +import com.njcn.influxdb.param.InfluxDBTableConstant; +import com.njcn.influxdb.utils.InfluxDbUtils; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.influxdb.dto.QueryResult; +import org.influxdb.impl.InfluxDBResultMapper; +import org.springframework.stereotype.Service; + +import com.njcn.device.pq.constant.Param; +import com.njcn.device.pq.enums.DeviceResponseEnum; +import com.njcn.device.pq.mapper.PmsAbnormalRulesMapper; +import com.njcn.device.pq.mapper.RStatAbnormalDMapper; +import com.njcn.device.pq.pojo.param.AlgorithmSearchParam; +import com.njcn.device.pq.pojo.po.DataV; +import com.njcn.device.pq.pojo.po.PmsAbnormalRules; +import com.njcn.device.pq.pojo.po.RStatAbnormalD; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Objects; + +/** + * 数据是否异常 + * + * @author qijian + * @version 1.0.0 + * @createTime 2022/10/26 - 10:09 + */ +@Service +@RequiredArgsConstructor +@Slf4j +public class DataExceptionServiceImpl implements DataExceptionService { + + private final InfluxDbUtils influxDbUtils; + + private final LineFeignClient lineFeignClient; + + private final PmsAbnormalRulesMapper pmsAbnormalRulesMapper; + + private final RStatAbnormalDMapper rStatAbnormalDMapper; + + @Resource + private InfluxDbConfig influxDbConfig; + + /** + * 监测点数据是否异常 + * @author qijian + * @date 2022/10/26 + */ + @Override + public boolean lineDataException(AlgorithmSearchParam algorithmSearchParam) { + //测试 +// InfluxDbUtils influxDBUtil = new InfluxDbUtils("admin", "njcnpqs", "http://192.168.1.18:8086", "pqsbase", ""); + //初始化 + InfluxDBResultMapper resultMapper = new InfluxDBResultMapper(); + String searchSql; + String sql; + QueryResult query; + DataV dataV; + Date date = DateUtil.parse(algorithmSearchParam.getDatadate()); + String lineId = algorithmSearchParam.getId(); + Integer type = algorithmSearchParam.getType(); + + //入库数据初始化 + RStatAbnormalD rStatAbnormalD = new RStatAbnormalD(); + rStatAbnormalD.setDataDate(date); + rStatAbnormalD.setMeasurementPointId(lineId); + rStatAbnormalD.setValueAlarm(0); + + //1、取出规则 + List pmsAbnormalRules = pmsAbnormalRulesMapper.selectList(null); + + //2、取出电压 + List lineIds = new ArrayList<>(); + lineIds.add(lineId); + List lineDetailList = lineFeignClient.getLineDetailList(lineIds).getData(); + if (lineDetailList.size() == 0){ + throw new BusinessException(DeviceResponseEnum.ALGORITHM_LINE_EMPTY); + } + String scale = lineDetailList.get(0).getScale().replace("kV",""); + + //3、根据规则表进行判断 + //取前四项进行比较(相别为A) + searchSql = "MAX(freq) as freq_max,MIN(freq) as freq_min,MAX(rms) as rms_max,MIN(rms) as rms_min,MAX(rms_lvr) as rms_lvr_max,MIN(rms_lvr) as rms_lvr_min,MAX(v_thd) as v_thd_max,MIN(v_thd) as v_thd_min "; + sql = getAppend(lineId, date, type, searchSql, "A"); + query = influxDbUtils.query(sql); + dataV = resultMapper.toPOJO(query, DataV.class).get(0); + + //开始判断业务 + DeviceResponseEnum harmonicResponseEnum = null; + for (PmsAbnormalRules pmsAbnormalRule : pmsAbnormalRules) { + //每项数据进行上下限比较(MAX和MIN),若有一项不在数据范围内,则为异常 + switch (pmsAbnormalRule.getTarget()) { + case Param.TARGET_FREQ: + //频率:正常比较 + if (dataV.getFrepMIN() < pmsAbnormalRule.getLowerLimit() || dataV.getFrepMAX() > pmsAbnormalRule.getUpperLimit()){ + harmonicResponseEnum = DeviceResponseEnum.ALGORITHM_FREP_RULE; + } + break; + case Param.TARGET_RMS: + //相电压有效值特殊处理:在【0.85p.u.,1.2p.u.】之间;p.u=电压等级/1.732 + pmsAbnormalRule.setLowerLimit((pmsAbnormalRule.getLowerLimit() * (Double.parseDouble(scale) / 1.732))); + pmsAbnormalRule.setUpperLimit((pmsAbnormalRule.getUpperLimit() * (Double.parseDouble(scale) / 1.732))); + if (dataV.getRmsMIN() < pmsAbnormalRule.getLowerLimit() || dataV.getRmsMAX() > pmsAbnormalRule.getUpperLimit()){ + harmonicResponseEnum = DeviceResponseEnum.ALGORITHM_RMS_RULE; + } + break; + case Param.TARGET_RMS_LVR: + //线电压有效值特殊处理:在【0.85p.u.,1.2p.u.】之间;p.u=电压等级 + pmsAbnormalRule.setLowerLimit((pmsAbnormalRule.getLowerLimit() * Double.parseDouble(scale))); + pmsAbnormalRule.setUpperLimit((pmsAbnormalRule.getUpperLimit() * Double.parseDouble(scale))); + if (dataV.getRmsLvrMIN() < pmsAbnormalRule.getLowerLimit() || dataV.getRmsLvrMAX() > pmsAbnormalRule.getUpperLimit()){ + harmonicResponseEnum = DeviceResponseEnum.ALGORITHM_RMS_LVR_RULE; + } + break; + case Param.TARGET_V_THD: + //电压总谐波畸变率:正常比较 + if (dataV.getVThdMIN() < pmsAbnormalRule.getLowerLimit() || dataV.getVThdMAX() > pmsAbnormalRule.getUpperLimit()){ + harmonicResponseEnum = DeviceResponseEnum.ALGORITHM_V_THD_RULE; + } + break; + case Param.TARGET_V_UNBALANCE: + //三相不平衡度:正常比较(相别为T) + searchSql = "MAX(v_unbalance) as v_unbalance_max,MIN(v_unbalance) as v_unbalance_min "; + sql = getAppend(lineId, date,type, searchSql, "T"); + query = influxDbUtils.query(sql); + dataV = resultMapper.toPOJO(query, DataV.class).get(0); + if (dataV.getVUnbalanceMIN() < pmsAbnormalRule.getLowerLimit() || dataV.getVUnbalanceMAX() > pmsAbnormalRule.getUpperLimit()){ + harmonicResponseEnum = DeviceResponseEnum.ALGORITHM_V_UNBALANCE_RULE; + } + break; + default: + break; + } + + if (harmonicResponseEnum != null){ + //入库 + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(RStatAbnormalD::getMeasurementPointId, lineId).eq(RStatAbnormalD::getDataDate, date); + RStatAbnormalD rStatAbnormalDOne = rStatAbnormalDMapper.selectOne(lambdaQueryWrapper); + if (Objects.isNull(rStatAbnormalDOne)){ + rStatAbnormalDMapper.insert(rStatAbnormalD); + } + throw new BusinessException(harmonicResponseEnum); + } + + } + return true; + } + + /** + * 拼装sql + * @param id,date,searchSql,tableName 参数 + * @return 结果 + */ + private String getAppend(String id, Date date, Integer type, String searchSql,String phase) { + StringBuilder stringBuilder = new StringBuilder(); + + //日期处理 + DateTime startTime = null; + DateTime endTime = null; + if (Param.YEAR.equals(type)){ + startTime = DateUtil.beginOfYear(date); + endTime = DateUtil.endOfYear(date); + }else if(Param.MONTH.equals(type)){ + startTime = DateUtil.beginOfMonth(date); + endTime = DateUtil.endOfMonth(date); + }else if(Param.DAY.equals(type)){ + startTime = DateUtil.beginOfDay(date); + endTime = DateUtil.endOfDay(date); + } + + //拼接 + stringBuilder.append(InfluxDBSqlConstant.SELECT).append(searchSql) + .append(InfluxDBSqlConstant.FROM).append(InfluxDBPublicParam.DATA_V) + .append(InfluxDBSqlConstant.WHERE).append(InfluxDBPublicParam.TIME).append(InfluxDBSqlConstant.GE).append(InfluxDBSqlConstant.QM).append(startTime).append(InfluxDBSqlConstant.QM) + .append(InfluxDBSqlConstant.AND).append(InfluxDBPublicParam.TIME).append(InfluxDBSqlConstant.LE).append(InfluxDBSqlConstant.QM).append(endTime).append(InfluxDBSqlConstant.QM) + .append(InfluxDBSqlConstant.AND).append(InfluxDBPublicParam.LINE_ID).append(InfluxDBSqlConstant.EQ).append(InfluxDBSqlConstant.QM).append(id).append(InfluxDBSqlConstant.QM) + .append(InfluxDBSqlConstant.AND).append(InfluxDBPublicParam.VALUE_TYPE).append(InfluxDBSqlConstant.EQ).append(InfluxDBSqlConstant.QM).append(InfluxDBTableConstant.AVG).append(InfluxDBSqlConstant.QM); + if (InfluxDBTableConstant.PHASE_TYPE_T.equals(phase)){ + stringBuilder.append(InfluxDBSqlConstant.AND).append(InfluxDBPublicParam.PHASIC_TYPE).append(InfluxDBSqlConstant.EQ).append(InfluxDBSqlConstant.QM).append(InfluxDBTableConstant.PHASE_TYPE_T).append(InfluxDBSqlConstant.QM); + }else{ + stringBuilder.append(InfluxDBSqlConstant.AND).append(InfluxDBPublicParam.PHASIC_TYPE).append(InfluxDBSqlConstant.EQ).append(InfluxDBSqlConstant.QM).append(InfluxDBTableConstant.PHASE_TYPE_A).append(InfluxDBSqlConstant.QM); + } + return stringBuilder.toString(); + } +} diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DataIntegrityRateServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DataIntegrityRateServiceImpl.java new file mode 100644 index 000000000..36dbd8ab9 --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DataIntegrityRateServiceImpl.java @@ -0,0 +1,193 @@ +package com.njcn.device.pq.service.impl; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.device.pq.api.LineFeignClient; +import com.njcn.device.pq.mapper.RMpIntegrityDMapper; +import com.njcn.device.pq.pojo.vo.LineDetailDataVO; +import com.njcn.influxdb.config.InfluxDbConfig; +import com.njcn.influxdb.param.InfluxDBPublicParam; +import com.njcn.influxdb.param.InfluxDBSqlConstant; +import com.njcn.influxdb.param.InfluxDBTableConstant; +import com.njcn.influxdb.utils.InfluxDbUtils; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.influxdb.dto.QueryResult; +import org.springframework.stereotype.Service; + +import com.njcn.device.pq.enums.DeviceResponseEnum; +import com.njcn.device.pq.pojo.param.AlgorithmSearchParam; +import com.njcn.device.pq.pojo.po.RMpIntegrityD; +import com.njcn.device.pq.service.DataIntegrityRateService; + +import javax.annotation.Resource; +import java.text.DecimalFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Objects; + +/** + * 数据完整率算法 + * + * @author qijian + * @version 1.0.0 + * @createTime 2022/10/26 - 10:09 + */ +@Service +@RequiredArgsConstructor +@Slf4j +public class DataIntegrityRateServiceImpl implements DataIntegrityRateService { + + private final InfluxDbUtils influxDbUtils; + + private final RMpIntegrityDMapper rMpIntegrityDMapper; + + private final LineFeignClient lineFeignClient; + + @Resource + private InfluxDbConfig influxDbConfig; + + /** + * 监测点日数据完整率 + * @author qijian + * @date 2022/10/26 + */ + @Override + public boolean lineDataIntegrityRate(AlgorithmSearchParam algorithmSearchParam) { + //测试 +// InfluxDbUtils influxDBUtil = new InfluxDbUtils("admin", "njcnpqs", "http://192.168.1.18:8086", "pqsbase", ""); + //初始化 + String searchSql; + String tableName; + String sql; + QueryResult query; + QueryResult.Series series; + List columns; + List> values; + RMpIntegrityD rMpIntegrityD = new RMpIntegrityD(); + Date date = DateUtil.parse(algorithmSearchParam.getDatadate()); + + //1、有效接入分钟数量:根据监测点编号获取统计间隔,1440 / 统计间隔 = 有效接入分钟数量 + List lineIds = new ArrayList<>(); + lineIds.add(algorithmSearchParam.getId()); + List lineDetailList = lineFeignClient.getLineDetailList(lineIds).getData(); + if (lineDetailList.size() == 0){ + throw new BusinessException(DeviceResponseEnum.ALGORITHM_LINE_EMPTY); + } + Integer effectiveMinuteCount = 1440 / lineDetailList.get(0).getTimeInterval(); + rMpIntegrityD.setEffectiveMinuteCount(effectiveMinuteCount); + + //2、根据data_v表获取五项稳态指标日数量(count) + searchSql = "count(freq) as freqCount,count(rms) as phaseVoltageCount,count(rms_lvr) as lineVoltageCount,count(v_thd) as vThdCount,count(v_unbalance) as unbalanceCount "; + tableName = InfluxDBPublicParam.DATA_V; + sql = getAppend(algorithmSearchParam.getId(), date, searchSql, tableName); + query = influxDbUtils.query(sql); + series = getSeries(query); + + if (Objects.nonNull(series.getColumns())){ + columns = series.getColumns(); + values = series.getValues(); + for (List columnValue : values) { + for (int i = 0; i < columnValue.size(); i++) { + if (columns.get(i).equals("freqCount")) { + rMpIntegrityD.setFreqCount(Integer.parseInt(convertDoubleToString(columnValue.get(i)))); + }else if (columns.get(i).equals("phaseVoltageCount")) { + rMpIntegrityD.setPhaseVoltageCount(Integer.parseInt(convertDoubleToString(columnValue.get(i)))); + }else if (columns.get(i).equals("lineVoltageCount")) { + rMpIntegrityD.setLineVoltageCount(Integer.parseInt(convertDoubleToString(columnValue.get(i)))); + }else if (columns.get(i).equals("vThdCount")) { + rMpIntegrityD.setVThdCount(Integer.parseInt(convertDoubleToString(columnValue.get(i)))); + }else if (columns.get(i).equals("unbalanceCount")) { + rMpIntegrityD.setUnbalanceCount(Integer.parseInt(convertDoubleToString(columnValue.get(i)))); + } + } + } + } + + //3、根据day_flicker表获取两项闪变指标数量(count) + searchSql = "count(pst) as pstCount,count(plt) as pltCount "; + tableName = InfluxDBPublicParam.DATA_FLICKER; + sql = getAppend(algorithmSearchParam.getId(), date, searchSql, tableName); + query = influxDbUtils.query(sql); + series = getSeries(query); + + if (Objects.nonNull(series.getColumns())){ + columns = series.getColumns(); + values = series.getValues(); + for (List columnValue : values) { + for (int i = 0; i < columnValue.size(); i++) { + if (columns.get(i).equals("pstCount")) { + rMpIntegrityD.setPstCount(Integer.parseInt(convertDoubleToString(columnValue.get(i)))); + }else if (columns.get(i).equals("pltCount")) { + rMpIntegrityD.setPltCount(Integer.parseInt(convertDoubleToString(columnValue.get(i)))); + } + } + } + } + + //4、存库 + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(RMpIntegrityD::getMeasurementPointId, algorithmSearchParam.getId()).eq(RMpIntegrityD::getDataDate, date); + RMpIntegrityD rMpIntegrityDOne = rMpIntegrityDMapper.selectOne(lambdaQueryWrapper); + if (Objects.nonNull(rMpIntegrityDOne)){ + rMpIntegrityDMapper.update(rMpIntegrityD,lambdaQueryWrapper); + }else{ + rMpIntegrityD.setMeasurementPointId(algorithmSearchParam.getId()); + rMpIntegrityD.setDataDate(date); + rMpIntegrityDMapper.insert(rMpIntegrityD); + } + + return true; + } + + /** + * Double转String + * @param val 参数 + * @return 结果 + */ + private String convertDoubleToString(Object val) { + DecimalFormat decimalFormat = new DecimalFormat("###################.###########"); + return decimalFormat.format(val); + } + + /** + * 取series + * @param query 参数 + * @return 结果 + */ + private QueryResult.Series getSeries(QueryResult query) { + QueryResult.Series series = new QueryResult.Series(); + List results = query.getResults(); + if (results.size() != 0) { + QueryResult.Result result = results.get(0); + if (result.getSeries() != null){ + List seriess = result.getSeries(); + if (seriess.size() != 0) { + series = seriess.get(0); + } + } + } + return series; + } + + /** + * 拼装sql + * @param id,date,searchSql,tableName 参数 + * @return 结果 + */ + private String getAppend(String id, Date date, String searchSql,String tableName) { + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.append(InfluxDBSqlConstant.SELECT).append(searchSql) + .append(InfluxDBSqlConstant.FROM).append(tableName) + .append(InfluxDBSqlConstant.WHERE).append(InfluxDBPublicParam.TIME).append(InfluxDBSqlConstant.GE).append(InfluxDBSqlConstant.QM).append(DateUtil.beginOfDay(date)).append(InfluxDBSqlConstant.QM) + .append(InfluxDBSqlConstant.AND).append(InfluxDBPublicParam.TIME).append(InfluxDBSqlConstant.LE).append(InfluxDBSqlConstant.QM).append(DateUtil.endOfDay(date)).append(InfluxDBSqlConstant.QM) + .append(InfluxDBSqlConstant.AND).append(InfluxDBPublicParam.LINE_ID).append(InfluxDBSqlConstant.EQ).append(InfluxDBSqlConstant.QM).append(id).append(InfluxDBSqlConstant.QM) + .append(InfluxDBSqlConstant.AND).append(InfluxDBPublicParam.PHASIC_TYPE).append(InfluxDBSqlConstant.EQ).append(InfluxDBSqlConstant.QM).append(InfluxDBTableConstant.PHASE_TYPE_A).append(InfluxDBSqlConstant.QM); + if (InfluxDBPublicParam.DATA_V.equals(tableName)){ + stringBuilder.append(InfluxDBSqlConstant.AND).append(InfluxDBPublicParam.VALUE_TYPE).append(InfluxDBSqlConstant.EQ).append(InfluxDBSqlConstant.QM).append(InfluxDBTableConstant.AVG).append(InfluxDBSqlConstant.QM); + } + return stringBuilder.toString(); + } +} diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/GeneralDeviceService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/GeneralDeviceService.java index e57888032..e6b79b806 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/GeneralDeviceService.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/GeneralDeviceService.java @@ -16,6 +16,9 @@ import com.njcn.device.pq.pojo.param.DeviceInfoParam; import com.njcn.device.pq.pojo.po.DeptLine; import com.njcn.device.pq.pojo.po.Device; import com.njcn.device.pq.pojo.po.Line; +import com.njcn.device.pq.pojo.po.Substation; +import com.njcn.device.pq.pojo.vo.DeptDeviceDetailVO; +import com.njcn.device.pq.pojo.vo.DeptSubstationDetailVO; import com.njcn.device.pq.pojo.vo.ExceptionDeviceInfoVO; import com.njcn.device.pq.service.DeptLineService; import com.njcn.device.pq.service.TerminalBaseService; @@ -32,6 +35,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; +import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -61,7 +65,7 @@ public class GeneralDeviceService { private final RedisUtil redisUtil; private final DeviceMapper deviceMapper; - + private final LineMapper lineMapper; @@ -627,4 +631,52 @@ public class GeneralDeviceService { return exceptionDeviceInfoVOS; } + /** + * @Description: getDeptDeviceDetail + * @Param: [deviceInfoParam] + * @return: com.njcn.device.pq.pojo.vo.DeptDeviceDetailVO + * @Author: clam + * @Date: 2022/11/4 + */ + public DeptDeviceDetailVO getDeptDeviceDetail(DeviceInfoParam deviceInfoParam) { + + + DeptDeviceDetailVO deptDeviceDetailVO =new DeptDeviceDetailVO(); + /*总数*/ + List deptDeviceInfos = this.getDeviceInfoAsDept(deviceInfoParam, null, Stream.of(1).collect(Collectors.toList())); + List DeviceIds = deptDeviceInfos.stream ( ).map (GeneralDeviceDTO::getDeviceIndexes).flatMap (Collection::stream).collect (Collectors.toList ( )); + Integer deviceCount = DeviceIds.size (); + + /*实际运行*/ + QueryWrapper query = new QueryWrapper<> (); + query.in ("Id",DeviceIds). + eq ("Com_Flag",1); + Integer runDeviceCount = deviceMapper.selectCount (query); + BigDecimal rate = BigDecimal.valueOf (runDeviceCount).divide ( BigDecimal.valueOf (deviceCount),2,BigDecimal.ROUND_HALF_UP); + deptDeviceDetailVO.setDeviceCount (deviceCount); + deptDeviceDetailVO.setRunDeviceCount (runDeviceCount); + deptDeviceDetailVO.setOnLineRate (rate); + return deptDeviceDetailVO; + + } + + public DeptSubstationDetailVO getDeptSubstationDetail(DeviceInfoParam deviceInfoParam) { + + DeptSubstationDetailVO deptSubstationDetailVO = new DeptSubstationDetailVO (); + + List deptDeviceInfos = this.getDeviceInfoAsDept(deviceInfoParam, null, Stream.of(1).collect(Collectors.toList())); + + List DeviceIds = deptDeviceInfos.stream ( ).map (GeneralDeviceDTO::getSubIndexes).flatMap (Collection::stream).collect (Collectors.toList ( )); + Integer substationCount = DeviceIds.size (); + + Integer count =lineMapper.queryOnlineSubstaion(DeviceIds); + deptSubstationDetailVO.setSubstationCount (substationCount); + deptSubstationDetailVO.setRunsubstationCount (count); + BigDecimal rate = BigDecimal.valueOf (count).divide ( BigDecimal.valueOf (substationCount),2,BigDecimal.ROUND_HALF_UP); + deptSubstationDetailVO.setOnLineRate (rate); + + return deptSubstationDetailVO; + + + } } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalTreeServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalTreeServiceImpl.java index 3496c643e..4d1368f33 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalTreeServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalTreeServiceImpl.java @@ -119,8 +119,13 @@ public class TerminalTreeServiceImpl implements TerminalTreeService { List subList = treeMapper.getSubList(generalDeviceDTO.getSubIndexes()); // 通过监测点索引查询监测点信息 List lineList = treeMapper.getLineList(generalDeviceDTO.getLineIndexes()); + //处理变电站 dealChildrenData(subList, lineList, true); + + //监测点前面加序号,后面不需要删除下面两行就行 + //Integer[] arr = {1}; + //subList.forEach(item->item.getChildren().forEach(it->it.setName((arr[0]++ +"_"+it.getName())))); //处理供电公司 dealChildrenData(gdList, subList, false); diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/EventMonitorReportParam.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/EventMonitorReportParam.java new file mode 100644 index 000000000..29eb4350b --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/EventMonitorReportParam.java @@ -0,0 +1,22 @@ +package com.njcn.event.pojo.param; + +import com.njcn.common.pojo.param.StatisticsBizBaseParam; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * @Title EventMonitorReportParam + * @Package com.njcn.event.pojo.param + * @Author jianghaifei + * @Date 2022-10-25 09:48 + * @Version V1.0 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class EventMonitorReportParam extends StatisticsBizBaseParam { + + @ApiModelProperty(name = "monitorName", value = "监测点名称") + private String monitorName; //监测点名称 + +} diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/PwUniversalFrontEndParam.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/PwUniversalFrontEndParam.java new file mode 100644 index 000000000..17cb3a229 --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/PwUniversalFrontEndParam.java @@ -0,0 +1,26 @@ +package com.njcn.event.pojo.param; + +import com.njcn.common.pojo.param.StatisticsBizBaseParam; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.List; + +/** + * @author yzh + * @date 2022/10/28 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class PwUniversalFrontEndParam extends StatisticsBizBaseParam implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 监测点类别 + */ + @ApiModelProperty(name = "monitorSort", value = "监测点类别") + private List monitorSort; +} diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/REventMParam.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/REventMParam.java new file mode 100644 index 000000000..7c3291f9f --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/REventMParam.java @@ -0,0 +1,28 @@ +package com.njcn.event.pojo.param; + +import com.njcn.common.pojo.param.StatisticsBizBaseParam; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * <功能描述> + * + * @author 1754607820@qq.com + * @createTime: 2022-10-11 + */ +@Data +public class REventMParam extends StatisticsBizBaseParam { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "干扰源名称",required = true) + @NotBlank(message = "干扰源类型名称不为空") + private String monitorID; + + @ApiModelProperty(value = "指标类型名称",required = true) + @NotBlank(message = "指标类型名称不为空") + private String stasisID; + +} diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/StatSubstationBizBaseParam.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/StatSubstationBizBaseParam.java new file mode 100644 index 000000000..562192d97 --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/StatSubstationBizBaseParam.java @@ -0,0 +1,20 @@ +package com.njcn.event.pojo.param; + +import com.njcn.common.pojo.param.StatisticsBizBaseParam; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * <功能描述> + * + * @author 1754607820@qq.com + * @createTime: 2022-10-18 + */ +@Data +public class StatSubstationBizBaseParam extends StatisticsBizBaseParam { + + @ApiModelProperty(value = "变电站id",required = true) + List ids; +} diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/UniversalFrontEndParam.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/UniversalFrontEndParam.java index c50f88778..bbdeade6a 100644 --- a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/UniversalFrontEndParam.java +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/UniversalFrontEndParam.java @@ -9,7 +9,7 @@ import java.io.Serializable; import java.util.List; /** - * 拓展前端参数 + * 拓展条件参数 * * @author yzh * @date 2022/10/8 @@ -21,29 +21,17 @@ public class UniversalFrontEndParam extends StatisticsBizBaseParam implements Se private static final long serialVersionUID = 1L; - /** - * 电压等级 - */ - @ApiModelProperty(name = "voltageLevel", value = "电压等级", required = true) - private List voltageLevel; - - /** - * 监测点名称 - */ - @ApiModelProperty(name = "measurementPointId", value = "监测点名称") - private String measurementPointId; - /** * 暂态指标类型 */ - @ApiModelProperty(name = "typeOfTransientIndicators", value = "暂态指标类型") - private String typeOfTransientIndicators; + @ApiModelProperty(name = "eventType", value = "暂态指标类型") + private List eventType; /** * 监测点类别 */ - @ApiModelProperty(name = "measurementPointCategory", value = "监测点类别") - private String measurementPointCategory; + @ApiModelProperty(name = "monitorSort", value = "监测点类别") + private List monitorSort; /** * 变电站名称 @@ -51,5 +39,17 @@ public class UniversalFrontEndParam extends StatisticsBizBaseParam implements Se @ApiModelProperty(name = "subName", value = "变电站名称") private String subName; + /** + * 电压等级 + */ + @ApiModelProperty(name = "voltageLevel", value = "电压等级") + private List voltageLevel; + + /** + * 监测点名称" + */ + @ApiModelProperty(name = "monitorName",value = "监测点名称") + private String monitorName; + } diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/EventDistributionStatisticsPO.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/EventDistributionStatisticsPO.java new file mode 100644 index 000000000..115c22761 --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/EventDistributionStatisticsPO.java @@ -0,0 +1,59 @@ +package com.njcn.event.pojo.po; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 暂态指标分布统计实体类 + * + * @author yzh + * @date 2022/10/20 + */ + +@Data +public class EventDistributionStatisticsPO implements Serializable { + + private static final long serialVersionUID = 1L; + + private int featureAmplitude10with20s; + private int featureAmplitude10with100s; + private int featureAmplitude10with500s; + private int featureAmplitude10with1000s; + private int featureAmplitude10with3000s; + private int featureAmplitude10with20000s; + private int featureAmplitude10with60000s; + private int featureAmplitude10with180000s; + private int featureAmplitude40with20s; + private int featureAmplitude40with100s; + private int featureAmplitude40with500s; + private int featureAmplitude40with1000s; + private int featureAmplitude40with3000s; + private int featureAmplitude40with20000s; + private int featureAmplitude40with60000s; + private int featureAmplitude40with180000s; + private int featureAmplitude70with20s; + private int featureAmplitude70with100s; + private int featureAmplitude70with500s; + private int featureAmplitude70with1000s; + private int featureAmplitude70with3000s; + private int featureAmplitude70with20000s; + private int featureAmplitude70with60000s; + private int featureAmplitude70with180000s; + private int featureAmplitude85with20s; + private int featureAmplitude85with100s; + private int featureAmplitude85with500s; + private int featureAmplitude85with1000s; + private int featureAmplitude85with3000s; + private int featureAmplitude85with20000s; + private int featureAmplitude85with60000s; + private int featureAmplitude85with180000s; + private int featureAmplitude90with20s; + private int featureAmplitude90with100s; + private int featureAmplitude90with500s; + private int featureAmplitude90with1000s; + private int featureAmplitude90with3000s; + private int featureAmplitude90with20000s; + private int featureAmplitude90with60000s; + private int featureAmplitude90with180000s; +} diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/EventDurationLineChartPO.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/EventDurationLineChartPO.java new file mode 100644 index 000000000..aef2d9505 --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/EventDurationLineChartPO.java @@ -0,0 +1,51 @@ +package com.njcn.event.pojo.po; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * 持续时间折线图返回前端实体类 + * + * @author yzh + * @date 2022/10/21 + */ + +@Data +@ApiModel("暂态持续时间折线图实体类") +public class EventDurationLineChartPO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 持续时间100s + */ + @ApiModelProperty(name = "duration100", value = "持续时间100s") + private Double duration100; + + /** + * 持续时间250s + */ + @ApiModelProperty(name = "duration250", value = "持续时间250s") + private Double duration250; + + /** + * 持续时间500s + */ + @ApiModelProperty(name = "duration500", value = "持续时间500s") + private Double duration500; + + /** + * 持续时间1000s + */ + @ApiModelProperty(name = "duration1000", value = "持续时间1000s") + private Double duration1000; + + /** + * 持续时间1100s + */ + @ApiModelProperty(name = "duration1100", value = "持续时间1100s") + private Double duration1100; + +} diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/EventFeatureAmplitudeLineChartPO.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/EventFeatureAmplitudeLineChartPO.java new file mode 100644 index 000000000..3cadd3dab --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/EventFeatureAmplitudeLineChartPO.java @@ -0,0 +1,76 @@ +package com.njcn.event.pojo.po; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * 暂态特征幅值折线图实体类 + * + * @author yzh + * @date 2022/10/21 + */ + +@Data +@ApiModel("暂态特征幅值折线图实体类") +public class EventFeatureAmplitudeLineChartPO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 特征幅值10 + */ + @ApiModelProperty(name = "featureAmplitude10",value = "特征幅值10") + private Double featureAmplitude10; + + /** + * 特征幅值20 + */ + @ApiModelProperty(name = "featureAmplitude20",value = "特征幅值20") + private Double featureAmplitude20; + + /** + * 特征幅值30 + */ + @ApiModelProperty(name = "featureAmplitude30",value = "特征幅值30") + private Double featureAmplitude30; + + /** + * 特征幅值40 + */ + @ApiModelProperty(name = "featureAmplitude40",value = "特征幅值40") + private Double featureAmplitude40; + + /** + * 特征幅值50 + */ + @ApiModelProperty(name = "featureAmplitude50",value = "特征幅值50") + private Double featureAmplitude50; + + /** + * 特征幅值60 + */ + @ApiModelProperty(name = "featureAmplitude60",value = "特征幅值60") + private Double featureAmplitude60; + + /** + * 特征幅值70 + */ + @ApiModelProperty(name = "featureAmplitude70",value = "特征幅值70") + private Double featureAmplitude70; + + /** + * 特征幅值80 + */ + @ApiModelProperty(name = "featureAmplitude80",value = "特征幅值80") + private Double featureAmplitude80; + + /** + * 特征幅值90 + */ + @ApiModelProperty(name = "featureAmplitude90",value = "特征幅值90") + private Double featureAmplitude90; + +} \ No newline at end of file diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventD.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventD.java new file mode 100644 index 000000000..546e4e168 --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventD.java @@ -0,0 +1,56 @@ +package com.njcn.event.pojo.po; + +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 rui.wu + * @since 2022-10-12 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("r_stat_event_d") +@ApiModel(value="RStatEventD对象", description="") +public class RStatEventD implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "单位ID") + @TableId(value = "org_no", type = IdType.ASSIGN_ID) + private String orgNo; + + @ApiModelProperty(value = "生成数据的时间,每日统计一次") + private LocalDate dataDate; + + @ApiModelProperty(value = "监测点类别ID、监测对象类型ID") + private String measurementTypeClass; + + @ApiModelProperty(value = "暂态指标类型Id,字典表ID") + private String eventType; + + @ApiModelProperty(value = "发生暂态监测点数(监测点暂态指标超标明细日表)") + private Integer eventMeasurement; + + @ApiModelProperty(value = "发生暂态监测点数占比(此表的发生暂态监测点数/区域统计表中的区域分类统计日表中的发生暂态的监测点数)") + private Float eventMeasurementRatio; + + @ApiModelProperty(value = "暂态指标发生次数(监测点暂态指标超标明细日表)") + private Integer eventCount; + + @ApiModelProperty(value = "数据类型,字典表(01:主网测点 02:配网测点)") + private String dataType; + + +} diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventM.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventM.java new file mode 100644 index 000000000..a10d05f83 --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventM.java @@ -0,0 +1,65 @@ +package com.njcn.event.pojo.po; + +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 rui.wu + * @since 2022-10-11 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("r_stat_event_m") +@ApiModel(value="RStatEventM对象", description="") +public class RStatEventM implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "单位ID") + @TableId(value = "org_no", type = IdType.ASSIGN_ID) + private String orgNo; + + @ApiModelProperty(value = "生成数据的时间,每月统计一次") + private LocalDate dataDate; + + @ApiModelProperty(value = "监测点类别ID、监测对象类型ID") + private String measurementTypeClass; + + @ApiModelProperty(value = "暂态指标类型Id,字典表ID") + private String eventType; + + @ApiModelProperty(value = "日均发生暂态监测点数(根据 发生暂态监测点数 取平均值)") + private Integer eventMeasurementAverage; + + @ApiModelProperty(value = "累计发生暂态监测点数(监测点暂态指标超标明细日表)") + private Integer eventMeasurementAccrued; + + @ApiModelProperty(value = "暂态指标发生频次(日表的暂态指标发生次数之和/日表的发生暂态监测点数之和)") + private Float eventFreq; + + @ApiModelProperty(value = "暂态指标发生次数(日表的暂态指标发生次数之和)") + private Integer eventCount; + + @ApiModelProperty(value = "日均发生暂态监测点数占比(根据 日均发生暂态监测点数占比 取平均值)") + private Float eventMeasurementRatioAverage; + + @ApiModelProperty(value = "累计发生暂态监测点数占比(此表的累计发生暂态监测点数/区域统计表中的区域分类统计月表中的发生暂态的监测点数)") + private Float eventMeasurementRatioAccrued; + + @ApiModelProperty(value = "数据类型,字典表(01:主网测点 02:配网测点)") + private String dataType; + + +} diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventOrgM.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventOrgM.java new file mode 100644 index 000000000..5ac02925b --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventOrgM.java @@ -0,0 +1,62 @@ +package com.njcn.event.pojo.po; + +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 rui.wu + * @since 2022-10-11 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("r_stat_event_org_m") +@ApiModel(value="RStatEventOrgM对象", description="") +public class RStatEventOrgM implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "单位ID") + @TableId(value = "org_no", type = IdType.ASSIGN_ID) + private String orgNo; + + @ApiModelProperty(value = "生成数据的时间,每月统计一次") + private LocalDate dataDate; + + @ApiModelProperty(value = "稳态指标类型Id,字典表ID") + private String eventType; + + @ApiModelProperty(value = "日均发生暂态监测点数(根据 发生暂态监测点数 取平均值)") + private Integer eventMeasurementAverage; + + @ApiModelProperty(value = "累计发生暂态监测点数(监测点暂态指标超标明细日表)") + private Integer eventMeasurementAccrued; + + @ApiModelProperty(value = "暂态指标发生频次(日表的暂态指标发生次数之和/日表的发生暂态监测点数之和)") + private Float eventFreq; + + @ApiModelProperty(value = "暂态指标发生次数(日表的暂态指标发生次数之和)") + private Integer eventCount; + + @ApiModelProperty(value = "日均发生暂态监测点数占比(根据 日均发生暂态监测点数占比 取平均值)") + private Float eventMeasurementRatioAverage; + + @ApiModelProperty(value = "累计发生暂态监测点数占比(此表的累计发生暂态监测点数/区域统计表中的区域分类统计月表中的发生暂态的监测点数)") + private Float eventMeasurementRatioAccrued; + + @ApiModelProperty(value = "数据类型,字典表(01:主网测点 02:配网测点)") + private String dataType; + + +} diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventOrgPO.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventOrgPO.java index cad4589ab..d4dff0eb3 100644 --- a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventOrgPO.java +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventOrgPO.java @@ -21,61 +21,101 @@ public class RStatEventOrgPO implements Serializable { /** * 单位ID */ - @ApiModelProperty(name = "orgNo",value = "单位ID") + @ApiModelProperty(name = "orgNo", value = "单位ID") private String orgNo; /** * 生成数据的时间,每年统计一次 */ - @ApiModelProperty(name = "dataDate",value = "生成数据的时间,每年统计一次") + @ApiModelProperty(name = "dataDate", value = "生成数据的时间,每年统计一次") private Date dataDate; /** - * 稳态指标类型Id,字典表ID + * 监测点类别 */ - @ApiModelProperty(name = "eventType",value = "稳态指标类型Id,字典表ID") + @ApiModelProperty(name = "measurementTypeClass",value = "监测点类别") + private String measurementTypeClass; + + /** + * 日均有效接入监测点数 + */ + @ApiModelProperty(name = "effectiveMeasurementAverage", value = "日均有效接入监测点数") + private Integer effectiveMeasurementAverage; + + /** + * 累计有效接入监测点数 + */ + @ApiModelProperty(name = "effectiveMeasurementAccrued", value = "累计有效接入监测点数") + private Integer effectiveMeasurementAccrued; + + /** + * 日均监测到暂态指标的监测点数 + */ + @ApiModelProperty(name = "eventMeasurementAverage", value = "日均监测到暂态指标的监测点数") + private Integer eventMeasurementAverage; + + /** + * 累计监测到暂态指标的监测点数 + */ + @ApiModelProperty(name = "eventMeasurementAccrued", value = "累计监测到暂态指标的监测点数") + private Integer eventMeasurementAccrued; + + /** + * 暂态指标发生次数 + */ + @ApiModelProperty(name = "eventCount",value = "暂态指标发生次数") + private Integer eventCount; + /** + * 暂态指标发生频次 + */ + @ApiModelProperty(name = "eventFreq",value = "暂态指标发生频次") + private Double eventFreq; + + /** + * 暂态指标类型Id,字典表ID + */ + @ApiModelProperty(name = "eventType", value = "暂态指标类型Id,字典表ID") private String eventType; /** * 日均发生暂态监测点数(根据 发生暂态监测点数 取平均值) */ - @ApiModelProperty(name = "eventMeasurementAverage",value = "日均发生暂态监测点数(根据 发生暂态监测点数 取平均值)") - private Integer eventMeasurementAverage; + @ApiModelProperty(name = "eEventMeasurementAverage", value = "日均发生暂态监测点数(根据 发生暂态监测点数 取平均值)") + private Integer eEventMeasurementAverage; /** * 累计发生暂态监测点数(监测点暂态指标超标明细日表 */ - @ApiModelProperty(name = "eventMeasurementAccrued",value = "累计发生暂态监测点数(监测点暂态指标超标明细日表)") - private Integer eventMeasurementAccrued; - - /** - * 暂态指标发生频次(日表的暂态指标发生次数之和/日表的发生暂态监测点数之和) - */ - @ApiModelProperty(name = "eventFreq",value = "暂态指标发生频次(日表的暂态指标发生次数之和/日表的发生暂态监测点数之和)") - private Double eventFreq; - - /** - * 暂态指标发生次数(日表的暂态指标发生次数之和) - */ - @ApiModelProperty(name = "eventCount",value = "暂态指标发生次数(日表的暂态指标发生次数之和)") - private Integer eventCount; + @ApiModelProperty(name = "eEventMeasurementAccrued", value = "累计发生暂态监测点数(监测点暂态指标超标明细日表)") + private Integer eEventMeasurementAccrued; /** * 日均发生暂态监测点数占比(根据 日均发生暂态监测点数占比 取平均值) */ - @ApiModelProperty(name = "eventMeasurementRatioAverage",value = "日均发生暂态监测点数占比(根据 日均发生暂态监测点数占比 取平均值)") - private Double eventMeasurementRatioAverage; + @ApiModelProperty(name = "eEventMeasurementRatioAverage", value = "日均发生暂态监测点数占比(根据 日均发生暂态监测点数占比 取平均值)") + private Double eEventMeasurementRatioAverage; /** * 累计发生暂态监测点数占比(此表的累计发生暂态监测点数/区域统计表中的区域分类统计月表中的发生暂态的监测点数) */ - @ApiModelProperty(name = "eventMeasurementRatioAccrued",value = "累计发生暂态监测点数占比(此表的累计发生暂态监测点数/区域统计表中的区域分类统计月表中的发生暂态的监测点数)") - private Double eventMeasurementRatioAccrued; + @ApiModelProperty(name = "eEventMeasurementRatioAccrued", value = "累计发生暂态监测点数占比(此表的累计发生暂态监测点数/区域统计表中的区域分类统计月表中的发生暂态的监测点数)") + private Double eEventMeasurementRatioAccrued; + + /** + * 暂态指标发生频次 + */ + @ApiModelProperty(name = "eEventFreq", value = "暂态指标发生频次") + private Double eEventFreq; + /** + * 暂态指标发生次数 + */ + @ApiModelProperty(name = "eEventCount", value = "暂态指标发生次数") + private Integer eEventCount; /** * 数据类型,字典表(01:主网测点 02:配网测点) */ - @ApiModelProperty(name = "dataType",value = "数据类型,字典表(01:主网测点 02:配网测点)") + @ApiModelProperty(name = "dataType", value = "数据类型,字典表(01:主网测点 02:配网测点)") private String dataType; } diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventOrgQ.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventOrgQ.java new file mode 100644 index 000000000..85bf81fbf --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventOrgQ.java @@ -0,0 +1,61 @@ +package com.njcn.event.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 rui.wu + * @since 2022-10-17 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("r_stat_event_org_q") +@ApiModel(value="RStatEventOrgQ对象", description="") +public class RStatEventOrgQ implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "单位ID") + @TableId(value = "org_no", type = IdType.ASSIGN_ID) + private String orgNo; + + @ApiModelProperty(value = "生成数据的时间,每年统计一次") + private LocalDate dataDate; + + @ApiModelProperty(value = "暂态指标类型Id,字典表ID") + private String eventType; + + @ApiModelProperty(value = "日均发生暂态监测点数(根据 发生暂态监测点数 取平均值)") + private Integer eventMeasurementAverage; + + @ApiModelProperty(value = "累计发生暂态监测点数(监测点暂态指标超标明细日表)") + private Integer eventMeasurementAccrued; + + @ApiModelProperty(value = "暂态指标发生频次(日表的暂态指标发生次数之和/日表的发生暂态监测点数之和)") + private Float eventFreq; + + @ApiModelProperty(value = "暂态指标发生次数(日表的暂态指标发生次数之和)") + private Integer eventCount; + + @ApiModelProperty(value = "日均发生暂态监测点数占比(根据 日均发生暂态监测点数占比 取平均值)") + private Float eventMeasurementRatioAverage; + + @ApiModelProperty(value = "累计发生暂态监测点数占比(此表的累计发生暂态监测点数/区域统计表中的区域分类统计月表中的发生暂态的监测点数)") + private Float eventMeasurementRatioAccrued; + + @ApiModelProperty(value = "数据类型,字典表(01:主网测点 02:配网测点)") + private String dataType; + + +} diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventOrgY.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventOrgY.java new file mode 100644 index 000000000..f9c494706 --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventOrgY.java @@ -0,0 +1,61 @@ +package com.njcn.event.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 rui.wu + * @since 2022-10-17 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("r_stat_event_org_y") +@ApiModel(value="RStatEventOrgY对象", description="") +public class RStatEventOrgY implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "单位ID") + @TableId(value = "org_no", type = IdType.ASSIGN_ID) + private String orgNo; + + @ApiModelProperty(value = "生成数据的时间,每年统计一次") + private LocalDate dataDate; + + @ApiModelProperty(value = "暂态指标类型Id,字典表ID") + private String eventType; + + @ApiModelProperty(value = "日均发生暂态监测点数(根据 发生暂态监测点数 取平均值)") + private Integer eventMeasurementAverage; + + @ApiModelProperty(value = "累计发生暂态监测点数(监测点暂态指标超标明细日表)") + private Integer eventMeasurementAccrued; + + @ApiModelProperty(value = "暂态指标发生频次(日表的暂态指标发生次数之和/日表的发生暂态监测点数之和)") + private Float eventFreq; + + @ApiModelProperty(value = "暂态指标发生次数(日表的暂态指标发生次数之和)") + private Integer eventCount; + + @ApiModelProperty(value = "日均发生暂态监测点数占比(根据 日均发生暂态监测点数占比 取平均值)") + private Float eventMeasurementRatioAverage; + + @ApiModelProperty(value = "累计发生暂态监测点数占比(此表的累计发生暂态监测点数/区域统计表中的区域分类统计月表中的发生暂态的监测点数)") + private Float eventMeasurementRatioAccrued; + + @ApiModelProperty(value = "数据类型,字典表(01:主网测点 02:配网测点)") + private String dataType; + + +} diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventQ.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventQ.java new file mode 100644 index 000000000..f6116e4d3 --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventQ.java @@ -0,0 +1,65 @@ +package com.njcn.event.pojo.po; + +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 rui.wu + * @since 2022-10-12 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("r_stat_event_q") +@ApiModel(value="RStatEventQ对象", description="") +public class RStatEventQ implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "单位ID") + @TableId(value = "org_no", type = IdType.ASSIGN_ID) + private String orgNo; + + @ApiModelProperty(value = "生成数据的时间,每季度统计一次") + private LocalDate dataDate; + + @ApiModelProperty(value = "监测点类别ID、监测对象类型ID") + private String measurementTypeClass; + + @ApiModelProperty(value = "暂态指标类型Id,字典表ID") + private String eventType; + + @ApiModelProperty(value = "日均发生暂态监测点数(根据 发生暂态监测点数 取平均值)") + private Integer eventMeasurementAverage; + + @ApiModelProperty(value = "累计发生暂态监测点数(监测点暂态指标超标明细日表)") + private Integer eventMeasurementAccrued; + + @ApiModelProperty(value = "暂态指标发生频次(日表的暂态指标发生次数之和/日表的发生暂态监测点数之和)") + private Float eventFreq; + + @ApiModelProperty(value = "暂态指标发生次数(日表的暂态指标发生次数之和)") + private Integer eventCount; + + @ApiModelProperty(value = "日均发生暂态监测点数占比(根据 日均发生暂态监测点数占比 取平均值)") + private Float eventMeasurementRatioAverage; + + @ApiModelProperty(value = "累计发生暂态监测点数占比(此表的累计发生暂态监测点数/区域统计表中的区域分类统计月表中的发生暂态的监测点数)") + private Float eventMeasurementRatioAccrued; + + @ApiModelProperty(value = "数据类型,字典表(01:主网测点 02:配网测点)") + private String dataType; + + +} diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventVoltageM.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventVoltageM.java new file mode 100644 index 000000000..79b381403 --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventVoltageM.java @@ -0,0 +1,68 @@ +package com.njcn.event.pojo.po; + +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 rui.wu + * @since 2022-10-14 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("r_stat_event_voltage_m") +@ApiModel(value="RStatEventVoltageM对象", description="") +public class RStatEventVoltageM implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "单位ID") + @TableId(value = "org_no", type = IdType.ASSIGN_ID) + private String orgNo; + + @ApiModelProperty(value = "生成数据的时间,每日统计一次") + private LocalDate dataDate; + + @ApiModelProperty(value = "监测对象类型ID") + private String measurementTypeClass; + + @ApiModelProperty(value = "暂态指标类型Id,字典表ID") + private String eventType; + + @ApiModelProperty(value = "电压等级Id,字典表ID") + private String voltageType; + + @ApiModelProperty(value = "日均发生暂态监测点数") + private Integer eventMeasurementAverage; + + @ApiModelProperty(value = "累计发生暂态监测点数") + private Integer eventMeasurementAccrued; + + @ApiModelProperty(value = "暂态指标发生频次") + private Float eventFreq; + + @ApiModelProperty(value = "暂态指标发生次数") + private Integer eventCount; + + @ApiModelProperty(value = "日均发生暂态监测点数占比") + private Float eventMeasurementRatioAverage; + + @ApiModelProperty(value = "累计发生暂态监测点数占比") + private Float eventMeasurementRatioAccrued; + + @ApiModelProperty(value = "数据类型,字典表(01:主网测点 02:配网测点)") + private String dataType; + + +} diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventY.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventY.java new file mode 100644 index 000000000..d41a0b0ab --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatEventY.java @@ -0,0 +1,65 @@ +package com.njcn.event.pojo.po; + +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 rui.wu + * @since 2022-10-12 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("r_stat_event_y") +@ApiModel(value="RStatEventY对象", description="") +public class RStatEventY implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "单位ID") + @TableId(value = "org_no", type = IdType.ASSIGN_ID) + private String orgNo; + + @ApiModelProperty(value = "生成数据的时间,每年统计一次") + private LocalDate dataDate; + + @ApiModelProperty(value = "监测点类别ID、监测对象类型ID") + private String measurementTypeClass; + + @ApiModelProperty(value = "暂态指标类型Id,字典表ID") + private String eventType; + + @ApiModelProperty(value = "日均发生暂态监测点数(根据 发生暂态监测点数 取平均值)") + private Integer eventMeasurementAverage; + + @ApiModelProperty(value = "累计发生暂态监测点数(监测点暂态指标超标明细日表)") + private Integer eventMeasurementAccrued; + + @ApiModelProperty(value = "暂态指标发生频次(日表的暂态指标发生次数之和/日表的发生暂态监测点数之和)") + private Float eventFreq; + + @ApiModelProperty(value = "暂态指标发生次数(日表的暂态指标发生次数之和)") + private Integer eventCount; + + @ApiModelProperty(value = "日均发生暂态监测点数占比(根据 日均发生暂态监测点数占比 取平均值)") + private Float eventMeasurementRatioAverage; + + @ApiModelProperty(value = "累计发生暂态监测点数占比(此表的累计发生暂态监测点数/区域统计表中的区域分类统计月表中的发生暂态的监测点数)") + private Float eventMeasurementRatioAccrued; + + @ApiModelProperty(value = "数据类型,字典表(01:主网测点 02:配网测点)") + private String dataType; + + +} diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatOrgPO.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatOrgPO.java index bbdfbadbb..b0a93b5b3 100644 --- a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatOrgPO.java +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatOrgPO.java @@ -2,11 +2,11 @@ package com.njcn.event.pojo.po; import lombok.Data; -import java.util.Date; import java.io.Serializable; +import java.util.Date; /** - * 区域分类统计年表(RStatOrgY)实体类 + * 区域分类统计表(RStatOrgY)实体类 * * @author yzh * @since 2022-10-12 18:37:24 diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatSubstationM.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatSubstationM.java new file mode 100644 index 000000000..a1fd19401 --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatSubstationM.java @@ -0,0 +1,122 @@ +package com.njcn.event.pojo.po; + +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 rui.wu + * @since 2022-10-18 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("r_stat_substation_m") +@ApiModel(value="RStatSubstationM对象", description="") +public class RStatSubstationM implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "生成数据的时间,每月统计一次") + @TableId(value = "data_date", type = IdType.ASSIGN_ID) + private LocalDate dataDate; + + @ApiModelProperty(value = "变电站id") + private String substationId; + + @ApiModelProperty(value = "日均有效接入监测点数") + private Integer effectiveMeasurementAverage; + + @ApiModelProperty(value = "累计有效接入监测点数") + private Integer effectiveMeasurementAccrued; + + @ApiModelProperty(value = "稳态累计超标天数") + private Float harmonicOverDay; + + @ApiModelProperty(value = "稳态累计超标监测点数") + private Integer harmonicCount; + + @ApiModelProperty(value = "频率偏差累计超标天数") + private Float freqOverDay; + + @ApiModelProperty(value = "频率偏差累计超标监测点数") + private Integer freqCount; + + @ApiModelProperty(value = "电压偏差累计超标天数") + private Float vDevOverDay; + + @ApiModelProperty(value = "电压偏差累计超标监测点数") + private Integer vDevCount; + + @ApiModelProperty(value = "谐波电压累计超标天数") + private Float vOverDay; + + @ApiModelProperty(value = "谐波电压累计超标监测点数") + private Integer vCount; + + @ApiModelProperty(value = "谐波电流累计超标天数") + private Float iOverDay; + + @ApiModelProperty(value = "谐波电流累计超标监测点数") + private Integer iCount; + + @ApiModelProperty(value = "三相电压不平衡累计超标天数") + private Float unbalanceOverDay; + + @ApiModelProperty(value = "三相电压不平衡累计超标监测点数") + private Integer unbalanceCount; + + @ApiModelProperty(value = "负序电流累计超标天数") + private Float iNegOverDay; + + @ApiModelProperty(value = "负序电流累计超标监测点数") + private Integer iNegCount; + + @ApiModelProperty(value = "闪变累计超标天数") + private Float flickerOverDay; + + @ApiModelProperty(value = "闪变累计超标监测点数") + private Integer flickerCount; + + @ApiModelProperty(value = "间谐波电压累计超标天数") + private Float inuharmOverDay; + + @ApiModelProperty(value = "间谐波电压累计超标监测点数") + private Integer inuharmCount; + + @ApiModelProperty(value = "暂态指标发生次数") + private Integer eventCount; + + @ApiModelProperty(value = "暂态指标发生频次") + private Float eventFreq; + + @ApiModelProperty(value = "电压暂降发生次数") + private Integer sagCount; + + @ApiModelProperty(value = "电压暂降发生频次") + private Float sagFreq; + + @ApiModelProperty(value = "电压暂升发生次数") + private Integer swellCount; + + @ApiModelProperty(value = "电压暂升发生频次") + private Float swellFreq; + + @ApiModelProperty(value = "短时中断发生次数") + private Integer interruptCount; + + @ApiModelProperty(value = "短时中断发生频次") + private Float interruptFreq; + + +} diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatSubstationQ.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatSubstationQ.java new file mode 100644 index 000000000..b32b8f4e7 --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatSubstationQ.java @@ -0,0 +1,95 @@ +package com.njcn.event.pojo.po; + +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 rui.wu + * @since 2022-10-18 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("r_stat_substation_q") +@ApiModel(value="RStatSubstationQ对象", description="") +public class RStatSubstationQ implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "生成数据的时间,每季统计一次") + @TableId(value = "data_date", type = IdType.ASSIGN_ID) + private LocalDate dataDate; + + @ApiModelProperty(value = "变电站id") + private String substationId; + + @ApiModelProperty(value = "日均有效接入监测点数") + private Integer effectiveMeasurementAverage; + + @ApiModelProperty(value = "累计有效接入监测点数") + private Integer effectiveMeasurementAccrued; + + @ApiModelProperty(value = "稳态平均超标天数") + private Float harmonicAverageOverDay; + + @ApiModelProperty(value = "频率偏差平均超标天数") + private Float freqAverageOverDay; + + @ApiModelProperty(value = "电压偏差平均超标天数") + private Float vDevAverageOverDay; + + @ApiModelProperty(value = "谐波电压平均超标天数") + private Float vAverageOverDay; + + @ApiModelProperty(value = "谐波电流平均超标天数") + private Float iAverageOverDay; + + @ApiModelProperty(value = "三相电压不平衡平均超标天数") + private Float unbalanceAverageOverDay; + + @ApiModelProperty(value = "负序电流平均超标天数") + private Float iNegAverageOverDay; + + @ApiModelProperty(value = "闪变平均超标天数") + private Float flickerAverageOverDay; + + @ApiModelProperty(value = "间谐波电压平均超标天数") + private Float inuharmAverageOverDay; + + @ApiModelProperty(value = "暂态指标发生次数") + private Integer eventCount; + + @ApiModelProperty(value = "暂态指标发生频次") + private Float eventFreq; + + @ApiModelProperty(value = "电压暂降发生次数") + private Integer sagCount; + + @ApiModelProperty(value = "电压暂降发生频次") + private Float sagFreq; + + @ApiModelProperty(value = "电压暂升发生次数") + private Integer swellCount; + + @ApiModelProperty(value = "电压暂升发生频次") + private Float swellFreq; + + @ApiModelProperty(value = "短时中断发生次数") + private Integer interruptCount; + + @ApiModelProperty(value = "短时中断发生频次") + private Float interruptFreq; + + +} diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatSubstationVoltageM.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatSubstationVoltageM.java new file mode 100644 index 000000000..e6da055d2 --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatSubstationVoltageM.java @@ -0,0 +1,50 @@ +package com.njcn.event.pojo.po; + +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 rui.wu + * @since 2022-10-18 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("r_stat_substation_voltage_m") +@ApiModel(value="RStatSubstationVoltageM对象", description="") +public class RStatSubstationVoltageM implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "单位ID") + @TableId(value = "org_no", type = IdType.ASSIGN_ID) + private String orgNo; + + @ApiModelProperty(value = "生成数据的时间,每月统计一次") + private LocalDate dataDate; + + @ApiModelProperty(value = "电压等级") + private String substationVoltage; + + @ApiModelProperty(value = "变电站数量") + private Integer substationCount; + + @ApiModelProperty(value = "稳态超标变电站数量") + private Integer harmonicCount; + + @ApiModelProperty(value = "暂态变电站数量") + private Integer eventCount; + + +} diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatSubstationY.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatSubstationY.java new file mode 100644 index 000000000..9d6ae9cfd --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RStatSubstationY.java @@ -0,0 +1,95 @@ +package com.njcn.event.pojo.po; + +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 rui.wu + * @since 2022-10-18 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("r_stat_substation_y") +@ApiModel(value="RStatSubstationY对象", description="") +public class RStatSubstationY implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "生成数据的时间,每年统计一次") + @TableId(value = "data_date", type = IdType.ASSIGN_ID) + private LocalDate dataDate; + + @ApiModelProperty(value = "变电站id") + private String substationId; + + @ApiModelProperty(value = "日均有效接入监测点数") + private Integer effectiveMeasurementAverage; + + @ApiModelProperty(value = "累计有效接入监测点数") + private Integer effectiveMeasurementAccrued; + + @ApiModelProperty(value = "稳态平均超标天数") + private Float harmonicOverDay; + + @ApiModelProperty(value = "频率偏差平均超标天数") + private Float freqAverageOverDay; + + @ApiModelProperty(value = "电压偏差平均超标天数") + private Float vDevAverageOverDay; + + @ApiModelProperty(value = "谐波电压平均超标天数") + private Float vAverageOverDay; + + @ApiModelProperty(value = "谐波电流平均超标天数") + private Float iAverageOverDay; + + @ApiModelProperty(value = "三相电压不平衡平均超标天数") + private Float unbalanceAverageOverDay; + + @ApiModelProperty(value = "负序电流平均超标天数") + private Float iNegAverageOverDay; + + @ApiModelProperty(value = "闪变平均超标天数") + private Float flickerAverageOverDay; + + @ApiModelProperty(value = "间谐波电压平均超标天数") + private Float inuharmAverageOverDay; + + @ApiModelProperty(value = "暂态指标发生次数") + private Integer eventCount; + + @ApiModelProperty(value = "暂态指标发生频次") + private Float eventFreq; + + @ApiModelProperty(value = "电压暂降发生次数") + private Integer sagCount; + + @ApiModelProperty(value = "电压暂降发生频次") + private Float sagFreq; + + @ApiModelProperty(value = "电压暂升发生次数") + private Integer swellCount; + + @ApiModelProperty(value = "电压暂升发生频次") + private Float swellFreq; + + @ApiModelProperty(value = "短时中断发生次数") + private Integer interruptCount; + + @ApiModelProperty(value = "短时中断发生频次") + private Float interruptFreq; + + +} diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RmpEventDetailPO.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RmpEventDetailPO.java index 2e145ffc3..26549f424 100644 --- a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RmpEventDetailPO.java +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RmpEventDetailPO.java @@ -1,9 +1,10 @@ -package com.njcn.device.pms.pojo.po; +package com.njcn.event.pojo.po; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; +import java.util.Date; /** * (RMpEventDetail)实体类 @@ -13,7 +14,7 @@ import java.io.Serializable; */ @Data public class RmpEventDetailPO implements Serializable { - private static final long serialVersionUID = 717547299960041571L; + private static final long serialVersionUID = 1L; /** * 暂时事件ID */ @@ -24,6 +25,7 @@ public class RmpEventDetailPO implements Serializable { */ @ApiModelProperty(name = "measurementPointId",value = "监测点ID") private String measurementPointId; + /** * 事件类型 */ @@ -33,7 +35,7 @@ public class RmpEventDetailPO implements Serializable { * 开始时间 */ @ApiModelProperty(name = "startTime",value = "开始时间") - private Long startTime; + private Date startTime; /** * 持续时间 */ diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RmpEventReportDayPO.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RmpEventReportDayPO.java new file mode 100644 index 000000000..b87e74daf --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RmpEventReportDayPO.java @@ -0,0 +1,39 @@ +package com.njcn.event.pojo.po; + +import lombok.Data; + +import java.util.Date; +import java.io.Serializable; + +/** + * 监测点暂态事件统计日报实体类 + * + * @author yzh + * @since 2022-10-19 10:36:37 + */ +@Data +public class RmpEventReportDayPO implements Serializable { + private static final long serialVersionUID = -31002744007070997L; + /** + * 监测点ID + */ + private String measurementPointId; + /** + * 生成数据的时间,每日统计一次 + */ + private Date dataDate; + /** + * 持续时间 + */ + private Double durationTag; + /** + * 特征幅值 + */ + private Double featureAmplitudeTag; + /** + * 发生次数 + */ + private String frequency; + +} + diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/EventDipShortDistributionVO.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/EventDipShortDistributionVO.java new file mode 100644 index 000000000..6f76b5acf --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/EventDipShortDistributionVO.java @@ -0,0 +1,100 @@ +package com.njcn.event.pojo.vo; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 监测点电压暂降和短时中断分布情况 + * @Title EventDistributionStatisticsVO + * @Package com.njcn.event.pojo.vo + * @Author jianghaifei + * @Date 2022-10-26 11:19 + * @Version V1.0 + */ +@Data +public class EventDipShortDistributionVO implements Serializable { + + private static final long serialVersionUID = 1L; + + private int featureAmp90with100ms; + private int featureAmp90with250ms; + private int featureAmp90with500ms; + private int featureAmp90with1000ms; + private int featureAmp90with3000ms; + private int featureAmp90with10000ms; + private int featureAmp90with20000ms; + private int featureAmp90with60000ms; + + private int featureAmp80with100ms; + private int featureAmp80with250ms; + private int featureAmp80with500ms; + private int featureAmp80with1000ms; + private int featureAmp80with3000ms; + private int featureAmp80with10000ms; + private int featureAmp80with20000ms; + private int featureAmp80with60000ms; + + private int featureAmp70with100ms; + private int featureAmp70with250ms; + private int featureAmp70with500ms; + private int featureAmp70with1000ms; + private int featureAmp70with3000ms; + private int featureAmp70with10000ms; + private int featureAmp70with20000ms; + private int featureAmp70with60000ms; + + private int featureAmp60with100ms; + private int featureAmp60with250ms; + private int featureAmp60with500ms; + private int featureAmp60with1000ms; + private int featureAmp60with3000ms; + private int featureAmp60with10000ms; + private int featureAmp60with20000ms; + private int featureAmp60with60000ms; + + private int featureAmp50with100ms; + private int featureAmp50with250ms; + private int featureAmp50with500ms; + private int featureAmp50with1000ms; + private int featureAmp50with3000ms; + private int featureAmp50with10000ms; + private int featureAmp50with20000ms; + private int featureAmp50with60000ms; + + private int featureAmp40with100ms; + private int featureAmp40with250ms; + private int featureAmp40with500ms; + private int featureAmp40with1000ms; + private int featureAmp40with3000ms; + private int featureAmp40with10000ms; + private int featureAmp40with20000ms; + private int featureAmp40with60000ms; + + private int featureAmp30with100ms; + private int featureAmp30with250ms; + private int featureAmp30with500ms; + private int featureAmp30with1000ms; + private int featureAmp30with3000ms; + private int featureAmp30with10000ms; + private int featureAmp30with20000ms; + private int featureAmp30with60000ms; + + private int featureAmp20with100ms; + private int featureAmp20with250ms; + private int featureAmp20with500ms; + private int featureAmp20with1000ms; + private int featureAmp20with3000ms; + private int featureAmp20with10000ms; + private int featureAmp20with20000ms; + private int featureAmp20with60000ms; + + private int featureAmp10with100ms; + private int featureAmp10with250ms; + private int featureAmp10with500ms; + private int featureAmp10with1000ms; + private int featureAmp10with3000ms; + private int featureAmp10with10000ms; + private int featureAmp10with20000ms; + private int featureAmp10with60000ms; +} diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/EventDistributionStatisticsTableVO.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/EventDistributionStatisticsTableVO.java new file mode 100644 index 000000000..7bbbbc44b --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/EventDistributionStatisticsTableVO.java @@ -0,0 +1,68 @@ +package com.njcn.event.pojo.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * 暂态指标分布统计返回前端实体类 + * + * @author yzh + * @date 2022/10/20 + */ + +@Data +@ApiModel("暂态指标分布统计实体类") +public class EventDistributionStatisticsTableVO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 特征幅值 + */ + @ApiModelProperty(name = "featureAmplitude",value = "特征幅值") + private String featureAmplitude; + + /** + * 持续时间20s + */ + @ApiModelProperty(name = "duration20",value = "持续时间20s") + private Integer duration20; + /** + * 持续时间100s + */ + @ApiModelProperty(name = "duration100",value = "持续时间100s") + private Integer duration100; + /** + * 持续时间500s + */ + @ApiModelProperty(name = "duration500",value = "持续时间500s") + private Integer duration500; + /** + * 持续时间1000s + */ + @ApiModelProperty(name = "duration1000",value = "持续时间1000s") + private Integer duration1000; + /** + * 持续时间3000s + */ + @ApiModelProperty(name = "duration3000",value = "持续时间3000s") + private Integer duration3000; + /** + * 持续时间20000s + */ + @ApiModelProperty(name = "duration20000",value = "持续时间20000s") + private Integer duration20000; + /** + * 持续时间60000s + */ + @ApiModelProperty(name = "duration60000",value = "持续时间60000s") + private Integer duration60000; + /** + * 持续时间180000s + */ + @ApiModelProperty(name = "duration180000",value = "持续时间180000s") + private Integer duration180000; +} diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/EventFeatureAmplitudeCurveVO.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/EventFeatureAmplitudeCurveVO.java new file mode 100644 index 000000000..b684c71e5 --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/EventFeatureAmplitudeCurveVO.java @@ -0,0 +1,74 @@ +package com.njcn.event.pojo.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Builder; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; + +/** + * 获取暂态指标分布统计曲线图实体类 + * + * @author yzh + * @date 2022/10/24 + */ +@Data +@Builder +@ApiModel("获取暂态指标分布统计曲线图实体类") +public class EventFeatureAmplitudeCurveVO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(name = "totalNumberOfEvents", value = "事件总数") + private Integer totalNumberOfEvents; + + @ApiModelProperty(name = "eventFeatureAmplitudeCurveDataList", value = "图表数据") + private List eventFeatureAmplitudeCurveDataList; + + /** + * 构建默认对象 + * + * @return 默认对象 + */ + public static EventFeatureAmplitudeCurveVO empty() { + return EventFeatureAmplitudeCurveVO.buildVO(0, Collections.emptyList()); + } + + /** + * 构建默认对象 + * + * @param numberEvents 事件总数 + * @param dataList 图表数据 + * @return 默认对象 + */ + public static EventFeatureAmplitudeCurveVO buildVO(int numberEvents, List dataList) { + return EventFeatureAmplitudeCurveVO.builder().totalNumberOfEvents(numberEvents).eventFeatureAmplitudeCurveDataList(dataList).build(); + + } + + @Data + public static class EventFeatureAmplitudeCurveDataList implements Serializable { + private static final long serialVersionUID = 2693688079727369565L; + + @ApiModelProperty(name = "measurementPointId", value = "监测点id") + private String measurementPointId; + + @ApiModelProperty(name = "duration", value = "持续时间(ms)") + private Double duration; + + @ApiModelProperty(name = "featureAmplitude", value = "特征幅值") + private Double featureAmplitude; + + @ApiModelProperty(name = "startTime", value = "开始时间") + private LocalDateTime startTime; + + public static Comparator sortAscTime() { + return Comparator.comparing(EventFeatureAmplitudeCurveVO.EventFeatureAmplitudeCurveDataList::getStartTime); + } + } +} diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/EventMonitorReportVO.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/EventMonitorReportVO.java new file mode 100644 index 000000000..377436a1d --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/EventMonitorReportVO.java @@ -0,0 +1,43 @@ +package com.njcn.event.pojo.vo; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Title EventMonitorReportVO + * @Package com.njcn.event.pojo.vo + * @Author jianghaifei + * @Date 2022-10-25 09:51 + * @Version V1.0 + */ +@Data +public class EventMonitorReportVO implements Serializable { + + private static final long serialVersionUID = 1L; + + private String date; //时间 + + private String orgId; // 单位id + + private String OrgName; //单位名称 + + private String monitorId; //监测点id + + private String monitorName; //监测点名称 + + private String voltageLevel; //监测点电压等级id + + private String voltageLevelName; //监测点电压等级名称 + + private Integer voltageRiseCount; //电压暂升次数 + + private Integer voltageDipCount; //电压暂降次数 + + private Integer shortInterruptionCount; //短时中断 + +// private EventDipShortDistributionVO dipShortStatisticsVO; //暂降和短时中断分部情况 + +// private EventRiseDistributionVO riseStatisticsVO; //暂升分部情况 + +} diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/EventRiseDistributionVO.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/EventRiseDistributionVO.java new file mode 100644 index 000000000..ba90a02e5 --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/EventRiseDistributionVO.java @@ -0,0 +1,26 @@ +package com.njcn.event.pojo.vo; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 监测点电压暂升分布情况 + * @Title EventRiseDistributionStatisticsVO + * @Package com.njcn.event.pojo.vo + * @Author jianghaifei + * @Date 2022-10-26 11:33 + * @Version V1.0 + */ +@Data +public class EventRiseDistributionVO implements Serializable { + private static final long serialVersionUID = 1L; + + private int featureAmp120with500ms; + private int featureAmp120with5000ms; + private int featureAmp120with60000ms; + + private int featureAmp110with500ms; + private int featureAmp110with5000ms; + private int featureAmp110with60000ms; +} diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/PwRmpEventDetailVO.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/PwRmpEventDetailVO.java new file mode 100644 index 000000000..80d1f981f --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/PwRmpEventDetailVO.java @@ -0,0 +1,98 @@ +package com.njcn.event.pojo.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 配网暂态明细返回前端实体类 + * + * @author yzh + * @date 2022/10/31 + */ +@Data +@ApiModel("配网暂态明细返回前端实体类") +public class PwRmpEventDetailVO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 单位id + */ + @ApiModelProperty(name = "orgId", value = "单位id") + private String orgId; + /** + * 单位名称 + */ + @ApiModelProperty(name = "orgName", value = "单位名称") + private String orgName; + /** + * 监测点id + */ + @ApiModelProperty(name = "monitorId", value = "监测点id") + private String monitorId; + /** + * 监测点名称 + */ + @ApiModelProperty(name = "monitorName", value = "监测点名称") + private String monitorName; + /** + * 所属变电站 + */ + @ApiModelProperty(name = "subName", value = "所属变电站") + private String subName; + /** + * 所属台区 + */ + @ApiModelProperty(name = "powerDistributionArea", value = "所属台区") + private String powerDistributionArea; + /** + * 用户名称 + */ + @ApiModelProperty(name = "powerClient", value = "用户名称") + private String powerClient; + /** + * 监测点类别 + */ + @ApiModelProperty(name = "monitorSort", value = "监测点类别") + private String monitorSort; + + /** + * 监测点电压等级 + */ + @ApiModelProperty(name = "monitorVoltageLevel",value = "监测点电压等级") + private String monitorVoltageLevel; + + /** + * 暂态事件类型 + */ + @ApiModelProperty(name = "eventType", value = "暂态事件类型") + private String eventType; + + /** + * 开始时间 + */ + @ApiModelProperty(name = "startTime", value = "开始时间") + private Date startTime; + + /** + * 持续时间 + */ + @ApiModelProperty(name = "duration", value = "持续时间") + private Double duration; + + /** + * 特征幅值 + */ + @ApiModelProperty(name = "featureAmplitude", value = "特征幅值") + private Double featureAmplitude; + + /** + * 波形路径 + */ + @ApiModelProperty(name = "wavePath", value = "波形路径") + private String wavePath; + +} diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RArrayVO.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RArrayVO.java new file mode 100644 index 000000000..5bf84956d --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RArrayVO.java @@ -0,0 +1,27 @@ +package com.njcn.event.pojo.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * <功能描述> + * + * @author 1754607820@qq.com + * @createTime: 2022-10-10 + */ +@Data +public class RArrayVO { + + @ApiModelProperty(value = "指标名称") + String rowName; + + @ApiModelProperty("排序") + private Integer sort; + + @ApiModelProperty(value = "检测点类型") + List columns; + + +} diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/REventPolylineVO.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/REventPolylineVO.java new file mode 100644 index 000000000..0c2a6774f --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/REventPolylineVO.java @@ -0,0 +1,33 @@ +package com.njcn.event.pojo.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + *

+ * + *

+ * + * @author rui.wu + * @since 2022-10-12 + */ +@Data +public class REventPolylineVO { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "时间") + private String date; + + @ApiModelProperty(value = "发生暂态监测点数") + private Integer eventMeasurement; + + @ApiModelProperty(value = "发生暂态监测点数占比") + private Float eventMeasurementRatio; + + @ApiModelProperty(value = "暂态指标发生次数") + private Integer eventCount; + + @ApiModelProperty(value = "暂态指标发生频次") + private Integer eventFreq; +} diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RStatEventMVO.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RStatEventMVO.java new file mode 100644 index 000000000..d2d530c1c --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RStatEventMVO.java @@ -0,0 +1,44 @@ +package com.njcn.event.pojo.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + *

+ * + *

+ * + * @author rui.wu + * @since 2022-10-11 + */ +@Data +public class RStatEventMVO { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("排序") + private Integer sort; + + @ApiModelProperty(value = "暂态指标类型名称") + private String eventName; + + @ApiModelProperty(value = "日均发生暂态监测点数") + private Integer eventMeasurementAverage; + + @ApiModelProperty(value = "累计发生暂态监测点数") + private Integer eventMeasurementAccrued; + + @ApiModelProperty(value = "暂态指标发生频次") + private Float eventFreq; + + @ApiModelProperty(value = "暂态指标发生次数") + private Integer eventCount; + + @ApiModelProperty(value = "日均发生暂态监测点数占比") + private Float eventMeasurementRatioAverage; + + @ApiModelProperty(value = "累计发生暂态监测点数占比") + private Float eventMeasurementRatioAccrued; + + +} diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RStatEventOrgVO.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RStatEventOrgVO.java index 16d568c25..dece0d94a 100644 --- a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RStatEventOrgVO.java +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RStatEventOrgVO.java @@ -4,9 +4,8 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import java.util.Date; import java.io.Serializable; -import java.util.List; +import java.util.Date; /** * 监测点暂态指标数据统计表(RStatEventOrg)实体类 @@ -42,6 +41,12 @@ public class RStatEventOrgVO implements Serializable { @ApiModelProperty(name = "dataDate", value = "生成数据的时间,每年统计一次") private Date dataDate; + /** + * 监测点类别 + */ + @ApiModelProperty(name = "measurementTypeClass",value = "监测点类别") + private String measurementTypeClass; + /** * 日均有效接入监测点数 */ @@ -70,107 +75,55 @@ public class RStatEventOrgVO implements Serializable { * 日均暂态超标监测点数占比 */ @ApiModelProperty(name = "eventMeasurementRatioAverage", value = "日均暂态超标监测点数占比") - private Integer eventMeasurementRatioAverage; + private Double eventMeasurementRatioAverage; /** * 累计暂态超标监测点数占比 */ @ApiModelProperty(name = "eventMeasurementRatioAccrued", value = "累计暂态超标监测点数占比") - private Integer eventMeasurementRatioAccrued; + private Double eventMeasurementRatioAccrued; /** - * 暂态指标类型Id,字典表ID + * 暂态指标发生次数 */ - @ApiModelProperty(name = "eventType", value = "暂态指标类型Id,字典表ID") - private String eventType; - + @ApiModelProperty(name = "eventCount",value = "暂态指标发生次数") + private Integer eventCount; /** - * 日均发生暂态监测点数(根据 发生暂态监测点数 取平均值) + * 暂态指标发生频次 */ - @ApiModelProperty(name = "eEventMeasurementAverage",value = "日均发生暂态监测点数(根据 发生暂态监测点数 取平均值)") - private Integer eEventMeasurementAverage; - - /** - * 累计发生暂态监测点数(监测点暂态指标超标明细日表 - */ - @ApiModelProperty(name = "eEventMeasurementAccrued",value = "累计发生暂态监测点数(监测点暂态指标超标明细日表)") - private Integer eEventMeasurementAccrued; - /** - * 日均发生暂态监测点数占比(根据 日均发生暂态监测点数占比 取平均值) - */ - @ApiModelProperty(name = "eEventMeasurementRatioAverage",value = "日均发生暂态监测点数占比(根据 日均发生暂态监测点数占比 取平均值)") - private Double eEventMeasurementRatioAverage; - - /** - * 累计发生暂态监测点数占比(此表的累计发生暂态监测点数/区域统计表中的区域分类统计月表中的发生暂态的监测点数) - */ - @ApiModelProperty(name = "eEventMeasurementRatioAccrued",value = "累计发生暂态监测点数占比(此表的累计发生暂态监测点数/区域统计表中的区域分类统计月表中的发生暂态的监测点数)") - private Double eEventMeasurementRatioAccrued; - - /** - * 暂态指标发生频次(日表的暂态指标发生次数之和/日表的发生暂态监测点数之和) - */ - @ApiModelProperty(name = "eEventFreq",value = "暂态指标发生频次(日表的暂态指标发生次数之和/日表的发生暂态监测点数之和)") - private Double eEventFreq; - - /** - * 暂态指标发生次数(日表的暂态指标发生次数之和) - */ - @ApiModelProperty(name = "eEventCount",value = "暂态指标发生次数(日表的暂态指标发生次数之和)") - private Integer eEventCount; - - - - + @ApiModelProperty(name = "eventFreq",value = "暂态指标发生频次") + private Double eventFreq; /** * 日均短时中断 */ @ApiModelProperty(name = "dayShortInterruptions", value = "日均短时中断") private Integer dayShortInterruptions; - /** * 累计短时中断 */ @ApiModelProperty(name = "cumulativeShortInterruptions", value = "累计短时中断") private Integer cumulativeShortInterruptions; - /** * 日均短时中断占比 */ @ApiModelProperty(name = "dayShortInterruptionsProportion", value = "日均短时中断占比") private Double dayShortInterruptionsProportion; - /** * 累计短时中断占比 */ @ApiModelProperty(name = "cumulativeShortInterruptionsProportion", value = "累计暂态指标占比") private Double cumulativeShortInterruptionsProportion; - - /** - * 短时中断监测点数 - */ - @ApiModelProperty(name = "shortInterruptionsMonitor", value = "短时中断监测点数") - private Integer shortInterruptionsMonitor; - - /** - * 短时中断占比 - */ - @ApiModelProperty(name = "shortInterruptionsProportion",value = "短时中断占比") - private Double shortInterruptionsProportion; - - /** - * 短时中断次数 - */ - @ApiModelProperty(name = "shortInterruptionsCount", value = "短时中断次数") - private Integer shortInterruptionsCount; - /** * 短时中断频次 */ - @ApiModelProperty(name = "shortInterruptionsFrequency", value = "短时中断频次") - private Double shortInterruptionsFrequency; - + @ApiModelProperty(name = "shortInterruptionsFreq",value = "短时中断频次") + private Double shortInterruptionsFreq; + /** + * 短时中断次数 + */ + @ApiModelProperty(name = "shortInterruptionsCount",value = "短时中断次数") + private Integer shortInterruptionsCount; @@ -180,42 +133,31 @@ public class RStatEventOrgVO implements Serializable { */ @ApiModelProperty(name = "dayVoltageRise", value = "日均电压暂升") private Integer dayVoltageRise; - /** * 累计电压暂升 */ @ApiModelProperty(name = "cumulativeVoltageRise", value = "累计电压暂升") private Integer cumulativeVoltageRise; - /** * 日均电压暂升占比 */ @ApiModelProperty(name = "dayVoltageRiseProportion", value = "日均电压暂升占比") private Double dayVoltageRiseProportion; - /** * 累计电压暂升占比 */ @ApiModelProperty(name = "cumulativeVoltageRiseProportion", value = "累计电压暂升占比") private Double cumulativeVoltageRiseProportion; - - /** - * 电压暂升占比 - */ - @ApiModelProperty(name = "voltageRiseProportion",value = "电压暂升占比") - private Double voltageRiseProportion; - - /** - * 电压暂升次数 - */ - @ApiModelProperty(name = "voltageRiseCount", value = "电压暂升次数") - private Integer voltageRiseCount; - /** * 电压暂升频次 */ - @ApiModelProperty(name = "voltageRiseFrequency", value = "电压暂升频次") - private Double voltageRiseFrequency; + @ApiModelProperty(name = "voltageRiseFreq",value = "电压暂升频次") + private Double voltageRiseFreq; + /** + * 电压暂升次数 + */ + @ApiModelProperty(name = "voltageRiseCount",value = "电压暂升次数") + private Integer voltageRiseCount; @@ -226,43 +168,38 @@ public class RStatEventOrgVO implements Serializable { */ @ApiModelProperty(name = "dayVoltageDip", value = "日均电压暂降") private Integer dayVoltageDip; - /** * 累计电压暂降 */ @ApiModelProperty(name = "cumulativeVoltageDip", value = "累计电压暂降") private Integer cumulativeVoltageDip; - /** * 日均电压暂降占比 */ @ApiModelProperty(name = "dayVoltageDipProportion", value = "日均电压暂降占比") private Double dayVoltageDipProportion; - /** * 累计电压暂降占比 */ @ApiModelProperty(name = "cumulativeVoltageDipProportion", value = "累计电压暂降占比") private Double cumulativeVoltageDipProportion; - /** - * 电压暂降占比 + * 电压暂降频次 */ - @ApiModelProperty(name = "voltageDipProportion",value = "电压暂降占比") - private Double voltageDipProportion; - + @ApiModelProperty(name = "voltageDipFreq",value = "电压暂降频次") + private Double voltageDipFreq; /** * 电压暂降次数 */ - @ApiModelProperty(name = "voltageDipCount", value = "电压暂降次数") + @ApiModelProperty(name = "voltageDipCount",value = "电压暂降次数") private Integer voltageDipCount; /** - * 电压暂降频次 + * 数据类型(01:主网测点 02:配网测点) */ - @ApiModelProperty(name = "voltageDipFrequency", value = "电压暂降频次") - private Double voltageDipFrequency; + @ApiModelProperty(name = "dataType",value = "数据类型(01:主网测点 02:配网测点)") + private String dataType; } diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RStatOrgVO.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RStatOrgVO.java index f9bf3ee1d..76ac10486 100644 --- a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RStatOrgVO.java +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RStatOrgVO.java @@ -18,6 +18,7 @@ import java.util.Date; @ApiModel(value = "区域分类统计表(RStatOrgY)实体类") public class RStatOrgVO implements Serializable { private static final long serialVersionUID = 642166320324597986L; + /** * 单位ID */ @@ -30,11 +31,23 @@ public class RStatOrgVO implements Serializable { @ApiModelProperty(name = "orgName", value = "单位名称") private String orgName; + /** + * 监测点id + */ + @ApiModelProperty(name = "monitorId", value = "监测点id") + private String monitorId; + + /** + * 监测点类别 + */ + @ApiModelProperty(name = "monitorSort", value = "监测点类别") + private String monitorSort; + /** * 生成数据的时间 */ @ApiModelProperty(name = "dataDate", value = "生成数据的时间") - private String dataDate; + private Date dataDate; /** * 日均有效接入监测点数 @@ -64,13 +77,13 @@ public class RStatOrgVO implements Serializable { * 日均暂态超标监测点数占比 */ @ApiModelProperty(name = "eventMeasurementRatioAverage", value = "日均暂态超标监测点数占比") - private Integer eventMeasurementRatioAverage; + private Double eventMeasurementRatioAverage; /** * 累计暂态超标监测点数占比 */ @ApiModelProperty(name = "eventMeasurementRatioAccrued", value = "累计暂态超标监测点数占比") - private Integer eventMeasurementRatioAccrued; + private Double eventMeasurementRatioAccrued; /** * 暂态指标发生频次 @@ -84,4 +97,10 @@ public class RStatOrgVO implements Serializable { @ApiModelProperty(name = "eventCount", value = "暂态指标发生次数") private Integer eventCount; + /** + * 数据类型(01:主网测点 02:配网测点) + */ + @ApiModelProperty(name = "dataType",value = "数据类型(01:主网测点 02:配网测点)") + private String dataType; + } \ No newline at end of file diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RSubstationIcon2VO.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RSubstationIcon2VO.java new file mode 100644 index 000000000..1165498fc --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RSubstationIcon2VO.java @@ -0,0 +1,37 @@ +package com.njcn.event.pojo.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * + *

+ * + * @author rui.wu + * @since 2022-10-18 + */ +@Data +public class RSubstationIcon2VO { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "变电站id") + private String substationId; + + @ApiModelProperty(value = "变电站名称") + private String substationName; + + @ApiModelProperty(value = "短时中断发生频次") + private Float interruptFreq; + + @ApiModelProperty(value = "电压暂降发生频次") + private Float sagFreq; + + @ApiModelProperty(value = "电压暂升发生频次") + private Float swellFreq; + + +} diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RSubstationIconVO.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RSubstationIconVO.java new file mode 100644 index 000000000..e33a5a31c --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RSubstationIconVO.java @@ -0,0 +1,37 @@ +package com.njcn.event.pojo.vo; + +import lombok.Data; + +/** + * <功能描述> + * + * @author 1754607820@qq.com + * @createTime: 2022-10-18 + */ +@Data +public class RSubstationIconVO { + private static final long serialVersionUID = 1L; + + private String num1; + private String num2; + private String num3; + private String num4; + private String num5; + private String num6; + private String num7; + private String num8; + private String num9; + private String num10; + + private String upRatio1; + private String upRatio2; + private String upRatio3; + private String upRatio4; + private String upRatio5; + private String upRatio6; + private String upRatio7; + private String upRatio8; + private String upRatio9; + private String upRatio10; + +} diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RVoltageIconVO.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RVoltageIconVO.java new file mode 100644 index 000000000..d1d166f03 --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RVoltageIconVO.java @@ -0,0 +1,26 @@ +package com.njcn.event.pojo.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * <功能描述> + * + * @author 1754607820@qq.com + * @createTime: 2022-10-18 + */ +@Data +public class RVoltageIconVO { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "电压等级") + private String substationVoltage; + + @ApiModelProperty(value = "变电站数量") + private Integer substationCount; + + @ApiModelProperty(value = "稳态超标变电站数量") + private Integer harmonicCount; + +} diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RmpEventDetailVO.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RmpEventDetailVO.java index 31ed314d3..807863ea7 100644 --- a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RmpEventDetailVO.java +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/RmpEventDetailVO.java @@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; +import java.util.Date; /** * 监测点暂态事件明细数据(RMpEventDetail)实体类 @@ -48,6 +49,12 @@ public class RmpEventDetailVO implements Serializable { @ApiModelProperty(name = "measurementPointName",value = "监测点名称") private String measurementPointName; + /** + * 监测点类别 + */ + @ApiModelProperty(name = "monitorSort", value = "监测点类别") + private String monitorSort; + /** * 事件类型 */ @@ -64,7 +71,7 @@ public class RmpEventDetailVO implements Serializable { * 开始时间 */ @ApiModelProperty(name = "startTime",value = "开始时间") - private Long startTime; + private Date startTime; /** * 持续时间 diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/SimpleVO.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/SimpleVO.java new file mode 100644 index 000000000..26c49c1bb --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/vo/SimpleVO.java @@ -0,0 +1,18 @@ +package com.njcn.event.pojo.vo; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author yzh + * @date 2022/10/24 + */ +@Data +public class SimpleVO implements Serializable { + private static final long serialVersionUID = 1L; + + private String name; + + private Double value; +} \ No newline at end of file diff --git a/pqs-event/event-boot/pom.xml b/pqs-event/event-boot/pom.xml index 48aebdca0..b952705c6 100644 --- a/pqs-event/event-boot/pom.xml +++ b/pqs-event/event-boot/pom.xml @@ -65,6 +65,12 @@ common-echarts 1.0.0 + + + com.njcn + pms-device-api + 1.0.0 + diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/distribution/PwEventCategoryDetailsController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/distribution/PwEventCategoryDetailsController.java new file mode 100644 index 000000000..6d9b0fdf0 --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/distribution/PwEventCategoryDetailsController.java @@ -0,0 +1,102 @@ +package com.njcn.event.controller.distribution; + +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.param.StatisticsBizBaseParam; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.common.utils.HttpResultUtil; +import com.njcn.event.pojo.vo.EventDistributionStatisticsTableVO; +import com.njcn.event.pojo.vo.EventFeatureAmplitudeCurveVO; +import com.njcn.event.pojo.vo.SimpleVO; +import com.njcn.event.service.distribution.PwEventCategoryDetailsService; +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 yzh + * @date 2022/10/27 + */ +@RestController +@RequestMapping("/pwEventCategoryDetails") +@Api(tags = "配网-暂态事件分布统计") +@RequiredArgsConstructor +public class PwEventCategoryDetailsController extends BaseController { + + private final PwEventCategoryDetailsService pwEventCategoryDetailsService; + + /** + * 获取配网区域暂态指标统计 + * + * @param param 前端传入参数 + * @return 配网区域暂态指标统计 + */ + @PostMapping("/getPwEventCategoryDetails") + @OperateInfo(info = LogEnum.SYSTEM_COMMON) + @ApiOperation("获取配网暂态事件分布统计") + @ApiImplicitParam(name = "param", value = "条件参数", required = true) + public HttpResult> getPwEventCategoryDetails(@RequestBody StatisticsBizBaseParam param) { + String methodDescribe = getMethodDescribe("getPwEventCategoryDetails"); + List list = pwEventCategoryDetailsService.getPwEventCategoryDetails(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + + /** + * 获取配网持续时间概率分布函数 + * + * @param param 前端传入参数 + * @return 配网持续时间概率分布函数 + */ + @PostMapping("/getPwDurationLineChart") + @OperateInfo(info = LogEnum.SYSTEM_COMMON) + @ApiOperation("获取配网持续时间概率分布函数") + @ApiImplicitParam(name = "param", value = "条件参数", required = true) + public HttpResult> getPwDurationLineChart(@RequestBody StatisticsBizBaseParam param) { + String methodDescribe = getMethodDescribe("getPwDurationLineChart"); + List list = pwEventCategoryDetailsService.getPwDurationLineChart(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + + /** + * 获取配网暂降幅值概率分布函数 + * + * @param param 前端传入参数 + * @return 配网持续时间概率分布函数 + */ + @PostMapping("/getPwFeatureAmplitudeLineChart") + @OperateInfo(info = LogEnum.SYSTEM_COMMON) + @ApiOperation("获取配网暂降幅值概率分布函数") + @ApiImplicitParam(name = "param", value = "条件参数", required = true) + public HttpResult> getPwFeatureAmplitudeLineChart(@RequestBody StatisticsBizBaseParam param) { + String methodDescribe = getMethodDescribe("getPwFeatureAmplitudeLineChart"); + List list = pwEventCategoryDetailsService.getPwFeatureAmplitudeLineChart(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + + /** + * 获取配网暂态指标分布统计曲线图 + * + * @param param 前端传入参数 + * @return 配网持续时间概率分布函数 + */ + @PostMapping("/getPwEventFeatureAmplitudeCurve") + @OperateInfo(info = LogEnum.SYSTEM_COMMON) + @ApiOperation("获取配网暂态指标分布统计曲线图") + @ApiImplicitParam(name = "param", value = "条件参数", required = true) + public HttpResult getPwEventFeatureAmplitudeCurve(@RequestBody StatisticsBizBaseParam param) { + String methodDescribe = getMethodDescribe("getPwEventFeatureAmplitudeCurve"); + EventFeatureAmplitudeCurveVO vo = pwEventCategoryDetailsService.getPwEventFeatureAmplitudeCurve(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, vo, methodDescribe); + } +} diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/distribution/PwRStatEventController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/distribution/PwRStatEventController.java new file mode 100644 index 000000000..ce5cf7c2f --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/distribution/PwRStatEventController.java @@ -0,0 +1,88 @@ +package com.njcn.event.controller.distribution; + + +import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.constant.BizParamConstant; +import com.njcn.common.pojo.enums.common.LogEnum; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.param.StatisticsBizBaseParam; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.common.utils.HttpResultUtil; +import com.njcn.event.pojo.param.REventMParam; +import com.njcn.event.pojo.vo.RArrayVO; +import com.njcn.event.pojo.vo.REventPolylineVO; +import com.njcn.event.service.majornetwork.RStatEventMService; +import com.njcn.event.service.majornetwork.RStatEventQService; +import com.njcn.event.service.majornetwork.RStatEventYService; +import com.njcn.web.controller.BaseController; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + *

+ * 前端控制器 + *

+ * + * @author rui.wu + * @since 2022-10-09 + */ +@RestController +@RequiredArgsConstructor +@Api(tags = "配网指标分类概览-监测点分类总览") +@RequestMapping("/event/pwRStatHarmonic") +public class PwRStatEventController extends BaseController { + + private final RStatEventYService rStatEventYService; + private final RStatEventQService rStatEventQService; + private final RStatEventMService rStatEventMService; + + + /** + * 查询查询监测点稳态指标 日/月点数 + */ + @PostMapping("/getPwAllRStatEvent") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("查询暂态累计超标监测点数") + public HttpResult> getPwAllRStatEvent(@RequestBody StatisticsBizBaseParam param) { + String methodDescribe = getMethodDescribe("getPwAllRStatEvent"); + List rStatHarmonicMAll = null; + String string = param.getType().toString(); + switch (string) { + //查询超标监测点数-年数据 + case BizParamConstant.STAT_BIZ_YEAR: + rStatHarmonicMAll = rStatEventYService.getPwRStatEventYAll(param); + break; + //查询超标监测点数-季数据 + case BizParamConstant.STAT_BIZ_QUARTER: + rStatHarmonicMAll = rStatEventQService.getPwRStatEventQAll(param); + break; + //查询超标监测点数-月数据 + case BizParamConstant.STAT_BIZ_MONTH: + rStatHarmonicMAll = rStatEventMService.getPwRStatEventMAll(param); + break; + default: + break; + } + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rStatHarmonicMAll, methodDescribe); + } + + + /** + * 暂态监测点-频率偏差-电压统计图 + */ + @PostMapping("/getPwRStatHarmonicIconDate") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("暂态监测点-频率偏差-越线日期统计图") + public HttpResult> getPwRStatHarmonicIconDate(@RequestBody REventMParam param) { + String methodDescribe = getMethodDescribe("getPwRStatHarmonicIconDate"); + List rStatHarmonicIcon = rStatEventMService.getPwRStatHarmonicIcon2(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rStatHarmonicIcon, methodDescribe); + } + + +} + diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/distribution/PwRStatEventOrgController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/distribution/PwRStatEventOrgController.java new file mode 100644 index 000000000..6a634d508 --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/distribution/PwRStatEventOrgController.java @@ -0,0 +1,103 @@ +package com.njcn.event.controller.distribution; + + +import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.constant.BizParamConstant; +import com.njcn.common.pojo.enums.common.LogEnum; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.param.StatisticsBizBaseParam; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.common.utils.HttpResultUtil; +import com.njcn.event.pojo.param.REventMParam; +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.service.majornetwork.RStatEventOrgQService; +import com.njcn.event.service.majornetwork.RStatEventOrgYService; +import com.njcn.web.controller.BaseController; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + *

+ * 前端控制器 + *

+ * + * @author rui.wu + * @since 2022-10-09 + */ +@RestController +@RequiredArgsConstructor +@Api(tags = "配网指标分类概览-各单位分类总览") +@RequestMapping("/event/pwRStatHarmonic") +public class PwRStatEventOrgController extends BaseController { + + private final RStatEventOrgYService rStatEventOrgYService; + private final RStatEventOrgQService rStatEventOrgQService; + private final RStatEventOrgMService rStatEventOrgMService; + + + /** + * 查询查询监测点暂态指标 日/月点数 + */ + @PostMapping("/getPwAllRStatEventOrg") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("查询暂态累计超标监测点数") + public HttpResult> getPwAllRStatEventOrg(@RequestBody StatisticsBizBaseParam param) { + String methodDescribe = getMethodDescribe("getPwAllRStatEventOrg"); + List rStatHarmonicOrgAll = null; + String string = param.getType().toString(); + switch (string) { + //查询超标监测点数-年数据 + case BizParamConstant.STAT_BIZ_YEAR: + rStatHarmonicOrgAll = rStatEventOrgYService.getPwRStatEventOrgYAll(param); + break; + //查询超标监测点数-季数据 + case BizParamConstant.STAT_BIZ_QUARTER: + rStatHarmonicOrgAll = rStatEventOrgQService.getPwRStatEventOrgQAll(param); + break; + //查询超标监测点数-月数据 + case BizParamConstant.STAT_BIZ_MONTH: + rStatHarmonicOrgAll = rStatEventOrgMService.getPwRStatEventOrgMAll(param); + break; + default: + break; + } + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rStatHarmonicOrgAll, methodDescribe); + } + + /** + * 查询查询监测点稳态指标 日/月点数 + */ + @PostMapping("/getPwAllRStatEventOrgIcon") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("查询暂态各单位超标监测统计图") + public HttpResult> getPwAllRStatEventOrgIcon(@RequestBody REventMParam param) { + String methodDescribe = getMethodDescribe("getPwAllRStatEventOrgIcon"); + List orgList = null; + String string = param.getType().toString(); + switch (string) { + //查询各单位累计超标监测点数统计图-年数据 + case BizParamConstant.STAT_BIZ_YEAR: + orgList = rStatEventOrgYService.getPwRStatHarmonicOrgYIcon(param); + break; + //查询各单位累计超标监测点数-季数据 + case BizParamConstant.STAT_BIZ_QUARTER: + orgList = rStatEventOrgQService.getPwRStatHarmonicOrgQIcon(param); + break; + //查询各单位累计超标监测点数-月数据 + case BizParamConstant.STAT_BIZ_MONTH: + orgList = rStatEventOrgMService.getPwRStatHarmonicOrgMIcon(param); + break; + default: + break; + } + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, orgList, methodDescribe); + } + +} + diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/distribution/PwRStatOrgController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/distribution/PwRStatOrgController.java new file mode 100644 index 000000000..022106799 --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/distribution/PwRStatOrgController.java @@ -0,0 +1,70 @@ +package com.njcn.event.controller.distribution; + +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.event.pojo.param.PwUniversalFrontEndParam; +import com.njcn.event.pojo.vo.RStatEventOrgVO; +import com.njcn.event.pojo.vo.RStatOrgVO; +import com.njcn.event.service.distribution.PwRStatOrgService; +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 yzh + * @date 2022/10/24 + */ +@RestController +@RequestMapping("/pwRStatOrg") +@Api(tags = "配网-暂态事件统计") +@RequiredArgsConstructor +public class PwRStatOrgController extends BaseController { + + private final PwRStatOrgService pwRStatOrgService; + + /** + * 获取配网区域暂态事件统计 + * + * @param param 前端传入参数 + * @return 配网区域暂态指标统计 + */ + @PostMapping("/getPwRStatOrg") + @OperateInfo(info = LogEnum.SYSTEM_COMMON) + @ApiOperation("获取配网区域暂态事件统计") + @ApiImplicitParam(name = "param", value = "条件参数", required = true) + public HttpResult> getPwRStatOrg(@RequestBody PwUniversalFrontEndParam param) { + String methodDescribe = getMethodDescribe("getPwRStatOrg"); + List list = pwRStatOrgService.getPwRStatOrg(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + + /** + * 获取配网区域暂态事件分类统计 + * + * @param param 前端传入参数 + * @return 配网区域暂态指标统计 + */ + @PostMapping("/getPwRStatOrgClassified") + @OperateInfo(info = LogEnum.SYSTEM_COMMON) + @ApiOperation("获取配网区域暂态事件分类统计") + @ApiImplicitParam(name = "param", value = "条件参数", required = true) + public HttpResult> getPwRStatOrgClassified(@RequestBody PwUniversalFrontEndParam param) { + String methodDescribe = getMethodDescribe("getPwRStatOrgClassified"); + List list = pwRStatOrgService.getPwRStatOrgClassified(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + +} diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/distribution/PwRmpEventDetailController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/distribution/PwRmpEventDetailController.java new file mode 100644 index 000000000..022dd5a34 --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/distribution/PwRmpEventDetailController.java @@ -0,0 +1,52 @@ +package com.njcn.event.controller.distribution; + +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.event.pojo.param.UniversalFrontEndParam; +import com.njcn.event.pojo.vo.PwRmpEventDetailVO; +import com.njcn.event.service.distribution.PwRmpEventDetailService; +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 yzh + * @date 2022/10/31 + */ +@RestController +@RequestMapping("/pwEventCategoryDetails") +@Api(tags = "配网-暂态事件明细") +@RequiredArgsConstructor +public class PwRmpEventDetailController extends BaseController { + + private final PwRmpEventDetailService pwRmpEventDetailService; + + /** + * 获取配网暂态事件明细 + * + * @param param 前端传入参数 + * @return 暂态事件明细 + */ + @PostMapping("/getPwRmpEventDetail") + @OperateInfo(info = LogEnum.SYSTEM_COMMON) + @ApiOperation("获取暂态事件明细") + @ApiImplicitParam(name = "param", value = "条件参数", required = true) + public HttpResult> getPwRmpEventDetail(@RequestBody UniversalFrontEndParam param) { + String methodDescribe = getMethodDescribe("getPwRmpEventDetail"); + List list = pwRmpEventDetailService.getPwRmpEventDetail(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } +} diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/AdvancedAnalysisController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/AdvancedAnalysisController.java similarity index 90% rename from pqs-event/event-boot/src/main/java/com/njcn/event/controller/AdvancedAnalysisController.java rename to pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/AdvancedAnalysisController.java index a8af6c08a..07141d478 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/AdvancedAnalysisController.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/AdvancedAnalysisController.java @@ -1,4 +1,4 @@ -package com.njcn.event.controller; +package com.njcn.event.controller.majornetwork; import io.swagger.annotations.Api; import lombok.AllArgsConstructor; diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/AreaAnalysisController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/AreaAnalysisController.java similarity index 96% rename from pqs-event/event-boot/src/main/java/com/njcn/event/controller/AreaAnalysisController.java rename to pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/AreaAnalysisController.java index 0f830458b..52c0d9369 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/AreaAnalysisController.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/AreaAnalysisController.java @@ -1,4 +1,4 @@ -package com.njcn.event.controller; +package com.njcn.event.controller.majornetwork; import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.enums.common.LogEnum; @@ -8,7 +8,7 @@ import com.njcn.common.utils.HttpResultUtil; import com.njcn.device.pq.pojo.param.DeviceInfoParam; import com.njcn.event.pojo.vo.AreaAnalysisVO; import com.njcn.event.pojo.vo.VoltageToleranceCurveVO; -import com.njcn.event.service.AreaAnalysisService; +import com.njcn.event.service.majornetwork.AreaAnalysisService; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/AreaController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/AreaController.java similarity index 97% rename from pqs-event/event-boot/src/main/java/com/njcn/event/controller/AreaController.java rename to pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/AreaController.java index f236e216b..d0841b5f3 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/AreaController.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/AreaController.java @@ -1,4 +1,4 @@ -package com.njcn.event.controller; +package com.njcn.event.controller.majornetwork; import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.enums.common.LogEnum; @@ -11,7 +11,7 @@ import com.njcn.event.pojo.vo.AreaLineVO; import com.njcn.event.pojo.vo.EventHeatMapVO; import com.njcn.event.pojo.vo.EventSeverityVO; import com.njcn.event.pojo.vo.TerminalRunningStatisticsVO; -import com.njcn.event.service.AreaLineService; +import com.njcn.event.service.majornetwork.AreaLineService; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/AreaStatisticalController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/AreaStatisticalController.java similarity index 94% rename from pqs-event/event-boot/src/main/java/com/njcn/event/controller/AreaStatisticalController.java rename to pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/AreaStatisticalController.java index 73905028d..a61ec9763 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/AreaStatisticalController.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/AreaStatisticalController.java @@ -1,4 +1,4 @@ -package com.njcn.event.controller; +package com.njcn.event.controller.majornetwork; import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.enums.common.LogEnum; @@ -7,7 +7,7 @@ import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.device.pq.pojo.param.DeviceInfoParam; import com.njcn.event.pojo.vo.AreaStatisticalVO; -import com.njcn.event.service.AreaStatisticalService; +import com.njcn.event.service.majornetwork.AreaStatisticalService; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/EventDetailController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/EventDetailController.java similarity index 95% rename from pqs-event/event-boot/src/main/java/com/njcn/event/controller/EventDetailController.java rename to pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/EventDetailController.java index 508e9cfb8..834e13b49 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/EventDetailController.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/EventDetailController.java @@ -1,4 +1,4 @@ -package com.njcn.event.controller; +package com.njcn.event.controller.majornetwork; import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.enums.common.LogEnum; @@ -7,7 +7,7 @@ import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.common.utils.LogUtil; import com.njcn.event.pojo.po.EventDetail; -import com.njcn.event.service.EventDetailService; +import com.njcn.event.service.majornetwork.EventDetailService; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -18,6 +18,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.util.ArrayList; import java.util.List; /** @@ -95,7 +96,7 @@ public class EventDetailController extends BaseController { public HttpResult> getEventDetail(@RequestBody List lineIndexes, @RequestParam("startTime") String startTime, @RequestParam("endTime") String endTime) { String methodDescribe = getMethodDescribe("getEventDetail"); LogUtil.njcnDebug(log, "{},监测点id为:{}", methodDescribe, lineIndexes); - List result = eventDetailService.getEventDetail(lineIndexes, startTime, endTime); + List result = eventDetailService.getEventDetail(lineIndexes, startTime, endTime, new ArrayList<>()); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } @@ -119,7 +120,7 @@ public class EventDetailController extends BaseController { public HttpResult> getEventDetailLimit(@RequestBody List lineIndexes, @RequestParam("startTime") String startTime, @RequestParam("endTime") String endTime, @RequestParam("pageSize") Integer pageSize, @RequestParam("pageNum") Integer pageNum) { String methodDescribe = getMethodDescribe("getEventDetailLimit"); LogUtil.njcnDebug(log, "{},监测点id为:{}", methodDescribe, lineIndexes); - List result = eventDetailService.getEventDetailLimit(lineIndexes, startTime, endTime, pageSize, pageNum); + List result = eventDetailService.getEventDetailLimit(lineIndexes, startTime, endTime, pageSize, pageNum, new ArrayList<>()); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/EventDistributionStatisticsController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/EventDistributionStatisticsController.java new file mode 100644 index 000000000..c070da2d3 --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/EventDistributionStatisticsController.java @@ -0,0 +1,103 @@ +package com.njcn.event.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.param.StatisticsBizBaseParam; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.common.utils.HttpResultUtil; +import com.njcn.event.pojo.vo.EventDistributionStatisticsTableVO; +import com.njcn.event.pojo.vo.EventFeatureAmplitudeCurveVO; +import com.njcn.event.pojo.vo.SimpleVO; +import com.njcn.event.service.majornetwork.EventDistributionStatisticsService; +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 yzh + * @date 2022/10/20 + */ + +@RestController +@RequestMapping("/eventDistributionStatistics") +@Api(tags = "主网-暂态指标分布统计") +@RequiredArgsConstructor +public class EventDistributionStatisticsController extends BaseController { + + private final EventDistributionStatisticsService eventDistributionStatisticsService; + + /** + * 获取暂态指标分布统计表格 + * + * @param param 前端传入参数 + * @return 暂态指标分布统计 + */ + @PostMapping("/getEventDistributionStatisticsTable") + @OperateInfo(info = LogEnum.SYSTEM_COMMON) + @ApiOperation("获取暂态指标分布统计表格") + @ApiImplicitParam(name = "param", value = "条件参数", required = true) + public HttpResult> getEventDistributionStatisticsTable(@RequestBody StatisticsBizBaseParam param) { + String methodDescribe = getMethodDescribe("getEventDistributionStatisticsTable"); + List eventDistributionStatisticsVO = eventDistributionStatisticsService.getEventDistributionStatisticsTable(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, eventDistributionStatisticsVO, methodDescribe); + } + + /** + * 获取持续时间折线图 + * + * @param param 前端传入参数 + * @return 持续时间折线图 + */ + @PostMapping("/getEventDurationLineChart") + @OperateInfo(info = LogEnum.SYSTEM_COMMON) + @ApiOperation("获取持续时间折线图") + @ApiImplicitParam(name = "param", value = "条件参数", required = true) + public HttpResult> getEventDurationLineChart(@RequestBody StatisticsBizBaseParam param) { + String methodDescribe = getMethodDescribe("getEventDurationLineChart"); + List list = eventDistributionStatisticsService.getEventDurationLineChart(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + + /** + * 获取特征幅值折线图 + * + * @param param 前端传入参数 + * @return 特征幅值折线图 + */ + @PostMapping("/getEventFeatureAmplitudeLineChart") + @OperateInfo(info = LogEnum.SYSTEM_COMMON) + @ApiOperation("获取特征幅值折线图") + @ApiImplicitParam(name = "param", value = "条件参数", required = true) + public HttpResult> getEventFeatureAmplitudeLineChart(@RequestBody StatisticsBizBaseParam param) { + String methodDescribe = getMethodDescribe("getEventFeatureAmplitudeLineChart"); + List list = eventDistributionStatisticsService.getEventFeatureAmplitudeLineChart(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + + /** + * 获取暂态指标分布统计曲线图 + * + * @param param 前端传入参数 + * @return 暂态指标分布统计曲线图 + */ + @PostMapping("/getEventFeatureAmplitudeCurve") + @OperateInfo(info = LogEnum.SYSTEM_COMMON) + @ApiOperation("获取暂态指标分布统计曲线图") + @ApiImplicitParam(name = "param", value = "条件参数", required = true) + public HttpResult getEventFeatureAmplitudeCurve(@RequestBody StatisticsBizBaseParam param) { + String methodDescribe = getMethodDescribe("getEventFeatureAmplitudeCurve"); + EventFeatureAmplitudeCurveVO curve = eventDistributionStatisticsService.getEventFeatureAmplitudeCurve(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, curve, methodDescribe); + } +} diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/EventMonitorReportController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/EventMonitorReportController.java new file mode 100644 index 000000000..afba8895c --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/EventMonitorReportController.java @@ -0,0 +1,66 @@ +package com.njcn.event.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.event.pojo.param.EventMonitorReportParam; +import com.njcn.event.pojo.vo.EventDipShortDistributionVO; +import com.njcn.event.pojo.vo.EventMonitorReportVO; +import com.njcn.event.pojo.vo.EventRiseDistributionVO; +import com.njcn.event.service.majornetwork.EventMonitorReportService; +import com.njcn.web.controller.BaseController; +import io.swagger.annotations.Api; +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; + +/** + * 暂态指标监测点统计报表 + * @Title EventMonitorDailyReportController + * @Package com.njcn.event.controller + * @Author jianghaifei + * @Date 2022-10-25 09:36 + * @Version V1.0 + */ +@RestController +@RequestMapping("/eventMonitorReport") +@Api(tags = "主网-暂态指标统计报表") +@RequiredArgsConstructor +public class EventMonitorReportController extends BaseController { + + private final EventMonitorReportService eventMonitorReportService; + + @PostMapping("getDailyReport") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("暂态指标监测点日报") + public HttpResult> getDailyReport(@RequestBody EventMonitorReportParam eventMonitorReportParam) { + String methodDescribe = getMethodDescribe("getDailyReport"); + List list = eventMonitorReportService.getDailyReport(eventMonitorReportParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + + @PostMapping("getEventDipShortDistribution") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("暂态指标监测点电压暂降和短时中断分布情况") + public HttpResult getEventDipShortDistribution(@RequestBody EventMonitorReportParam eventMonitorReportParam) { + String methodDescribe = getMethodDescribe("getEventDipShortDistribution"); + EventDipShortDistributionVO eventDipShortDistributionVO = eventMonitorReportService.getEventDipShortDistributionByCond(eventMonitorReportParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, eventDipShortDistributionVO, methodDescribe); + } + + @PostMapping("getEventRiseDistribution") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("暂态指标监测点电压暂升分布情况") + public HttpResult getEventRiseDistribution(@RequestBody EventMonitorReportParam eventMonitorReportParam) { + String methodDescribe = getMethodDescribe("getEventRiseDistribution"); + EventRiseDistributionVO eventRiseDistributionVO = eventMonitorReportService.getEventRiseDistributionByCond(eventMonitorReportParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, eventRiseDistributionVO, methodDescribe); + } +} diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/MonitorPointController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/MonitorPointController.java similarity index 98% rename from pqs-event/event-boot/src/main/java/com/njcn/event/controller/MonitorPointController.java rename to pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/MonitorPointController.java index ec2192049..128bea687 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/MonitorPointController.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/MonitorPointController.java @@ -1,4 +1,4 @@ -package com.njcn.event.controller; +package com.njcn.event.controller.majornetwork; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.common.pojo.annotation.OperateInfo; @@ -11,10 +11,9 @@ import com.njcn.common.utils.HttpResultUtil; import com.njcn.event.pojo.param.*; import com.njcn.event.pojo.po.EventDetail; import com.njcn.event.pojo.vo.*; -import com.njcn.event.service.EventAnalysisService; +import com.njcn.event.service.majornetwork.EventAnalysisService; import com.njcn.web.controller.BaseController; import io.swagger.annotations.*; -import lombok.AllArgsConstructor; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/RStatEventMController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/RStatEventMController.java new file mode 100644 index 000000000..d599829e5 --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/RStatEventMController.java @@ -0,0 +1,101 @@ +package com.njcn.event.controller.majornetwork; + + +import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.constant.BizParamConstant; +import com.njcn.common.pojo.enums.common.LogEnum; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.param.StatisticsBizBaseParam; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.common.utils.HttpResultUtil; +import com.njcn.event.pojo.param.REventMParam; +import com.njcn.event.pojo.vo.*; +import com.njcn.event.service.majornetwork.RStatEventMService; +import com.njcn.event.service.majornetwork.RStatEventQService; +import com.njcn.event.service.majornetwork.RStatEventYService; +import com.njcn.web.controller.BaseController; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + *

+ * 前端控制器 + *

+ * + * @author rui.wu + * @since 2022-10-09 + */ +@RestController +@RequiredArgsConstructor +@Api(tags = "主网指标分类概览-监测点分类总览") +@RequestMapping("/event/rStatHarmonic") +public class RStatEventMController extends BaseController { + + private final RStatEventYService rStatEventYService; + private final RStatEventQService rStatEventQService; + private final RStatEventMService rStatEventMService; + + + /** + * 查询查询监测点稳态指标 日/月点数 + */ + @GetMapping("/getAllRStatEvent") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("查询暂态累计超标监测点数") + public HttpResult> getAllRStatEventM(StatisticsBizBaseParam param) { + String methodDescribe = getMethodDescribe("getAllRStatHarmonic"); + List rStatHarmonicMAll = null; + String string = param.getType().toString(); + switch (string) { + //查询超标监测点数-年数据 + case BizParamConstant.STAT_BIZ_YEAR: + rStatHarmonicMAll = rStatEventYService.getRStatEventYAll(param); + break; + //查询超标监测点数-季数据 + case BizParamConstant.STAT_BIZ_QUARTER: + rStatHarmonicMAll = rStatEventQService.getRStatEventQAll(param); + break; + //查询超标监测点数-月数据 + case BizParamConstant.STAT_BIZ_MONTH: + rStatHarmonicMAll = rStatEventMService.getRStatEventMAll(param); + break; + default: + break; + } + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rStatHarmonicMAll, methodDescribe); + } + + /** + * 暂态按电压等级统计图 + */ + @GetMapping("/getRStatHarmonicIconVoltage") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("暂态电铁-频率偏差-电压统计图") + public HttpResult> getRStatEventIcon1(REventMParam param) { + String methodDescribe = getMethodDescribe("getRStatHarmonicIconVoltage"); + List rStatHarmonicIcon = rStatEventMService.getRStatHarmonicIcon(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rStatHarmonicIcon, methodDescribe); + } + + + /** + * 暂态电铁-频率偏差-电压统计图 + */ + @GetMapping("/getRStatHarmonicIconDate") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("暂态电铁-频率偏差-越线日期统计图") + public HttpResult> getRStatEventIcon2(REventMParam param) { + String methodDescribe = getMethodDescribe("getRStatHarmonicIconDate"); + List rStatHarmonicIcon = rStatEventMService.getRStatHarmonicIcon2(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rStatHarmonicIcon, methodDescribe); + } + + +} + diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/RStatEventOrgMController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/RStatEventOrgMController.java new file mode 100644 index 000000000..ddc5d5e44 --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/RStatEventOrgMController.java @@ -0,0 +1,106 @@ +package com.njcn.event.controller.majornetwork; + + +import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.constant.BizParamConstant; +import com.njcn.common.pojo.enums.common.LogEnum; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.param.StatisticsBizBaseParam; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.common.utils.HttpResultUtil; +import com.njcn.event.pojo.param.REventMParam; +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.service.majornetwork.RStatEventOrgQService; +import com.njcn.event.service.majornetwork.RStatEventOrgYService; +import com.njcn.web.controller.BaseController; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + *

+ * 前端控制器 + *

+ * + * @author rui.wu + * @since 2022-10-09 + */ +@RestController +@RequiredArgsConstructor +@Api(tags = "主网指标分类概览-各单位分类总览") +@RequestMapping("/event/rStatHarmonic") +public class RStatEventOrgMController extends BaseController { + + private final RStatEventOrgYService rStatEventOrgYService; + private final RStatEventOrgQService rStatEventOrgQService; + private final RStatEventOrgMService rStatEventOrgMService; + + + /** + * 查询查询监测点暂态指标 日/月点数 + */ + @GetMapping("/getAllRStatEventOrg") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("查询暂态累计超标监测点数") + public HttpResult> getAllRStatEventOrg(StatisticsBizBaseParam param) { + String methodDescribe = getMethodDescribe("getAllRStatEventOrg"); + List rStatHarmonicOrgAll = null; + String string = param.getType().toString(); + switch (string) { + //查询超标监测点数-年数据 + case BizParamConstant.STAT_BIZ_YEAR: + rStatHarmonicOrgAll = rStatEventOrgYService.getRStatEventOrgYAll(param); + break; + //查询超标监测点数-季数据 + case BizParamConstant.STAT_BIZ_QUARTER: + rStatHarmonicOrgAll = rStatEventOrgQService.getRStatEventOrgQAll(param); + break; + //查询超标监测点数-月数据 + case BizParamConstant.STAT_BIZ_MONTH: + rStatHarmonicOrgAll = rStatEventOrgMService.getRStatEventOrgMAll(param); + break; + default: + break; + } + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rStatHarmonicOrgAll, methodDescribe); + } + + /** + * 查询查询监测点稳态指标 日/月点数 + */ + @GetMapping("/getAllRStatEventOrgIcon") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("查询暂态各单位超标监测统计图") + public HttpResult> getAllRStatEventOrgIcon(REventMParam param) { + String methodDescribe = getMethodDescribe("getAllRStatEventOrgIcon"); + List getAllRStatEventOrgIcon = null; + String string = param.getType().toString(); + switch (string) { + //查询各单位累计超标监测点数统计图-年数据 + case BizParamConstant.STAT_BIZ_YEAR: + getAllRStatEventOrgIcon = rStatEventOrgYService.getRStatHarmonicOrgYIcon(param); + break; + //查询各单位累计超标监测点数-季数据 + case BizParamConstant.STAT_BIZ_QUARTER: + getAllRStatEventOrgIcon = rStatEventOrgQService.getRStatHarmonicOrgQIcon(param); + break; + //查询各单位累计超标监测点数-月数据 + case BizParamConstant.STAT_BIZ_MONTH: + getAllRStatEventOrgIcon = rStatEventOrgMService.getRStatHarmonicOrgMIcon(param); + break; + default: + break; + } + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, getAllRStatEventOrgIcon, methodDescribe); + } + + +} + diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/RStatSubstationMController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/RStatSubstationMController.java new file mode 100644 index 000000000..72ee55ba3 --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/RStatSubstationMController.java @@ -0,0 +1,80 @@ +package com.njcn.event.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.param.StatisticsBizBaseParam; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.common.utils.HttpResultUtil; +import com.njcn.event.pojo.vo.RSubstationIcon2VO; +import com.njcn.event.pojo.vo.RSubstationIconVO; +import com.njcn.event.pojo.vo.RVoltageIconVO; +import com.njcn.event.service.majornetwork.RStatSubstationMService; +import com.njcn.event.service.majornetwork.RStatSubstationVoltageMService; +import com.njcn.web.controller.BaseController; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + + +/** + *

+ * 前端控制器 + *

+ * + * @author rui.wu + * @since 2022-10-18 + */ +@RestController +@RequiredArgsConstructor +@Api(tags = "主网指标分类概览-变电站分类总览") +@RequestMapping("/event/rStatSubstation") +public class RStatSubstationMController extends BaseController { + + private final RStatSubstationMService rStatSubstationMService; + private final RStatSubstationVoltageMService rStatSubstationVoltageMService; + + /** + * 变电站暂态指标超标分布(按发生频次) + */ + @GetMapping("/getStatSubstationIconDistributed") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("变电站暂态分布(按发生频次)") + public HttpResult getAllRStatSubstation(StatisticsBizBaseParam param) { + String methodDescribe = getMethodDescribe("getStatSubstationIconDistributed"); + RSubstationIconVO statSubstationIcon = rStatSubstationMService.getStatSubstationIcon(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, statSubstationIcon, methodDescribe); + } + + /** + * 变电站暂态分布(按电压等级) + */ + @GetMapping("/getStatSubstationIconVoltage") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("变电站暂态分布(按电压等级)") + public HttpResult> getAllRStatSubstationIcon2(StatisticsBizBaseParam param) { + String methodDescribe = getMethodDescribe("getStatSubstationIconVoltage"); + List statSubstationIcon = rStatSubstationVoltageMService.getStatSubstationIcon(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, statSubstationIcon, methodDescribe); + } + + + /** + * 变电站暂态指标发生频次 + */ + @GetMapping("/getStatSubstationIconIndex") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("变电站暂态指标发生频次") + public HttpResult> getAllRStatSubstationIcon3(StatisticsBizBaseParam param) { + String methodDescribe = getMethodDescribe("getStatSubstationIconIndex"); + List statSubstationIcon = rStatSubstationMService.getStatSubstationIcon2(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, statSubstationIcon, methodDescribe); + } +} + diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/ReportController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/ReportController.java similarity index 94% rename from pqs-event/event-boot/src/main/java/com/njcn/event/controller/ReportController.java rename to pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/ReportController.java index 14334d670..05b15f430 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/ReportController.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/ReportController.java @@ -1,21 +1,18 @@ -package com.njcn.event.controller; +package com.njcn.event.controller.majornetwork; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.common.pojo.annotation.OperateInfo; -import com.njcn.common.pojo.dto.SimpleDTO; import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; -import com.njcn.device.pq.api.GeneralDeviceInfoClient; import com.njcn.device.pq.pojo.param.DeviceInfoParam; import com.njcn.event.pojo.param.*; import com.njcn.event.pojo.vo.DetailVO; import com.njcn.event.pojo.vo.GeneralVO; import com.njcn.event.pojo.vo.ReasonsVO; import com.njcn.event.pojo.vo.WaveTypeVO; -import com.njcn.event.service.ReportService; -import com.njcn.poi.util.PoiUtil; +import com.njcn.event.service.majornetwork.ReportService; import com.njcn.web.controller.BaseController; import freemarker.template.TemplateException; import io.swagger.annotations.Api; @@ -23,22 +20,13 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.apache.poi.hssf.usermodel.*; import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.ss.usermodel.ClientAnchor; -import org.apache.poi.ss.usermodel.HorizontalAlignment; -import org.apache.poi.ss.usermodel.VerticalAlignment; -import org.apache.poi.ss.util.CellRangeAddress; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; -import java.awt.*; -import java.io.ByteArrayOutputStream; -import java.io.FileOutputStream; import java.io.IOException; import java.text.ParseException; -import java.util.*; import java.util.List; /** diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/RmpEventDetailController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/RmpEventDetailController.java similarity index 53% rename from pqs-event/event-boot/src/main/java/com/njcn/event/controller/RmpEventDetailController.java rename to pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/RmpEventDetailController.java index 0cf1285b0..9a52a775c 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/RmpEventDetailController.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/RmpEventDetailController.java @@ -1,6 +1,6 @@ -package com.njcn.event.controller; - +package com.njcn.event.controller.majornetwork; +import cn.hutool.core.collection.CollectionUtil; import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; @@ -8,20 +8,19 @@ import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.event.pojo.param.UniversalFrontEndParam; import com.njcn.event.pojo.vo.RmpEventDetailVO; -import com.njcn.event.service.RmpEventDetailService; +import com.njcn.event.service.majornetwork.RmpEventDetailService; +import com.njcn.system.pojo.po.DictData; 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 org.springframework.web.bind.annotation.*; import java.util.List; /** - * 暂态事件明细 + * 主网-暂态事件明细 * * @author yzh * @date 2022/10/12 @@ -29,7 +28,7 @@ import java.util.List; @RestController @RequestMapping("/rmpEventDetail") -@Api(tags = "暂态事件明细") +@Api(tags = "主网-暂态事件明细") @RequiredArgsConstructor public class RmpEventDetailController extends BaseController { @@ -43,11 +42,31 @@ public class RmpEventDetailController extends BaseController { */ @PostMapping("/getDetailsOfTransientEvents") @OperateInfo(info = LogEnum.SYSTEM_COMMON) - @ApiOperation("获取区域暂态指标统计") -// @ApiImplicitParam(name = "UniversalFrontEndParam", value = "前端参数", required = true) + @ApiOperation("获取暂态事件明细") + @ApiImplicitParam(name = "param", value = "条件参数", required = true) public HttpResult> getRmpEventDetail(@RequestBody UniversalFrontEndParam param) { String methodDescribe = getMethodDescribe("getRmpEventDetail"); List list = rmpEventDetailService.getRmpEventDetail(param); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); } + + + /** + * 获取暂态指标类型列表 + * + * @return 暂态指标类型列表 + */ + @GetMapping("/getEventStatisList") + @OperateInfo(info = LogEnum.SYSTEM_COMMON) + @ApiOperation("获取暂态指标类型列表") + public HttpResult> getEventStatisList() { + String methodDescribe = getMethodDescribe("getEventStatisList"); + List list = rmpEventDetailService.getEventStatisList(); + if (CollectionUtil.isEmpty(list)) { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.NO_DATA, null, methodDescribe); + } else { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + } + } diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/StatisticsOfTransientIndicatorsController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/StatisticsOfTransientIndicatorsController.java similarity index 87% rename from pqs-event/event-boot/src/main/java/com/njcn/event/controller/StatisticsOfTransientIndicatorsController.java rename to pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/StatisticsOfTransientIndicatorsController.java index 03ee50942..9f2b7196a 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/StatisticsOfTransientIndicatorsController.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/StatisticsOfTransientIndicatorsController.java @@ -1,4 +1,4 @@ -package com.njcn.event.controller; +package com.njcn.event.controller.majornetwork; import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.enums.common.LogEnum; @@ -9,9 +9,10 @@ import com.njcn.event.pojo.param.UniversalFrontEndParam; import com.njcn.event.pojo.vo.RStatEventOrgVO; import com.njcn.event.pojo.vo.RStatOrgVO; import com.njcn.event.pojo.vo.RStatSubstationVO; -import com.njcn.event.service.StatisticsOfTransientIndicatorssService; +import com.njcn.event.service.majornetwork.StatisticsOfTransientIndicatorssService; 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; @@ -22,7 +23,7 @@ import org.springframework.web.bind.annotation.RestController; import java.util.List; /** - * 暂态指标统计 + * 主网-暂态指标统计 * * @author yzh * @date 2022/10/10 @@ -30,7 +31,7 @@ import java.util.List; @RestController @RequestMapping("/statisticsOfTransientIndicators") -@Api(tags = "暂态指标统计") +@Api(tags = "主网-暂态指标统计") @RequiredArgsConstructor public class StatisticsOfTransientIndicatorsController extends BaseController { @@ -45,7 +46,7 @@ public class StatisticsOfTransientIndicatorsController extends BaseController { @PostMapping("/getRStatOrg") @OperateInfo(info = LogEnum.SYSTEM_COMMON) @ApiOperation("获取区域暂态指标统计") -// @ApiImplicitParam(name = "UniversalFrontEndParam", value = "前端参数", required = true) + @ApiImplicitParam(name = "param", value = "条件参数", required = true) public HttpResult> getRStatOrg(@RequestBody UniversalFrontEndParam param) { String methodDescribe = getMethodDescribe("getRStatOrg"); List list = statisticsOfTransientIndicatorssService.getRStatOrg(param); @@ -61,7 +62,7 @@ public class StatisticsOfTransientIndicatorsController extends BaseController { @PostMapping("/getRStatEventOrg") @OperateInfo(info = LogEnum.SYSTEM_COMMON) @ApiOperation("获取区域暂态指标分类统计表") -// @ApiImplicitParam(name = "UniversalFrontEndParam", value = "前端参数", required = true) + @ApiImplicitParam(name = "param", value = "条件参数", required = true) public HttpResult> getRStatEventOrg(@RequestBody UniversalFrontEndParam param) { String methodDescribe = getMethodDescribe("getRStatEventOrg"); List list = statisticsOfTransientIndicatorssService.getRStatEventOrg(param); @@ -78,7 +79,7 @@ public class StatisticsOfTransientIndicatorsController extends BaseController { @PostMapping("/getRStatSubstation") @OperateInfo(info = LogEnum.SYSTEM_COMMON) @ApiOperation("获取变电站暂态指标分类统计表") -// @ApiImplicitParam(name = "UniversalFrontEndParam", value = "前端参数", required = true) + @ApiImplicitParam(name = "param", value = "条件参数", required = true) public HttpResult> getRStatSubstation(@RequestBody UniversalFrontEndParam param) { String methodDescribe = getMethodDescribe("getRStatSubstation"); List list = statisticsOfTransientIndicatorssService.getRStatSubstation(param); diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/TransientController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/TransientController.java similarity index 97% rename from pqs-event/event-boot/src/main/java/com/njcn/event/controller/TransientController.java rename to pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/TransientController.java index 6e6015d9d..da7446b5f 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/TransientController.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/TransientController.java @@ -1,4 +1,4 @@ -package com.njcn.event.controller; +package com.njcn.event.controller.majornetwork; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.common.pojo.annotation.OperateInfo; @@ -12,7 +12,7 @@ import com.njcn.event.pojo.param.TransientParam; import com.njcn.event.pojo.param.WaveFileParam; import com.njcn.event.pojo.po.EventDetailNew; import com.njcn.event.pojo.vo.TransientVO; -import com.njcn.event.service.TransientService; +import com.njcn.event.service.majornetwork.TransientService; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/area/AreaInfoController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/area/AreaInfoController.java similarity index 96% rename from pqs-event/event-boot/src/main/java/com/njcn/event/controller/area/AreaInfoController.java rename to pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/area/AreaInfoController.java index d2058ae74..3146cd750 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/area/AreaInfoController.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/area/AreaInfoController.java @@ -1,4 +1,4 @@ -package com.njcn.event.controller.area; +package com.njcn.event.controller.majornetwork.area; import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.enums.common.LogEnum; @@ -7,10 +7,9 @@ import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.device.pq.pojo.param.DeviceInfoParam; import com.njcn.device.pq.pojo.vo.TerminalBaseVO; -import com.njcn.event.pojo.po.EventDetail; import com.njcn.event.pojo.po.EventDetailNew; import com.njcn.event.pojo.vo.AreaSubLineVO; -import com.njcn.event.service.AreaInfoService; +import com.njcn.event.service.majornetwork.AreaInfoService; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/RStatOrgMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/RStatOrgMapper.java deleted file mode 100644 index f96bdf4d5..000000000 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/RStatOrgMapper.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.njcn.event.mapper; - - -import com.njcn.event.pojo.vo.RStatOrgVO; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 暂态指标统计 - * - * @author yzh - * @date 2022/10/10 - */ - -@Mapper -public interface RStatOrgMapper { - - /** - * 获取年区域暂态指标统计 - * - * @param deptIds 单位id - * @param startTime 开始时间 - * @param endTime 结束时间 - * @return 年区域暂态指标统计 - */ - List getYearRStatOrgInfo(@Param("deptIds") List deptIds, - @Param("startTime") String startTime, - @Param("endTime") String endTime); - - /** - * 获取季区域暂态指标统计 - * - * @param deptIds 单位id - * @param startTime 开始时间 - * @param endTime 结束时间 - * @return 季区域暂态指标统计 - */ - List getQuarterRStatOrgInfo(@Param("deptIds") List deptIds, - @Param("startTime") String startTime, - @Param("endTime") String endTime); - - /** - * 获取月区域暂态指标统计 - * - * @param deptIds 单位id - * @param startTime 开始时间 - * @param endTime 结束时间 - * @return 月区域暂态指标统计 - */ - List getMonthRStatOrgInfo(@Param("deptIds") List deptIds, - @Param("startTime") String startTime, - @Param("endTime") String endTime); - -} diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/RmpEventDetailMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/RmpEventDetailMapper.java deleted file mode 100644 index 50aca4d4c..000000000 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/RmpEventDetailMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.njcn.event.mapper; - - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.njcn.event.pojo.vo.RmpEventDetailVO; -import org.apache.ibatis.annotations.Mapper; - -/** - * 暂态事件明细 - * - * @author yzh - * @date 2022/10/12 - */ -@Mapper -public interface RmpEventDetailMapper extends BaseMapper { -} diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/PwEventCategoryDetailsMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/PwEventCategoryDetailsMapper.java new file mode 100644 index 000000000..4a17a41e2 --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/PwEventCategoryDetailsMapper.java @@ -0,0 +1,76 @@ +package com.njcn.event.mapper.distribution; + +import com.njcn.event.pojo.po.EventDistributionStatisticsPO; +import com.njcn.event.pojo.po.EventDurationLineChartPO; +import com.njcn.event.pojo.po.EventFeatureAmplitudeLineChartPO; +import com.njcn.event.pojo.po.RmpEventDetailPO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 配网-暂态事件分布统计 + * + * @author yzh + * @date 2022/10/28 + */ +@Mapper +public interface PwEventCategoryDetailsMapper { + + /** + * 获取配网暂态指标分布统计 + * + * @param monitorIdList 监测点id + * @param startTime 开始时间 + * @param endTime 结束时间 + * @return com.njcn.event.pojo.po.EventDistributionStatisticsPO + * @author yzh + * @date 2022/10/31 + */ + EventDistributionStatisticsPO getPwEventCategoryDetailsMapper(@Param("monitorIdList") List monitorIdList, + @Param("startTime") String startTime, + @Param("endTime") String endTime); + + /** + * 获取配网持续时间折线图 + * + * @param monitorIdList 监测点id + * @param startTime 开始时间 + * @param endTime 结束时间 + * @return 持续时间折线图 + * @author yzh + * @date 2022/10/31 + */ + EventDurationLineChartPO getPwEventDurationLineChart(@Param("monitorIdList") List monitorIdList, + @Param("startTime") String startTime, + @Param("endTime") String endTime); + + /** + * 获取配网特征幅值折线图 + * + * @param monitorIdList 监测点id + * @param startTime 开始时间 + * @param endTime 结束时间 + * @return com.njcn.event.pojo.po.EventFeatureAmplitudeLineChartPO + * @author yzh + * @date 2022/10/31 + */ + EventFeatureAmplitudeLineChartPO getPwEventFeatureAmplitudeLineChart(@Param("monitorIdList") List monitorIdList, + @Param("startTime") String startTime, + @Param("endTime") String endTime); + + /** + * 获取配网监测点暂态事件明细数据 + * + * @param monitorIdList 监测点id + * @param startTime 开始时间 + * @param endTime 结束时间 + * @return java.util.List + * @author yzh + * @date 2022/10/31 + */ + List getPwRmpEventDetail(@Param("monitorIdList") List monitorIdList, + @Param("startTime") String startTime, + @Param("endTime") String endTime); +} diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/PwRStatOrgClassifiedMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/PwRStatOrgClassifiedMapper.java new file mode 100644 index 000000000..ff79e4404 --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/PwRStatOrgClassifiedMapper.java @@ -0,0 +1,60 @@ +package com.njcn.event.mapper.distribution; + +import com.njcn.event.pojo.po.RStatEventOrgPO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 配网-暂态事件统计 + * + * @author yzh + * @date 2022/10/25 + */ + +@Mapper +public interface PwRStatOrgClassifiedMapper { + /** + * 获取配网区域暂态事件分类统计(年) + *

+ * + * @param deptIdList 单位id + * @param startTime 开始时间 + * @param endTime 结束时间 + * @param monitorSort 监测点类别 + * @return 配网区域暂态事件分类统计(年) + */ + List getYearInfo(@Param("deptIdList") List deptIdList, + @Param("startTime") String startTime, + @Param("endTime") String endTime, + @Param("monitorSort") List monitorSort); + + /** + * 获取配网区域暂态事件分类统计(月) + * + * @param deptIdList 单位id + * @param startTime 开始时间 + * @param endTime 结束时间 + * @param monitorSort 监测点类别 + * @return 配网区域暂态事件分类统计(月) + */ + List getQuarterInfo(@Param("deptIdList") List deptIdList, + @Param("startTime") String startTime, + @Param("endTime") String endTime, + @Param("monitorSort") List monitorSort); + + /** + * 获取配网区域暂态事件分类统计(月) + * + * @param deptIdList 单位id + * @param startTime 开始时间 + * @param endTime 结束时间 + * @param monitorSort 监测点类别 + * @return 配网区域暂态事件分类统计(月) + */ + List getMonthInfo(@Param("deptIdList") List deptIdList, + @Param("startTime") String startTime, + @Param("endTime") String endTime, + @Param("monitorSort") List monitorSort); +} diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/PwRStatOrgMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/PwRStatOrgMapper.java new file mode 100644 index 000000000..d7f3fbd6a --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/PwRStatOrgMapper.java @@ -0,0 +1,59 @@ +package com.njcn.event.mapper.distribution; + +import com.njcn.event.pojo.po.RStatOrgPO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 配网-暂态事件统计 + * + * @author yzh + * @date 2022/10/24 + */ + +@Mapper +public interface PwRStatOrgMapper { + /** + * 获取配网区域暂态指标统计(年) + * + * @param deptIdList 单位id + * @param startTime 开始时间 + * @param endTime 结束时间 + * @param monitorSort 监测点类别 + * @return 配网区域暂态指标统计(年) + */ + List getYearInfo(@Param("deptIdList") List deptIdList, + @Param("startTime") String startTime, + @Param("endTime") String endTime, + @Param("monitorSort") List monitorSort); + + /** + * 获取配网区域暂态指标统计(季) + * + * @param deptIdList 单位id + * @param startTime 开始时间 + * @param endTime 结束时间 + * @param monitorSort 监测点类别 + * @return 配网区域暂态指标统计(季) + */ + List getQuarterInfo(@Param("deptIdList") List deptIdList, + @Param("startTime") String startTime, + @Param("endTime") String endTime, + @Param("monitorSort") List monitorSort); + + /** + * 获取配网区域暂态指标统计(月) + * + * @param deptIdList 单位id + * @param startTime 开始时间 + * @param endTime 结束时间 + * @param monitorSort 监测点类别 + * @return 配网区域暂态指标统计(月) + */ + List getMonthInfo(@Param("deptIdList") List deptIdList, + @Param("startTime") String startTime, + @Param("endTime") String endTime, + @Param("monitorSort") List monitorSort); +} diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/PwRmpEventDetailMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/PwRmpEventDetailMapper.java new file mode 100644 index 000000000..f4cf68510 --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/PwRmpEventDetailMapper.java @@ -0,0 +1,26 @@ +package com.njcn.event.mapper.distribution; + +import com.njcn.event.pojo.param.UniversalFrontEndParam; +import com.njcn.event.pojo.po.RmpEventDetailPO; + +import java.util.List; + +/** + * 配网-暂态事件明细 + * + * @author yzh + * @date 2022/10/31 + */ + +public interface PwRmpEventDetailMapper { + + /** + * 获取配网暂态事件明细 + * + * @param param 条件参数 + * @return java.util.List + * @author yzh + * @date 2022/10/31 + */ + List getPwRmpEventDetail(UniversalFrontEndParam param); +} diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/mapping/PwEventCategoryDetailsMapper.xml b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/mapping/PwEventCategoryDetailsMapper.xml new file mode 100644 index 000000000..c9f272735 --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/mapping/PwEventCategoryDetailsMapper.xml @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/mapping/PwRStatOrgClassifiedMapper.xml b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/mapping/PwRStatOrgClassifiedMapper.xml new file mode 100644 index 000000000..45b0f14dc --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/mapping/PwRStatOrgClassifiedMapper.xml @@ -0,0 +1,75 @@ + + + + + + rso.org_no AS orgNo, + rso.data_date AS dataDate, + rso.measurement_type_class AS measurementTypeClass, + rso.effective_measurement_average AS effectiveMeasurementAverage, + rso.effective_measurement_accrued AS effectiveMeasurementAccrued, + rso.event_measurement_average AS eventMeasurementAverage, + rso.event_measurement_accrued AS eventMeasurementAccrued, + rso.event_freq AS eventFreq, + rso.event_count AS eventCount, + rseo.event_type, + rseo.event_measurement_average AS eEventMeasurementAverage, + rseo.event_measurement_accrued AS eEventMeasurementAccrued, + rseo.event_measurement_ratio_average AS eEventMeasurementRatioAverage, + rseo.event_measurement_ratio_accrued AS eEventMeasurementRatioAccrued, + rseo.event_freq AS eEventFreq, + rseo.event_count AS eEventCount, + rseo.data_type AS dataType + + + rso.data_type = 02 + AND rseo.data_type = 02 + AND rso.org_no IN + + #{item} + + + + + + AND DATE_FORMAT(rso.data_date, '%Y-%m-%d') >= DATE_FORMAT(#{startTime}, '%Y-%m-%d') + + + AND DATE_FORMAT(rso.data_date, '%Y-%m-%d') <= DATE_FORMAT(#{endTime}, '%Y-%m-%d') + + + + + + + + + + + + + diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/mapping/PwRStatOrgMapper.xml b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/mapping/PwRStatOrgMapper.xml new file mode 100644 index 000000000..60c56ebdb --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/mapping/PwRStatOrgMapper.xml @@ -0,0 +1,67 @@ + + + + + + org_no AS orgNo, + Data_Date AS dataDate, + measurement_type_class AS measurementTypeClass, + effective_measurement_average AS effectiveMeasurementAverage, + effective_measurement_accrued AS effectiveMeasurementAccrued, + event_measurement_average AS eventMeasurementAverage, + event_measurement_accrued AS eventMeasurementAccrued, + event_count AS eventCount, + event_freq AS eventFreq, + data_Type AS dataType + + + data_type = 02 + AND org_no IN + + #{item} + + + AND DATE_FORMAT(Data_Date, '%Y-%m-%d') >= DATE_FORMAT(#{startTime}, '%Y-%m-%d') + + + AND DATE_FORMAT(Data_Date, '%Y-%m-%d') <= DATE_FORMAT(#{endTime}, '%Y-%m-%d') + + + AND measurement_type_class IN + + #{item} + + + + + + + + + + + + + + diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/mapping/PwRmpEventDetailMapper.xml b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/mapping/PwRmpEventDetailMapper.xml new file mode 100644 index 000000000..59e416d83 --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/mapping/PwRmpEventDetailMapper.xml @@ -0,0 +1,20 @@ + + + + + + + \ No newline at end of file diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/EventDistributionStatisticsMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/EventDistributionStatisticsMapper.java new file mode 100644 index 000000000..fdf9405ae --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/EventDistributionStatisticsMapper.java @@ -0,0 +1,89 @@ +package com.njcn.event.mapper.majornetwork; + +import com.njcn.event.pojo.po.EventDistributionStatisticsPO; +import com.njcn.event.pojo.po.EventDurationLineChartPO; +import com.njcn.event.pojo.po.EventFeatureAmplitudeLineChartPO; +import com.njcn.event.pojo.po.RmpEventDetailPO; +import com.njcn.event.pojo.vo.EventDipShortDistributionVO; +import com.njcn.event.pojo.vo.EventRiseDistributionVO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * @author yzh + * @date 2022/10/20 + */ + +@Mapper +public interface EventDistributionStatisticsMapper { + + /** + * 获取暂态指标分布统计 + * + * @param monitorIdList 监测点id + * @param startTime 开始时间 + * @param endTime 结束时间 + * @return 暂态指标分布统计 + */ + EventDistributionStatisticsPO getEventDistributionStatistics(@Param("monitorIdList") List monitorIdList, + @Param("startTime") String startTime, + @Param("endTime") String endTime); + + /** + * 获取持续时间折线图 + * + * @param monitorIdList 监测点id + * @param startTime 开始时间 + * @param endTime 结束时间 + * @return 持续时间折线图 + */ + EventDurationLineChartPO getEventDurationLineChart(@Param("monitorIdList") List monitorIdList, + @Param("startTime") String startTime, + @Param("endTime") String endTime); + + /** + * 获取特征幅值折线图 + * + * @param monitorIdList 监测点id + * @param startTime 开始时间 + * @param endTime 结束时间 + * @return 特征幅值折线图 + */ + EventFeatureAmplitudeLineChartPO getEventFeatureAmplitudeLineChart(@Param("monitorIdList") List monitorIdList, + @Param("startTime") String startTime, + @Param("endTime") String endTime); + + /** + * 获取监测点暂态事件明细数据 + * + * @param monitorIdList 监测点id + * @param startTime 开始时间 + * @param endTime 结束时间 + * @return 监测点暂态事件明细数据 + */ + List getRmpEventDetail(@Param("monitorIdList") List monitorIdList, + @Param("startTime") String startTime, + @Param("endTime") String endTime); + + + /*** + * 获取监测点电压暂降和短时中断分布情况 + * @author jianghaifei + * @date 2022-10-27 10:46 + * @param map + * @return com.njcn.event.pojo.vo.EventDipShortDistributionVO + */ + EventDipShortDistributionVO getEventDipShortDistributionByCond(Map map); + + /*** + * 获取监测点电压暂升分布情况 + * @author jianghaifei + * @date 2022-10-27 10:46 + * @param map + * @return com.njcn.event.pojo.vo.EventRiseDistributionVO + */ + EventRiseDistributionVO getEventRiseDistributionByCond(Map map); +} diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/PmsMonitorMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/PmsMonitorMapper.java similarity index 91% rename from pqs-event/event-boot/src/main/java/com/njcn/event/mapper/PmsMonitorMapper.java rename to pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/PmsMonitorMapper.java index 5faa8e243..2f3bb2699 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/PmsMonitorMapper.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/PmsMonitorMapper.java @@ -1,4 +1,4 @@ -package com.njcn.event.mapper; +package com.njcn.event.mapper.majornetwork; import com.njcn.event.pojo.po.PmsMonitorPO; import org.apache.ibatis.annotations.Mapper; diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/PqDeviceMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/PqDeviceMapper.java similarity index 91% rename from pqs-event/event-boot/src/main/java/com/njcn/event/mapper/PqDeviceMapper.java rename to pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/PqDeviceMapper.java index 6ca7c8727..e23b7ec72 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/PqDeviceMapper.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/PqDeviceMapper.java @@ -1,4 +1,4 @@ -package com.njcn.event.mapper; +package com.njcn.event.mapper.majornetwork; import com.njcn.event.pojo.po.PqDevice; import org.apache.ibatis.annotations.Param; diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventDMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventDMapper.java new file mode 100644 index 000000000..ce752d38b --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventDMapper.java @@ -0,0 +1,16 @@ +package com.njcn.event.mapper.majornetwork; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.event.pojo.po.RStatEventD; + +/** + *

+ * Mapper 接口 + *

+ * + * @author rui.wu + * @since 2022-10-12 + */ +public interface RStatEventDMapper extends BaseMapper { + +} diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventMMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventMMapper.java new file mode 100644 index 000000000..9b3f5647b --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventMMapper.java @@ -0,0 +1,16 @@ +package com.njcn.event.mapper.majornetwork; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.event.pojo.po.RStatEventM; + +/** + *

+ * Mapper 接口 + *

+ * + * @author rui.wu + * @since 2022-10-11 + */ +public interface RStatEventMMapper extends BaseMapper { + +} diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventOrgMMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventOrgMMapper.java new file mode 100644 index 000000000..3707ba12b --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventOrgMMapper.java @@ -0,0 +1,16 @@ +package com.njcn.event.mapper.majornetwork; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.event.pojo.po.RStatEventOrgM; + +/** + *

+ * Mapper 接口 + *

+ * + * @author rui.wu + * @since 2022-10-11 + */ +public interface RStatEventOrgMMapper extends BaseMapper { + +} diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/RStatEventOrgMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventOrgMapper.java similarity index 50% rename from pqs-event/event-boot/src/main/java/com/njcn/event/mapper/RStatEventOrgMapper.java rename to pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventOrgMapper.java index aad4073b5..6423ead4c 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/RStatEventOrgMapper.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventOrgMapper.java @@ -1,7 +1,6 @@ -package com.njcn.event.mapper; +package com.njcn.event.mapper.majornetwork; - -import com.njcn.event.pojo.vo.RStatEventOrgVO; +import com.njcn.event.pojo.po.RStatEventOrgPO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -19,37 +18,43 @@ public interface RStatEventOrgMapper { /** * 获取年区域暂态指标分类统计表 * - * @param deptIds 部门id - * @param startTime 开始时间 - * @param endTime 结束时间 + * @param deptIds 部门id + * @param startTime 开始时间 + * @param endTime 结束时间 + * @param mainnetPointId 主网字典id * @return 年区域暂态指标分类统计表 */ - List getYearRStatEventOrgInfo(@Param("deptIds") List deptIds, + List getYearRStatEventOrgInfo(@Param("deptIds") List deptIds, @Param("startTime") String startTime, - @Param("endTime") String endTime); + @Param("endTime") String endTime, + @Param("mainnetPointId") String mainnetPointId); /** * 获取季区域暂态指标分类统计表 * - * @param deptIds 部门id - * @param startTime 开始时间 - * @param endTime 结束时间 + * @param deptIds 部门id + * @param startTime 开始时间 + * @param endTime 结束时间 + * @param mainnetPointId 主网字典id * @return 季区域暂态指标分类统计表 */ - List getQuarterRStatEventOrgInfo(@Param("deptIds") List deptIds, + List getQuarterRStatEventOrgInfo(@Param("deptIds") List deptIds, @Param("startTime") String startTime, - @Param("endTime") String endTime); + @Param("endTime") String endTime, + @Param("mainnetPointId") String mainnetPointId); /** * 获取月区域暂态指标分类统计表 * - * @param deptIds 部门id - * @param startTime 开始时间 - * @param endTime 结束时间 + * @param deptIds 部门id + * @param startTime 开始时间 + * @param endTime 结束时间 + * @param mainnetPointId 主网字典id * @return 月区域暂态指标分类统计表 */ - List getMonthRStatEventOrgInfoInfo(@Param("deptIds") List deptIds, + List getMonthRStatEventOrgInfoInfo(@Param("deptIds") List deptIds, @Param("startTime") String startTime, - @Param("endTime") String endTime); + @Param("endTime") String endTime, + @Param("mainnetPointId") String mainnetPointId); } diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventOrgQMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventOrgQMapper.java new file mode 100644 index 000000000..b4be35729 --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventOrgQMapper.java @@ -0,0 +1,16 @@ +package com.njcn.event.mapper.majornetwork; + +import com.njcn.event.pojo.po.RStatEventOrgQ; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * Mapper 接口 + *

+ * + * @author rui.wu + * @since 2022-10-17 + */ +public interface RStatEventOrgQMapper extends BaseMapper { + +} diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventOrgYMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventOrgYMapper.java new file mode 100644 index 000000000..c898350e1 --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventOrgYMapper.java @@ -0,0 +1,16 @@ +package com.njcn.event.mapper.majornetwork; + +import com.njcn.event.pojo.po.RStatEventOrgY; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * Mapper 接口 + *

+ * + * @author rui.wu + * @since 2022-10-17 + */ +public interface RStatEventOrgYMapper extends BaseMapper { + +} diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventQMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventQMapper.java new file mode 100644 index 000000000..460b6b1c8 --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventQMapper.java @@ -0,0 +1,16 @@ +package com.njcn.event.mapper.majornetwork; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.event.pojo.po.RStatEventQ; + +/** + *

+ * Mapper 接口 + *

+ * + * @author rui.wu + * @since 2022-10-12 + */ +public interface RStatEventQMapper extends BaseMapper { + +} diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventVoltageMMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventVoltageMMapper.java new file mode 100644 index 000000000..e15431d0b --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventVoltageMMapper.java @@ -0,0 +1,16 @@ +package com.njcn.event.mapper.majornetwork; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.event.pojo.po.RStatEventVoltageM; + +/** + *

+ * Mapper 接口 + *

+ * + * @author rui.wu + * @since 2022-10-14 + */ +public interface RStatEventVoltageMMapper extends BaseMapper { + +} diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventYMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventYMapper.java new file mode 100644 index 000000000..bb959ff29 --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatEventYMapper.java @@ -0,0 +1,16 @@ +package com.njcn.event.mapper.majornetwork; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.event.pojo.po.RStatEventY; + +/** + *

+ * Mapper 接口 + *

+ * + * @author rui.wu + * @since 2022-10-12 + */ +public interface RStatEventYMapper extends BaseMapper { + +} diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatOrgMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatOrgMapper.java new file mode 100644 index 000000000..b7f0405d8 --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatOrgMapper.java @@ -0,0 +1,61 @@ +package com.njcn.event.mapper.majornetwork; + +import com.njcn.event.pojo.vo.RStatOrgVO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 暂态指标统计 + * + * @author yzh + * @date 2022/10/10 + */ + +@Mapper +public interface RStatOrgMapper { + + /** + * 获取年区域暂态指标统计 + * + * @param deptIds 单位id + * @param startTime 开始时间 + * @param endTime 结束时间 + * @param mainnetPointId 主网字典id + * @return 年区域暂态指标统计 + */ + List getYearRStatOrgInfo(@Param("deptIds") List deptIds, + @Param("startTime") String startTime, + @Param("endTime") String endTime, + @Param("mainnetPointId") String mainnetPointId); + + /** + * 获取季区域暂态指标统计 + * + * @param deptIds 单位id + * @param startTime 开始时间 + * @param endTime 结束时间 + * @param mainnetPointId 主网字典id + * @return 季区域暂态指标统计 + */ + List getQuarterRStatOrgInfo(@Param("deptIds") List deptIds, + @Param("startTime") String startTime, + @Param("endTime") String endTime, + @Param("mainnetPointId") String mainnetPointId); + + /** + * 获取月区域暂态指标统计 + * + * @param deptIds 单位id + * @param startTime 开始时间 + * @param endTime 结束时间 + * @param mainnetPointId 主网字典id + * @return 月区域暂态指标统计 + */ + List getMonthRStatOrgInfo(@Param("deptIds") List deptIds, + @Param("startTime") String startTime, + @Param("endTime") String endTime, + @Param("mainnetPointId") String mainnetPointId); + +} diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatSubstationMMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatSubstationMMapper.java new file mode 100644 index 000000000..11658733f --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatSubstationMMapper.java @@ -0,0 +1,35 @@ +package com.njcn.event.mapper.majornetwork; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.event.pojo.param.StatSubstationBizBaseParam; +import com.njcn.event.pojo.po.RStatSubstationM; +import com.njcn.event.pojo.vo.RSubstationIcon2VO; +import com.njcn.event.pojo.vo.RSubstationIconVO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * Mapper 接口 + *

+ * + * @author rui.wu + * @since 2022-10-18 + */ +public interface RStatSubstationMMapper extends BaseMapper { + + /** + * 变电站暂态指标超标分布(按发生频次) + * @param param + * @return + */ + RSubstationIconVO getStatSubstationIconM(@Param("param") StatSubstationBizBaseParam param); + + /** + * 变电站暂态指标发生频次 + * @param param + * @return + */ + List getStatSubstationIcon2M(@Param("param") StatSubstationBizBaseParam param); +} diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/RStatSubstationMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatSubstationMapper.java similarity index 95% rename from pqs-event/event-boot/src/main/java/com/njcn/event/mapper/RStatSubstationMapper.java rename to pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatSubstationMapper.java index 3138135f9..8157ed23d 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/RStatSubstationMapper.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatSubstationMapper.java @@ -1,7 +1,6 @@ -package com.njcn.event.mapper; +package com.njcn.event.mapper.majornetwork; -import com.njcn.event.pojo.po.PmsMonitorPO; import com.njcn.event.pojo.vo.RStatSubstationVO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatSubstationQMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatSubstationQMapper.java new file mode 100644 index 000000000..85f24c6af --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatSubstationQMapper.java @@ -0,0 +1,35 @@ +package com.njcn.event.mapper.majornetwork; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.event.pojo.param.StatSubstationBizBaseParam; +import com.njcn.event.pojo.po.RStatSubstationQ; +import com.njcn.event.pojo.vo.RSubstationIcon2VO; +import com.njcn.event.pojo.vo.RSubstationIconVO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * Mapper 接口 + *

+ * + * @author rui.wu + * @since 2022-10-18 + */ +public interface RStatSubstationQMapper extends BaseMapper { + + /** + * 变电站暂态指标超标分布(按发生频次) + * @param param + * @return + */ + RSubstationIconVO getStatSubstationIconQ(@Param("param") StatSubstationBizBaseParam param); + + /** + * 变电站暂态指标发生频次 + * @param param + * @return + */ + List getStatSubstationIcon2Q(@Param("param") StatSubstationBizBaseParam param); +} diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatSubstationVoltageMMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatSubstationVoltageMMapper.java new file mode 100644 index 000000000..b6804f59d --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatSubstationVoltageMMapper.java @@ -0,0 +1,28 @@ +package com.njcn.event.mapper.majornetwork; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.event.pojo.param.StatSubstationBizBaseParam; +import com.njcn.event.pojo.po.RStatSubstationVoltageM; +import com.njcn.event.pojo.vo.RVoltageIconVO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * Mapper 接口 + *

+ * + * @author rui.wu + * @since 2022-10-18 + */ +public interface RStatSubstationVoltageMMapper extends BaseMapper { + + /** + * 变电站暂态分布(按电压等级) + * @param param + * @return + */ + List getStatSubstationIcon(@Param("param") StatSubstationBizBaseParam param); + +} diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatSubstationYMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatSubstationYMapper.java new file mode 100644 index 000000000..7c7112e0b --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RStatSubstationYMapper.java @@ -0,0 +1,36 @@ +package com.njcn.event.mapper.majornetwork; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.event.pojo.param.StatSubstationBizBaseParam; +import com.njcn.event.pojo.po.RStatSubstationY; +import com.njcn.event.pojo.vo.RSubstationIcon2VO; +import com.njcn.event.pojo.vo.RSubstationIconVO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * Mapper 接口 + *

+ * + * @author rui.wu + * @since 2022-10-18 + */ +public interface RStatSubstationYMapper extends BaseMapper { + + /** + * 变电站暂态分布(按发生频次) + * @param param + * @return + */ + RSubstationIconVO getStatSubstationIconY(@Param("param") StatSubstationBizBaseParam param); + + + /** + * 变电站暂态指标发生频次 + * @param param + * @return + */ + List getStatSubstationIcon2Y(@Param("param") StatSubstationBizBaseParam param); +} diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RmpEventDetailMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RmpEventDetailMapper.java new file mode 100644 index 000000000..90b4f880c --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RmpEventDetailMapper.java @@ -0,0 +1,33 @@ +package com.njcn.event.mapper.majornetwork; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.event.pojo.po.RmpEventDetailPO; +import com.njcn.event.pojo.vo.RmpEventDetailVO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 暂态事件明细 + * + * @author yzh + * @date 2022/10/12 + */ +@Mapper +public interface RmpEventDetailMapper extends BaseMapper { + + /** + * 获取暂态事件明细 + * + * @param monitorIds 监测点id + * @param eventType 暂态指标类型 + * @param startTime 开始时间 + * @param endTime 结束时间 + * @return 暂态事件明细 + */ + List getDetailsOfTransientEvents(@Param("monitorIds") List monitorIds, + @Param("eventType") List eventType, + @Param("startTime") String startTime, + @Param("endTime") String endTime); +} diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RmpEventReportDayMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RmpEventReportDayMapper.java new file mode 100644 index 000000000..43fef7779 --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RmpEventReportDayMapper.java @@ -0,0 +1,11 @@ +package com.njcn.event.mapper.majornetwork; + +import org.apache.ibatis.annotations.Mapper; + +/** + * @author yzh + * @date 2022/10/19 + */ +@Mapper +public interface RmpEventReportDayMapper { +} diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/TransientMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/TransientMapper.java similarity index 89% rename from pqs-event/event-boot/src/main/java/com/njcn/event/mapper/TransientMapper.java rename to pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/TransientMapper.java index 61ab4e9dc..f9951e5f0 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/TransientMapper.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/TransientMapper.java @@ -1,4 +1,4 @@ -package com.njcn.event.mapper; +package com.njcn.event.mapper.majornetwork; import com.njcn.event.pojo.vo.TransientVO; import org.apache.ibatis.annotations.Param; diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/EventDistributionStatisticsMapper.xml b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/EventDistributionStatisticsMapper.xml new file mode 100644 index 000000000..b5cbcddd9 --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/EventDistributionStatisticsMapper.xml @@ -0,0 +1,438 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/mapping/PmsMonitorMapper.xml b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/PmsMonitorMapper.xml similarity index 91% rename from pqs-event/event-boot/src/main/java/com/njcn/event/mapper/mapping/PmsMonitorMapper.xml rename to pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/PmsMonitorMapper.xml index 31a396cf6..d0ee9448a 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/mapping/PmsMonitorMapper.xml +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/PmsMonitorMapper.xml @@ -1,6 +1,6 @@ - + + + + + SELECT + COALESCE( sum( CASE WHEN X.event_freq BETWEEN 0 AND 10 THEN 1 ELSE 0 END ), 0 ) "num_1", + COALESCE ( sum( CASE WHEN X.event_freq BETWEEN 11 AND 20 THEN 1 ELSE 0 END ), 0 ) "num_2" , + COALESCE ( sum( CASE WHEN X.event_freq BETWEEN 21 AND 30 THEN 1 ELSE 0 END ), 0 ) "num_3" , + COALESCE ( sum( CASE WHEN X.event_freq BETWEEN 31 AND 40 THEN 1 ELSE 0 END ), 0 ) "num_4" , + COALESCE ( sum( CASE WHEN X.event_freq BETWEEN 41 AND 50 THEN 1 ELSE 0 END ), 0 ) "num_5" , + COALESCE ( sum( CASE WHEN X.event_freq BETWEEN 51 AND 60 THEN 1 ELSE 0 END ), 0 ) "num_6" , + COALESCE ( sum( CASE WHEN X.event_freq BETWEEN 61 AND 70 THEN 1 ELSE 0 END ), 0 ) "num_7" , + COALESCE ( sum( CASE WHEN X.event_freq BETWEEN 71 AND 80 THEN 1 ELSE 0 END ), 0 ) "num_8" , + COALESCE ( sum( CASE WHEN X.event_freq BETWEEN 81 AND 90 THEN 1 ELSE 0 END ), 0 ) "num_9" , + COALESCE ( sum( CASE WHEN X.event_freq BETWEEN 91 AND 100 THEN 1 ELSE 0 END ), 0 ) "num_10" , + COALESCE ( round(sum(CASE WHEN X.event_freq BETWEEN 0 AND 10 THEN 1 ELSE 0 END) / COUNT(X.substation_id),4)*100 , 0 ) "upRatio_1", + COALESCE ( round(sum(CASE WHEN X.event_freq BETWEEN 11 AND 20 THEN 1 ELSE 0 END) / COUNT(X.substation_id),4)*100 , 0 ) "upRatio_2", + COALESCE ( round(sum(CASE WHEN X.event_freq BETWEEN 21 AND 30 THEN 1 ELSE 0 END) / COUNT(X.substation_id),4)*100 , 0 ) "upRatio_3", + COALESCE ( round(sum(CASE WHEN X.event_freq BETWEEN 31 AND 40 THEN 1 ELSE 0 END) / COUNT(X.substation_id),4)*100 , 0 ) "upRatio_4", + COALESCE ( round(sum(CASE WHEN X.event_freq BETWEEN 41 AND 50 THEN 1 ELSE 0 END) / COUNT(X.substation_id),4)*100 , 0 ) "upRatio_5", + COALESCE ( round(sum(CASE WHEN X.event_freq BETWEEN 51 AND 60 THEN 1 ELSE 0 END) / COUNT(X.substation_id),4)*100 , 0 ) "upRatio_6", + COALESCE ( round(sum(CASE WHEN X.event_freq BETWEEN 61 AND 70 THEN 1 ELSE 0 END) / COUNT(X.substation_id),4)*100 , 0 ) "upRatio_7", + COALESCE ( round(sum(CASE WHEN X.event_freq BETWEEN 71 AND 80 THEN 1 ELSE 0 END) / COUNT(X.substation_id),4)*100 , 0 ) "upRatio_8", + COALESCE ( round(sum(CASE WHEN X.event_freq BETWEEN 81 AND 90 THEN 1 ELSE 0 END) / COUNT(X.substation_id),4)*100 , 0 ) "upRatio_9", + COALESCE ( round(sum(CASE WHEN X.event_freq BETWEEN 91 AND 100 THEN 1 ELSE 0 END) / COUNT(X.substation_id),4)*100 , 0 ) "upRatio_10" + FROM + ( + SELECT + substation_id, + event_freq + FROM + r_stat_substation_m + + + AND substation_id IN + + #{item} + + + + AND data_date >= #{param.startTime} + + + AND #{param.endTime}>= data_date + + + ) X + + + + diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/mapping/RStatSubstationMapper.xml b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatSubstationMapper.xml similarity index 96% rename from pqs-event/event-boot/src/main/java/com/njcn/event/mapper/mapping/RStatSubstationMapper.xml rename to pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatSubstationMapper.xml index c762c8223..3796ae6ad 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/mapping/RStatSubstationMapper.xml +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatSubstationMapper.xml @@ -1,6 +1,6 @@ - + substation_id AS substationId, diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatSubstationQMapper.xml b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatSubstationQMapper.xml new file mode 100644 index 000000000..3a534a2bb --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatSubstationQMapper.xml @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatSubstationVoltageMMapper.xml b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatSubstationVoltageMMapper.xml new file mode 100644 index 000000000..3999babf4 --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatSubstationVoltageMMapper.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatSubstationYMapper.xml b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatSubstationYMapper.xml new file mode 100644 index 000000000..180b6dabf --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatSubstationYMapper.xml @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RmpEventDetailMapper.xml b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RmpEventDetailMapper.xml new file mode 100644 index 000000000..3c36ef42b --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RmpEventDetailMapper.xml @@ -0,0 +1,35 @@ + + + + + \ No newline at end of file diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/mapping/RmpEventDetailMapper.xml b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RmpEventReportDayMapper.xml similarity index 59% rename from pqs-event/event-boot/src/main/java/com/njcn/event/mapper/mapping/RmpEventDetailMapper.xml rename to pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RmpEventReportDayMapper.xml index 1ba4756c7..50a99f711 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/mapping/RmpEventDetailMapper.xml +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RmpEventReportDayMapper.xml @@ -1,4 +1,4 @@ - + \ No newline at end of file diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/mapping/TransientMapper.xml b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/TransientMapper.xml similarity index 95% rename from pqs-event/event-boot/src/main/java/com/njcn/event/mapper/mapping/TransientMapper.xml rename to pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/TransientMapper.xml index af6fd7cc7..2da248247 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/mapping/TransientMapper.xml +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/TransientMapper.xml @@ -1,7 +1,7 @@ - + SELECT + DISTINCT a.id, a.NAME, b.activation @@ -45,7 +46,7 @@ sys_excel_rpt_temp a LEFT JOIN sys_dept_temp b ON a.Id = b.temp_id WHERE - a.state = 1 + b.activation = 1 and b.dept_id in #{item.id} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RMpPartHarmonicDetailDMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RMpPartHarmonicDetailDMapper.xml index 93b22a26e..51fb92055 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RMpPartHarmonicDetailDMapper.xml +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RMpPartHarmonicDetailDMapper.xml @@ -135,7 +135,7 @@ rmshd.inuharm_times FROM r_mp_part_harmonic_detail_d rmphd - LEFT JOIN r_mp_surplus_harmonic_detail_d rmshd ON rmshd.measurement_point_id = rmphd.measurement_point_id + LEFT JOIN r_mp_surplus_harmonic_detail_d rmshd ON rmshd.measurement_point_id = rmphd.measurement_point_id AND rmshd.data_date = rmphd.data_date diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RMpPollutionDPOMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RMpPollutionDPOMapper.xml new file mode 100644 index 000000000..f440a60b0 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RMpPollutionDPOMapper.xml @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + line_id, data_date, pollution_type, `value` + + + + update r_mp_pollution_d + + + + when line_id = #{item.lineId,jdbcType=VARCHAR} then #{item.value,jdbcType=FLOAT} + + + + where line_id in + + #{item.lineId,jdbcType=VARCHAR} + + + + + insert into r_mp_pollution_d + (line_id, data_date, pollution_type, `value`) + values + + (#{item.lineId,jdbcType=VARCHAR}, #{item.dataDate,jdbcType=TIMESTAMP}, #{item.pollutionType,jdbcType=VARCHAR}, + #{item.value,jdbcType=FLOAT}) + + + + + insert into r_mp_pollution_d + (line_id, data_date, pollution_type, `value`) + values + (#{lineId,jdbcType=VARCHAR}, #{dataDate,jdbcType=TIMESTAMP}, #{pollutionType,jdbcType=VARCHAR}, + #{value,jdbcType=FLOAT}) + on duplicate key update + line_id = #{lineId,jdbcType=VARCHAR}, + data_date = #{dataDate,jdbcType=TIMESTAMP}, + pollution_type = #{pollutionType,jdbcType=VARCHAR}, + `value` = #{value,jdbcType=FLOAT} + + + + insert into r_mp_pollution_d + + + line_id, + + + data_date, + + + pollution_type, + + + `value`, + + + values + + + #{lineId,jdbcType=VARCHAR}, + + + #{dataDate,jdbcType=TIMESTAMP}, + + + #{pollutionType,jdbcType=VARCHAR}, + + + #{value,jdbcType=FLOAT}, + + + on duplicate key update + + + line_id = #{lineId,jdbcType=VARCHAR}, + + + data_date = #{dataDate,jdbcType=TIMESTAMP}, + + + pollution_type = #{pollutionType,jdbcType=VARCHAR}, + + + `value` = #{value,jdbcType=FLOAT}, + + + + \ No newline at end of file diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatOrgBusbarVoltageMMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatOrgBusbarVoltageMMapper.xml index 3ba556921..1a44227ce 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatOrgBusbarVoltageMMapper.xml +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatOrgBusbarVoltageMMapper.xml @@ -15,5 +15,49 @@ + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatOrgBusbarVoltageQMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatOrgBusbarVoltageQMapper.xml index 55c0f0e5a..c71019a83 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatOrgBusbarVoltageQMapper.xml +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatOrgBusbarVoltageQMapper.xml @@ -15,5 +15,50 @@ + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatOrgBusbarVoltageYMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatOrgBusbarVoltageYMapper.xml index c905a571a..8f6087f13 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatOrgBusbarVoltageYMapper.xml +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatOrgBusbarVoltageYMapper.xml @@ -15,5 +15,50 @@ + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatPollutionOrgMPOMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatPollutionOrgMPOMapper.xml new file mode 100644 index 000000000..1d1182ac5 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatPollutionOrgMPOMapper.xml @@ -0,0 +1,107 @@ + + + + + + + + + + + + + + org_id, data_date, pollution_type, `value` + + + + update r_stat_pollution_org_m + + + + when org_id = #{item.orgId,jdbcType=VARCHAR} then #{item.pollutionType,jdbcType=VARCHAR} + + + + + when org_id = #{item.orgId,jdbcType=VARCHAR} then #{item.value,jdbcType=FLOAT} + + + + where org_id in + + #{item.orgId,jdbcType=VARCHAR} + + + + + insert into r_stat_pollution_org_m + (org_id, data_date, pollution_type, `value`) + values + + (#{item.orgId,jdbcType=VARCHAR}, #{item.dataDate,jdbcType=TIMESTAMP}, #{item.pollutionType,jdbcType=VARCHAR}, + #{item.value,jdbcType=FLOAT}) + + + + + insert into r_stat_pollution_org_m + (org_id, data_date, pollution_type, `value`) + values + (#{orgId,jdbcType=VARCHAR}, #{dataDate,jdbcType=TIMESTAMP}, #{pollutionType,jdbcType=VARCHAR}, + #{value,jdbcType=FLOAT}) + on duplicate key update + org_id = #{orgId,jdbcType=VARCHAR}, + data_date = #{dataDate,jdbcType=TIMESTAMP}, + pollution_type = #{pollutionType,jdbcType=VARCHAR}, + `value` = #{value,jdbcType=FLOAT} + + + + insert into r_stat_pollution_org_m + + + org_id, + + + data_date, + + + pollution_type, + + + `value`, + + + values + + + #{orgId,jdbcType=VARCHAR}, + + + #{dataDate,jdbcType=TIMESTAMP}, + + + #{pollutionType,jdbcType=VARCHAR}, + + + #{value,jdbcType=FLOAT}, + + + on duplicate key update + + + org_id = #{orgId,jdbcType=VARCHAR}, + + + data_date = #{dataDate,jdbcType=TIMESTAMP}, + + + pollution_type = #{pollutionType,jdbcType=VARCHAR}, + + + `value` = #{value,jdbcType=FLOAT}, + + + + \ No newline at end of file diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/RMpPartHarmonicDetailDService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/RMpPartHarmonicDetailDService.java index e4480c8d9..fd2abeee4 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/RMpPartHarmonicDetailDService.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/RMpPartHarmonicDetailDService.java @@ -9,7 +9,7 @@ import java.util.List; /** *

- * 服务类 + * 服务类 *

* * @author rui.wu @@ -19,6 +19,7 @@ public interface RMpPartHarmonicDetailDService extends IService - * 服务类 + * 服务类 *

* * @author rui.wu @@ -21,6 +21,7 @@ public interface RMpPartHarmonicDetailMService extends IService - * 服务类 + * 服务类 *

* * @author rui.wu @@ -21,6 +21,7 @@ public interface RMpPassRateService extends IService { /** * 稳态指标合格率明细表 + * * @param param * @return */ diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/RStatHarmonicMService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/RStatHarmonicMService.java index 24932b88c..9e44c83eb 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/RStatHarmonicMService.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/RStatHarmonicMService.java @@ -21,22 +21,37 @@ import java.util.List; public interface RStatHarmonicMService extends IService { /** - * 查询查询监测点稳态指标 日/月点数 + * 主网查询查询监测点稳态指标 日/月点数 * @param param * @return */ List getRStatHarmonicMAll(StatisticsBizBaseParam param); /** - * 稳态电铁-频率偏差-电压统计图 + * 主网稳态电铁-频率偏差-电压统计图 + * @param param * @return */ - List getRStatHarmonicIcon(RStatHarmonicMParam param); + List getRStatHarmonicIconVoltage(RStatHarmonicMParam param); /** - * 稳态电铁-频率偏差-越线日期统计图 + * 主网稳态电铁-频率偏差-越线日期统计图 + * @param param * @return */ - List getRStatHarmonicIcon2(RStatHarmonicMParam param); + List getRStatHarmonicIconDate(RStatHarmonicMParam param); + /** + * 配网查询监测点稳态指标(月) + * @param param + * @return + */ + List getPwRStatHarmonicMAll(StatisticsBizBaseParam param); + + /** + * 配网监测点-频率偏差-越线日期统计图 + * @param param + * @return + */ + List getPwRStatHarmonicIconDate(RStatHarmonicMParam param); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/RStatHarmonicQService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/RStatHarmonicQService.java index 61ef84a07..7906cecb1 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/RStatHarmonicQService.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/RStatHarmonicQService.java @@ -18,10 +18,16 @@ import java.util.List; public interface RStatHarmonicQService extends IService { /** - * 查询查询监测点稳态指标 日/月点数 + * 主网查询监测点稳态指标(季) * @param param * @return */ List getRStatHarmonicQAll(StatisticsBizBaseParam param); + /** + * 配网查询监测点稳态指标(季) + * @param param + * @return + */ + List getPwRStatHarmonicQAll(StatisticsBizBaseParam param); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/RStatHarmonicYService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/RStatHarmonicYService.java index 9d03689cb..9aefcc1e0 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/RStatHarmonicYService.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/RStatHarmonicYService.java @@ -9,7 +9,7 @@ import java.util.List; /** *

- * 服务类 + * 服务类 *

* * @author rui.wu @@ -18,9 +18,19 @@ import java.util.List; public interface RStatHarmonicYService extends IService { /** - * 查询查询监测点稳态指标 日/月点数 + * 主网查询监测点稳态指标(年) + * * @param param * @return */ List getRStatHarmonicYAll(StatisticsBizBaseParam param); + + /** + * 配网查询监测点稳态指标(年) + * + * @param param + * @return + */ + List getPwRStatHarmonicYAll(StatisticsBizBaseParam param); + } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/RStatOrgBusbarVoltageService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/RStatOrgBusbarVoltageService.java index 5ceaae9cd..d94900a95 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/RStatOrgBusbarVoltageService.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/RStatOrgBusbarVoltageService.java @@ -1,6 +1,6 @@ package com.njcn.harmonic.service; -import com.njcn.common.pojo.param.StatisticsBizBaseParam; +import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam; import com.njcn.harmonic.pojo.po.RStatOrgBusbarVoltageM; import com.baomidou.mybatisplus.extension.service.IService; import com.njcn.harmonic.pojo.vo.RStatOrgBusbarVoltageVO; @@ -9,7 +9,7 @@ import java.util.List; /** *

- * 服务类 + * 服务类 *

* * @author rui.wu @@ -19,8 +19,9 @@ public interface RStatOrgBusbarVoltageService extends IService getRStatOrgBusbarVoltage(StatisticsBizBaseParam param); + List getRStatOrgBusbarVoltage(StatSubstationBizBaseParam param); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/RStatOrgYService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/RStatOrgYService.java index 5773e3ada..e09c1cd46 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/RStatOrgYService.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/RStatOrgYService.java @@ -20,6 +20,7 @@ public interface RStatOrgYService extends IService { /** * 查询区域超标统计-年数据 + * * @param param * @return */ @@ -27,6 +28,7 @@ public interface RStatOrgYService extends IService { /** * 区域稳态指标超标分类统计表 + * * @param param * @return */ @@ -34,6 +36,7 @@ public interface RStatOrgYService extends IService { /** * 变电站(换流站)稳态指标超标分类统计表 + * * @param param * @return */ @@ -41,6 +44,7 @@ public interface RStatOrgYService extends IService { /** * 区域稳态指标合格率统计表 + * * @param param * @return */ diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/RStatSubstationMService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/RStatSubstationMService.java index 0d5932588..8fea53498 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/RStatSubstationMService.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/RStatSubstationMService.java @@ -10,7 +10,7 @@ import java.util.List; /** *

- * 服务类 + * 服务类 *

* * @author rui.wu @@ -20,6 +20,7 @@ public interface RStatSubstationMService extends IService { /** * 变电站稳态指标超标分布(按超标天数) + * * @param param * @return */ @@ -27,6 +28,7 @@ public interface RStatSubstationMService extends IService { /** * 变电站稳态指标平均超标天数 + * * @param param * @return */ diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/THDistortionService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/THDistortionService.java index c5255e625..b20520f07 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/THDistortionService.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/THDistortionService.java @@ -29,12 +29,12 @@ public interface THDistortionService { * @return */ THDistortionCensusVO getTHDistortionCensus(DeviceInfoParam.BusinessParam thDistortionCensusParam); - /** - * @Description: 谐波总畸变率前十列表 - * @Param: [statisticsBizBaseParam] - * @return: java.util.List + /** + * @Description: 谐波总畸变率前topNum列表 + * @Param: [statisticsBizBaseParam] + * @return: java.util.List * @Author: clam - * @Date: 2022/10/10 - */ - List getTHDTopTenData(StatisticsBizBaseParam statisticsBizBaseParam); + * @Date: 2022/11/7 + */ + List getTHDTopTenData(StatisticsBizBaseParam statisticsBizBaseParam,Integer topNum); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/CustomReportServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/CustomReportServiceImpl.java index c6bd76aff..25a83f11f 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/CustomReportServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/CustomReportServiceImpl.java @@ -54,6 +54,7 @@ import org.springframework.web.multipart.commons.CommonsMultipartFile; import javax.annotation.Resource; import java.io.*; import java.net.URL; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -62,11 +63,10 @@ import java.util.stream.Collectors; import java.util.stream.Stream; /** - * pqs * 自定义报表 * - * @author cdf - * @date 2022/8/16 + * @author qijian + * @date 2022/10/15 */ @Service @RequiredArgsConstructor @@ -104,13 +104,14 @@ public class CustomReportServiceImpl implements CustomReportService { //检验模板json数据规范 try { - new JSONArray(reportTemplateParam.getContent()); + String content = MultipartFileToString(reportTemplateParam.getFileContent()); + new JSONArray(content); } catch (Exception e) { throw new BusinessException(HarmonicResponseEnum.CUSTOM_REPORT_JSON); } //文件上传到Minio服务器,存入文件名 - MinIoUploadResDTO minIoUploadResDTO = contentToMinio(reportTemplateParam.getContent()); + MinIoUploadResDTO minIoUploadResDTO = contentToMinio(reportTemplateParam.getFileContent()); reportTemplateParam.setContent(minIoUploadResDTO.getMinFileName()); //新增模板表 @@ -139,7 +140,8 @@ public class CustomReportServiceImpl implements CustomReportService { //检验模板json数据规范 try { - new JSONArray(reportTemplateParam.getContent()); + String content = MultipartFileToString(reportTemplateParam.getFileContent()); + new JSONArray(content); } catch (Exception e) { throw new BusinessException(HarmonicResponseEnum.CUSTOM_REPORT_JSON); } @@ -149,7 +151,7 @@ public class CustomReportServiceImpl implements CustomReportService { minIoUtils.removeObject(minIoProperties.getBucket(), excelRptTempOld.getContent()); //文件上传到Minio服务器,存入文件名 - MinIoUploadResDTO minIoUploadResDTO = contentToMinio(reportTemplateParam.getContent()); + MinIoUploadResDTO minIoUploadResDTO = contentToMinio(reportTemplateParam.getFileContent()); reportTemplateParam.setContent(minIoUploadResDTO.getMinFileName()); //修改模板数据 @@ -331,8 +333,10 @@ public class CustomReportServiceImpl implements CustomReportService { } //文件上传到Minio服务器,存入文件名 - MinIoUploadResDTO minIoUploadResDTO = contentToMinio(jsonArray.toString()); - String content = minIoUploadResDTO.getMinFileName(); + File newFile = stringToFile(jsonArray.toString()); + MultipartFile newMultipartFile = getMultipartFile(newFile); + MinIoUploadResDTO minIoUploadResDTO = contentToMinio(newMultipartFile); + String newContent = minIoUploadResDTO.getMinFileName(); //根据模板激活状态,判断是否进库(未激活不进库,已激活进库) if (DataStateEnum.ENABLE.getCode().equals(reportSearchParam.getActivation())) { //存入报表库 @@ -341,13 +345,13 @@ public class CustomReportServiceImpl implements CustomReportService { excelRpt.setLineId(reportSearchParam.getLineId()); excelRpt.setDataDate(DateUtil.parse(reportSearchParam.getStartTime())); excelRpt.setTempId(excelRptTemp.getId()); - excelRpt.setContent(content); + excelRpt.setContent(newContent); excelRpt.setType(reportSearchParam.getType()); excelRpt.setState(DataStateEnum.ENABLE.getCode()); excelRptMapper.insert(excelRpt); } - return minIoUtils.getObjectUrl(minIoProperties.getBucket(), content, 7 * 24 * 60 * 60); + return minIoUtils.getObjectUrl(minIoProperties.getBucket(), newContent, 7 * 24 * 60 * 60); } @Override @@ -496,7 +500,7 @@ public class CustomReportServiceImpl implements CustomReportService { for (List columnValue : values) { for (int i = 0; i < columnValue.size(); i++) { if (columns.get(i).equals("value")) { - data.setValue(columnValue.get(i).toString()); + data.setValue(String.format("%.3f", columnValue.get(i))); } } } @@ -509,17 +513,13 @@ public class CustomReportServiceImpl implements CustomReportService { /** * 上传文件到Minio * - * @param content 文件 + * @param file 文件 * @return 成功标记 */ - private MinIoUploadResDTO contentToMinio(String content) { - //上传到minio - String businessTempPath = generalInfo.getBusinessTempPath(); - File file = stringToFile(content, businessTempPath + File.separator + "a.json"); - MultipartFile multiFile = getMultipartFile(file); + private MinIoUploadResDTO contentToMinio(MultipartFile file) { try { //把名称存入数据 - MinIoUploadResDTO upload = minIoUtils.upload(multiFile, minIoProperties.getBucket(), "report/"); + MinIoUploadResDTO upload = minIoUtils.upload(file, minIoProperties.getBucket(), "report/"); return upload; } catch (Exception e) { throw new BusinessException(HarmonicResponseEnum.CUSTOM_REPORT_FILE); @@ -527,24 +527,37 @@ public class CustomReportServiceImpl implements CustomReportService { } /** - * 将字符串写入指定文件 + * 文件Url 转 String * - * @param res 原字符串 - * @param filePath 文件路径 + * @param objectUrl 文件url * @return 成功标记 */ - public File stringToFile(String res, String filePath) { - boolean flag = true; + private String urlToString(String objectUrl) throws IOException { + URL url = new URL(objectUrl); + BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream())); + StringBuffer buffer = new StringBuffer(); + String line = " "; + while ((line = in.readLine()) != null){ + buffer.append(line); + } + return buffer.toString(); + } + + /** + * 字符串写入指定文件 + * + * @param res 原字符串 + * @return 成功标记 + */ + public File stringToFile(String res) { BufferedReader bufferedReader = null; BufferedWriter bufferedWriter = null; - File distFile = new File(filePath); + String businessTempPath = generalInfo.getBusinessTempPath(); + File distFile = new File(businessTempPath + File.separator + "temp.json"); try { - if (!distFile.getParentFile().exists()){ - distFile.getParentFile().mkdirs(); - } + if (!distFile.getParentFile().exists()) distFile.getParentFile().mkdirs(); bufferedReader = new BufferedReader(new StringReader(res)); bufferedWriter = new BufferedWriter(new FileWriter(distFile)); - //先清空 bufferedWriter.write(""); char buf[] = new char[1024]; //字符缓冲区 int len; @@ -569,12 +582,38 @@ public class CustomReportServiceImpl implements CustomReportService { } /** - * 将文件转成Multipart + * MultipartFile 转 String * - * @param file 文件 + * @param multipartFile 原字符串 * @return 成功标记 */ - private MultipartFile getMultipartFile(File file) { + private String MultipartFileToString(MultipartFile multipartFile) { + InputStreamReader isr; + BufferedReader br; + StringBuilder txtResult = new StringBuilder(); + try { + isr = new InputStreamReader(multipartFile.getInputStream(), StandardCharsets.UTF_8); + br = new BufferedReader(isr); + String lineTxt; + while ((lineTxt = br.readLine()) != null) { + txtResult.append(lineTxt); + } + isr.close(); + br.close(); + return txtResult.toString(); + } catch (IOException e) { + e.printStackTrace(); + return ""; + } + } + + /** + * File 转 MultipartFile + * + * @param file 原字符串 + * @return 成功标记 + */ + public static MultipartFile getMultipartFile(File file) { FileItem item = new DiskFileItemFactory().createItem("file" , MediaType.MULTIPART_FORM_DATA_VALUE , true @@ -590,21 +629,4 @@ public class CustomReportServiceImpl implements CustomReportService { return new CommonsMultipartFile(item); } - /** - * 将文件Url转成String - * - * @param objectUrl 文件url - * @return 成功标记 - */ - private String urlToString(String objectUrl) throws IOException { - URL url = new URL(objectUrl); - BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream())); - StringBuffer buffer = new StringBuffer(); - String line = " "; - while ((line = in.readLine()) != null){ - buffer.append(line); - } - return buffer.toString(); - } - } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java index 075163a48..9fd47be16 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java @@ -146,7 +146,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl lineInfo = new ArrayList<>(); PollutionParamDTO paramDTO = new PollutionParamDTO(); - String pollutionType = harmonicPublicParam.getStatisticalType ( ).getCode ( ); + String pollutionType = harmonicPublicParam.getStatisticalType ( ).getId (); String searchBeginTime = harmonicPublicParam.getSearchBeginTime ( ).substring (0,7); if (StringUtils.isBlank(RequestUtil.getDeptIndex())){ @@ -212,7 +212,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl list = new ArrayList<>(); List sub = generalDeviceInfoClient.getPracticalRunDeviceInfoAsSubstation(deptParam).getData(); - String pollutionType = deptParam.getStatisticalType ( ).getCode ( ); + String pollutionType = deptParam.getStatisticalType ( ).getId (); SimpleDateFormat s = new SimpleDateFormat(); String searchBeginTime = deptParam.getSearchBeginTime ( ).substring (0,7); sub.forEach(item->{ @@ -248,7 +248,8 @@ public class PollutionSubstationServiceImpl extends ServiceImpl line = new ArrayList<>(); - String pollutionType = harmonicPublicParam.getStatisticalType ( ).getCode ( ); + String pollutionType = harmonicPublicParam.getStatisticalType ( ).getId (); + String code = harmonicPublicParam.getStatisticalType ( ).getCode (); String searchBeginTime = harmonicPublicParam.getSearchBeginTime ( ).substring (0,7); PollutionParamDTO paramDTO = new PollutionParamDTO(); @@ -266,12 +267,10 @@ public class PollutionSubstationServiceImpl extends ServiceImpl lineData = rMpPollutionDPOMapper.selectMaxList ( line,pollutionType,searchBeginTime); if (!CollectionUtils.isEmpty(lineData)){ list.stream().map(list1->lineData.stream().filter(list2-> Objects.equals(list1.getId(),list2.getLineId ())).findAny().map(m->{ - /*todo 根据 pollutionType映射lineData取哪个字段目前先取一个值测试 */ - list1.setData(m.getVDev ()); + list1.setData (m.getValue ()); return list1; })).collect(Collectors.toList()); } @@ -280,4 +279,6 @@ public class PollutionSubstationServiceImpl extends ServiceImpl - * 服务实现类 + * 服务实现类 *

* * @author rui.wu diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/RMpPartHarmonicDetailMServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/RMpPartHarmonicDetailMServiceImpl.java index 6bdfeeabb..d30dac156 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/RMpPartHarmonicDetailMServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/RMpPartHarmonicDetailMServiceImpl.java @@ -32,7 +32,7 @@ import java.util.stream.Collectors; /** *

- * 服务实现类 + * 服务实现类 *

* * @author rui.wu @@ -50,16 +50,16 @@ public class RMpPartHarmonicDetailMServiceImpl extends ServiceImpl getRMpPartHarmonicDetail(RStatOrgParam param) { //根据部门获取监测点信息(根据部门过滤基本信息) - PmsDeviceInfoParam pms=new PmsDeviceInfoParam(); + PmsDeviceInfoParam pms = new PmsDeviceInfoParam(); pms.setDeptIndex(param.getId()); pms.setStatisticalType(new SimpleDTO()); List data = pmsGeneralDeviceInfoClient.getPmsDeviceInfoWithInOrg(pms).getData(); - List addIds=new ArrayList<>(); - data.stream().forEach(e-> addIds.addAll(e.getMonitorIdList())); + List addIds = new ArrayList<>(); + data.stream().forEach(e -> addIds.addAll(e.getMonitorIdList())); - if(CollectionUtil.isNotEmpty(addIds)){ + if (CollectionUtil.isNotEmpty(addIds)) { //根据监测点ids获取监测点相关详细信息(变电站id,电压id,监测点名称) - PmsMonitorParam dto=BeanUtil.copyProperties(param,PmsMonitorParam.class); + PmsMonitorParam dto = BeanUtil.copyProperties(param, PmsMonitorParam.class); dto.setMonitorIds(addIds); dto.setMonitorName(param.getMonitorName()); dto.setVoltageLevels(param.getVoltageLevels()); @@ -71,26 +71,26 @@ public class RMpPartHarmonicDetailMServiceImpl extends ServiceImpl devVoltageData = dicDataFeignClient.getDicDataByTypeCode( DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData(); Map devVoltageMap = devVoltageData.stream() - .collect(Collectors.toMap(DictData::getId, Function.identity())); + .collect(Collectors.toMap(DictData::getId, Function.identity())); //获取最新过滤的监测点id List ids = pmsMonitorDTOS.stream().map(PmsMonitorDTO::getId).collect(Collectors.toList()); //筛选出数据库对应监测点 - StatSubstationBizBaseParam baseParam= BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class); + StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class); baseParam.setIds(ids); List rMpPartHarmonicDetail = rMpSurplusHarmonicDetailMMapper.getRMpPartHarmonicDetail(baseParam); - if(CollectionUtil.isNotEmpty(rMpPartHarmonicDetail)){ + if (CollectionUtil.isNotEmpty(rMpPartHarmonicDetail)) { //因为只有月表,数据进行查询可能出现重复数据。进行分组 Map> detailVOMap = rMpPartHarmonicDetail.stream() .collect(Collectors.groupingBy(RMpPartHarmonicDetailVO::getMeasurementPointId)); - detailVOMap.forEach((Key,value)->{ - if(pmsMonitorDTOMap.containsKey(Key)){ + detailVOMap.forEach((Key, value) -> { + if (pmsMonitorDTOMap.containsKey(Key)) { PmsMonitorDTO dto1 = pmsMonitorDTOMap.get(Key); for (RMpPartHarmonicDetailVO rmp : value) { rmp.setOrgName(dto1.getOrgName()); rmp.setPowerrName(dto1.getPowerrName()); rmp.setMeasurementPointName(dto1.getName()); //获取字典电压等级名称 - if(devVoltageMap.containsKey(dto1.getVoltageLevel())){ + if (devVoltageMap.containsKey(dto1.getVoltageLevel())) { DictData data1 = devVoltageMap.get(dto1.getVoltageLevel()); rmp.setMonitorVoltageName(data1.getName()); } @@ -98,7 +98,7 @@ public class RMpPartHarmonicDetailMServiceImpl extends ServiceImpl - * 服务实现类 + * 服务实现类 *

* * @author rui.wu @@ -54,18 +54,18 @@ public class RMpPassRateServiceImpl extends ServiceImpl getRMpPassRateInfo(RStatOrgParam param) { //初始化对象 - List temp=new ArrayList<>(); + List temp = new ArrayList<>(); //根据部门获取监测点信息 - PmsDeviceInfoParam pms=new PmsDeviceInfoParam(); + PmsDeviceInfoParam pms = new PmsDeviceInfoParam(); pms.setDeptIndex(param.getId()); pms.setStatisticalType(new SimpleDTO()); List data = pmsGeneralDeviceInfoClient.getPmsDeviceInfoWithInOrg(pms).getData(); - List addIds=new ArrayList<>(); - data.stream().forEach(e-> addIds.addAll(e.getMonitorIdList())); + List addIds = new ArrayList<>(); + data.stream().forEach(e -> addIds.addAll(e.getMonitorIdList())); - if(CollectionUtil.isNotEmpty(addIds)){ + if (CollectionUtil.isNotEmpty(addIds)) { //根据监测点ids获取监测点相关详细信息(变电站id,电压id,监测点名称) - PmsMonitorParam dto=BeanUtil.copyProperties(param,PmsMonitorParam.class); + PmsMonitorParam dto = BeanUtil.copyProperties(param, PmsMonitorParam.class); dto.setMonitorIds(addIds); dto.setMonitorName(param.getMonitorName()); dto.setVoltageLevels(param.getVoltageLevels()); @@ -77,11 +77,11 @@ public class RMpPassRateServiceImpl extends ServiceImpl devVoltageData = dicDataFeignClient.getDicDataByTypeCode( DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData(); Map devVoltageMap = devVoltageData.stream() - .collect(Collectors.toMap(DictData::getId, Function.identity())); + .collect(Collectors.toMap(DictData::getId, Function.identity())); //获取最新过滤的监测点id List ids = pmsMonitorDTOS.stream().map(PmsMonitorDTO::getId).collect(Collectors.toList()); - StatSubstationBizBaseParam baseParam= BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class); + StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class); baseParam.setIds(ids); if (CollectionUtil.isNotEmpty(addIds)) { @@ -104,11 +104,11 @@ public class RMpPassRateServiceImpl extends ServiceImpl collect = temp.stream() .collect(Collectors.toMap(RStatOrgIndexVO::getMeasurementPointId, Function.identity())); - collect.forEach((Key,value)->{ - if(pmsMonitorDTOMap.containsKey(Key)){ + collect.forEach((Key, value) -> { + if (pmsMonitorDTOMap.containsKey(Key)) { //根据监测点信息,进行属性赋值 PmsMonitorDTO dto1 = pmsMonitorDTOMap.get(Key); value.setOrgNo(dto1.getOrgId()); @@ -116,7 +116,7 @@ public class RMpPassRateServiceImpl extends ServiceImpl> MeasurementTypeClassMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicM::getHarmonicType)); //重新生成数据结构 MeasurementTypeClassMap.forEach((key, value) -> { @@ -141,7 +142,7 @@ public class RStatHarmonicMServiceImpl extends ServiceImpl getRStatHarmonicIcon(RStatHarmonicMParam param) { + public List getRStatHarmonicIconVoltage(RStatHarmonicMParam param) { //干扰数据类型(监测对象) DictData measurementDate =null; //指标对象类型属性 @@ -216,12 +217,12 @@ public class RStatHarmonicMServiceImpl extends ServiceImpl getRStatHarmonicIcon2(RStatHarmonicMParam param) { + public List getRStatHarmonicIconDate(RStatHarmonicMParam param) { //初始化对象 List iconList=new ArrayList<>(); - DictData measurementDate =null; + DictData measurementDate; //指标对象类型属性 - DictData harmonicDate =null; + DictData harmonicDate; //判断是是否传入检测点信息值(电压) if(StrUtil.isBlank(param.getStasisID())&&StrUtil.isBlank(param.getMonitorID())){ //干扰数据类型(监测对象) @@ -294,6 +295,177 @@ public class RStatHarmonicMServiceImpl extends ServiceImpl getPwRStatHarmonicMAll(StatisticsBizBaseParam param) { + //对象主节点 获取所有的稳态类型 + List eventData = dicDataFeignClient.getDicDataByTypeCode( + DicDataTypeEnum.STEADY_STATIS.getCode()).getData(); + Map eventMap = eventData.stream() + .collect(Collectors.toMap(DictData::getId, Function.identity())); + + //子节点获取监测点类别 + List lineData = dicDataFeignClient.getDicDataByTypeCode( + DicDataTypeEnum.LINE_SORT.getCode()).getData(); + Map lineMap = lineData.stream() + .collect(Collectors.toMap(DictData::getId, Function.identity())); + + //获取配网id信息 + DictData distributionData = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData(); + //初始化指标类型(横向) + List arrayVOList=new ArrayList<>(); + //数据库查询 + List list = rStatHarmonicMMapper.selectList(new LambdaQueryWrapper() + .eq(RStatHarmonicM::getDataType,distributionData.getId()) + .ge(param.getStartTime()!=null, RStatHarmonicM::getDataDate, param.getStartTime()) + .le(param.getEndTime() != null, RStatHarmonicM::getDataDate, param.getEndTime())); + //根据稳态指标分组 + Map> measurementMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicM::getHarmonicType)); + //重新生成数据结构 + measurementMap.forEach((key, value) -> { + List eventVO=new ArrayList<>(); + if(eventMap.containsKey(key)){ + RArrayVO arrayVO=new RArrayVO(); + DictData data = eventMap.get(key); + arrayVO.setRowName(data.getName()); + arrayVO.setSort(data.getSort()); + for (RStatHarmonicM statHarmonic : value) { + RStatHarmonicMVO r = BeanUtil.copyProperties(statHarmonic, RStatHarmonicMVO.class); + DictData data1 = lineMap.get(statHarmonic.getMeasurementTypeClass()); + r.setHarmonicName(data1.getName()); + r.setSort(data1.getSort()); + DecimalFormat df = new DecimalFormat("###.00"); + Float averageOverDay = Float.parseFloat( + df.format(r.getOverDay()/(r.getOverLimitMeasurementAccrued()*1.0))); + r.setAverageOverDay(averageOverDay); + eventVO.add(r); + } + //根据监测点类别获取差集 + Map> listMap = value.stream().collect(Collectors.groupingBy(RStatHarmonicM::getMeasurementTypeClass)); + List differenceList = lineData.stream().filter(r -> !listMap.containsKey(r.getId())) + .collect(Collectors.toList()); + this.assignDict(differenceList, eventVO, arrayVO); + arrayVO.setColumns(eventVO); + eventVO.sort(Comparator.comparing(statHarmonic -> statHarmonic.getSort())); + arrayVOList.add(arrayVO); + } + }); + //处理主节点不存在的集合 + List notMeasurementList = eventData.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(lineData, statharmonicVO, arrayVO); + statharmonicVO.sort(Comparator.comparing(statHarmonic -> statHarmonic.getSort())); + arrayVOList.add(arrayVO); + } + arrayVOList.sort(Comparator.comparing(rArrayVO -> rArrayVO.getSort())); + return arrayVOList; + } + + @SneakyThrows + @Override + public List getPwRStatHarmonicIconDate(RStatHarmonicMParam param) { + //初始化对象 + List iconList=new ArrayList<>(); + DictData measurementDate; + //指标对象类型属性 + DictData harmonicDate; + //判断是是否传入检测点信息值(电压) + if(StrUtil.isBlank(param.getStasisID())&&StrUtil.isBlank(param.getMonitorID())){ + //干扰数据类型(监测对象) + List interferenceSourceTypeData = dicDataFeignClient.getDicDataByTypeCode( + DicDataTypeEnum.LINE_SORT.getCode()).getData(); + interferenceSourceTypeData.sort(Comparator.comparing(data -> data.getSort())); + measurementDate =interferenceSourceTypeData.get(0); + //指标对象类型 + List indicatorTypeDate = dicDataFeignClient.getDicDataByTypeCode( + DicDataTypeEnum.STEADY_STATIS.getCode()).getData(); + indicatorTypeDate.sort(Comparator.comparing(data -> data.getSort())); + harmonicDate =indicatorTypeDate.get(0); + }else{ + //获取检测点对象(电压) + measurementDate = dicDataFeignClient.getDicDataById( + param.getMonitorID()).getData(); + //获取指标对象(频率偏差) + harmonicDate= dicDataFeignClient.getDicDataById( + param.getStasisID()).getData(); + } + //反防止参数查询数据报错 + Assert.isTrue( + ObjectUtil.isNotNull(measurementDate)||ObjectUtil.isNotNull(harmonicDate) + , "监测点类别或者指标类型为空,请检查入参是否准确"); + //获取配网信息 + DictData distributionData = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData(); + + List rStatHarmonicVoltageMS = rStatHarmonicDMapper.selectList(new LambdaQueryWrapper() + .eq(RStatHarmonicD::getDataType,distributionData.getId()) + .eq(RStatHarmonicD::getMeasurementTypeClass, measurementDate.getId()) + .eq(RStatHarmonicD::getHarmonicType, harmonicDate.getId()) + .ge(StrUtil.isNotBlank(param.getStartTime()), RStatHarmonicD::getDataDate, param.getStartTime()) + .le(StrUtil.isNotBlank(param.getEndTime()), RStatHarmonicD::getDataDate, param.getEndTime()) + ); + Map> collect = + rStatHarmonicVoltageMS.stream().collect(Collectors.groupingBy(RStatHarmonicD::getDataDate)); + + //获取月份 + List intervalTime = this.getIntervalTime(param.getStartTime(), param.getEndTime()); + for (String interTime : intervalTime) { + //生成初始时间 + String startTime = PublicDateUtil.getFisrtDayOfMonth(Integer.parseInt(interTime.substring(0, 4)), Integer.parseInt(interTime.substring(5))); + String endTime = PublicDateUtil.getLastDayOfMonth(Integer.parseInt(interTime.substring(0, 4)), Integer.parseInt(interTime.substring(5))); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Date dt = simpleDateFormat.parse(startTime); + Date dtDate = simpleDateFormat.parse(endTime); + Integer year = Integer.valueOf(String.format("%tY", dt)); + Integer mon = Integer.valueOf(String.format("%tm", dt)); + Integer day = Integer.valueOf(String.format("%td", dtDate)); + //生成月份数据 + List dayTime = this.getIntervalDateTime(year, mon,day); + for (String s : dayTime) { + RHarmonicPolylineVO rPolylineVO=new RHarmonicPolylineVO(); + rPolylineVO.setDate(s); + if(collect.containsKey(LocalDateTimeUtil.parseDate(s,"yyyy-MM-dd"))){ + List rSd = collect.get(LocalDateTimeUtil.parseDate(s, "yyyy-MM-dd")); + rPolylineVO.setNum(rSd.get(0).getOverLimitMeasurement()); + rPolylineVO.setOverLimitMeasurementRatioAverage(rSd.get(0).getOverLimitMeasurementRatio()); + rPolylineVO.setAverageOverDay(1); + }else{ + rPolylineVO.setNum(0); + rPolylineVO.setAverageOverDay(0); + rPolylineVO.setOverLimitMeasurementRatioAverage(0.0f); + } + iconList.add(rPolylineVO); + } + + } + return iconList; + } + + /** + * 便利赋值 + * @param DictDataList 稳态指标类型集合 + * @param statharmonicVO 暂态监测点 + * @param arrayVO 初始化对象 + */ + private void assignDict(List DictDataList, List statharmonicVO, RArrayVO arrayVO) { + for (DictData dictData : DictDataList) { + RStatHarmonicMVO notStatHarmonicVO=new RStatHarmonicMVO(); + notStatHarmonicVO.setHarmonicName(dictData.getName()); + notStatHarmonicVO.setSort(dictData.getSort()); + notStatHarmonicVO.setOverLimitMeasurementAverage(0); + notStatHarmonicVO.setOverLimitMeasurementAccrued(0); + notStatHarmonicVO.setOverDay(0); + notStatHarmonicVO.setOverLimitMeasurementRatioAverage(0.0F); + notStatHarmonicVO.setOverLimitMeasurementRatioAccrued(0.0F); + notStatHarmonicVO.setAverageOverDay(0.0F); + statharmonicVO.add(notStatHarmonicVO); + } + arrayVO.setColumns(statharmonicVO); + } + /** * 根据用户选择的时间区间返回月份日期 */ diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/RStatHarmonicQServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/RStatHarmonicQServiceImpl.java index cc82740a2..da9adc57f 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/RStatHarmonicQServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/RStatHarmonicQServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.common.pojo.param.StatisticsBizBaseParam; import com.njcn.harmonic.mapper.RStatHarmonicQMapper; import com.njcn.harmonic.pojo.po.RStatHarmonicQ; +import com.njcn.harmonic.pojo.po.RStatHarmonicY; import com.njcn.harmonic.pojo.vo.RArrayVO; import com.njcn.harmonic.pojo.vo.RStatHarmonicMVO; import com.njcn.harmonic.service.RStatHarmonicQService; @@ -80,7 +81,7 @@ public class RStatHarmonicQServiceImpl extends ServiceImpl> MeasurementTypeClassMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicQ::getHarmonicType)); //重新生成数据结构 MeasurementTypeClassMap.forEach((key, value) -> { @@ -119,4 +120,92 @@ public class RStatHarmonicQServiceImpl extends ServiceImpl rArrayVO.getSort())); return aa; } + + @Override + public List getPwRStatHarmonicQAll(StatisticsBizBaseParam param) { + //对象主节点 获取所有的稳态类型 + List eventData = dicDataFeignClient.getDicDataByTypeCode( + DicDataTypeEnum.STEADY_STATIS.getCode()).getData(); + Map eventMap = eventData.stream() + .collect(Collectors.toMap(DictData::getId, Function.identity())); + + //子节点获取监测点类别 + List lineData = dicDataFeignClient.getDicDataByTypeCode( + DicDataTypeEnum.LINE_SORT.getCode()).getData(); + Map lineMap = lineData.stream() + .collect(Collectors.toMap(DictData::getId, Function.identity())); + + //获取配网id信息 + DictData distributionData = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData(); + //初始化指标类型(横向) + List arrayVOList=new ArrayList<>(); + //数据库查询 + List list = rStatHarmonicQMapper.selectList(new LambdaQueryWrapper() + .eq(RStatHarmonicQ::getDataType,distributionData.getId()) + .ge(param.getStartTime()!=null, RStatHarmonicQ::getDataDate, param.getStartTime()) + .le(param.getEndTime() != null, RStatHarmonicQ::getDataDate, param.getEndTime())); + //根据稳态指标分组 + Map> measurementMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicQ::getHarmonicType)); + //重新生成数据结构 + measurementMap.forEach((key, value) -> { + List eventVO=new ArrayList<>(); + if(eventMap.containsKey(key)){ + RArrayVO arrayVO=new RArrayVO(); + DictData data = eventMap.get(key); + arrayVO.setRowName(data.getName()); + arrayVO.setSort(data.getSort()); + for (RStatHarmonicQ statHarmonic : value) { + RStatHarmonicMVO r = BeanUtil.copyProperties(statHarmonic, RStatHarmonicMVO.class); + DictData data1 = lineMap.get(statHarmonic.getMeasurementTypeClass()); + r.setHarmonicName(data1.getName()); + r.setSort(data1.getSort()); + eventVO.add(r); + } + //根据监测点类别获取差集 + Map> listMap = value.stream().collect(Collectors.groupingBy(RStatHarmonicQ::getMeasurementTypeClass)); + List differenceList = lineData.stream().filter(r -> !listMap.containsKey(r.getId())) + .collect(Collectors.toList()); + this.assignDict(differenceList, eventVO, arrayVO); + arrayVO.setColumns(eventVO); + eventVO.sort(Comparator.comparing(statHarmonic -> statHarmonic.getSort())); + arrayVOList.add(arrayVO); + } + }); + //处理主节点不存在的集合 + List notMeasurementList = eventData.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(lineData, statharmonicVO, arrayVO); + statharmonicVO.sort(Comparator.comparing(statHarmonic -> statHarmonic.getSort())); + arrayVOList.add(arrayVO); + } + arrayVOList.sort(Comparator.comparing(rArrayVO -> rArrayVO.getSort())); + return arrayVOList; + } + + /** + * 便利赋值 + * @param DictDataList 稳态指标类型集合 + * @param statharmonicVO 暂态监测点 + * @param arrayVO 初始化对象 + */ + private void assignDict(List DictDataList, List statharmonicVO, RArrayVO arrayVO) { + for (DictData dictData : DictDataList) { + RStatHarmonicMVO notStatHarmonicVO=new RStatHarmonicMVO(); + notStatHarmonicVO.setHarmonicName(dictData.getName()); + notStatHarmonicVO.setSort(dictData.getSort()); + notStatHarmonicVO.setOverLimitMeasurementAverage(0); + notStatHarmonicVO.setOverLimitMeasurementAccrued(0); + notStatHarmonicVO.setOverDay(0); + notStatHarmonicVO.setOverLimitMeasurementRatioAverage(0.0F); + notStatHarmonicVO.setOverLimitMeasurementRatioAccrued(0.0F); + notStatHarmonicVO.setAverageOverDay(0.0F); + statharmonicVO.add(notStatHarmonicVO); + } + arrayVO.setColumns(statharmonicVO); + } } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/RStatHarmonicYServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/RStatHarmonicYServiceImpl.java index bdf0437a4..b6d267913 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/RStatHarmonicYServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/RStatHarmonicYServiceImpl.java @@ -23,7 +23,7 @@ import java.util.stream.Collectors; /** *

- * 服务实现类 + * 服务实现类 *

* * @author rui.wu @@ -53,13 +53,15 @@ public class RStatHarmonicYServiceImpl extends ServiceImpl list = rStatHarmonicYMapper.selectList(new LambdaQueryWrapper() - .eq(RStatHarmonicY::getDataType,mainnetData.getId()) + .eq(RStatHarmonicY::getDataType, mainnetData.getId()) .ge(StrUtil.isNotBlank(param.getStartTime()), RStatHarmonicY::getDataDate, param.getStartTime()) .le(StrUtil.isNotBlank(param.getEndTime()), RStatHarmonicY::getDataDate, param.getEndTime())); //初始化指标类型(横向) - List arrayVOList=new ArrayList<>(); - List rm=new ArrayList<>(); + List arrayVOList = new ArrayList<>(); + + + List rm = new ArrayList<>(); for (DictData lineTypeDatum : interferenceSourceTypeData) { RStatHarmonicMVO r = new RStatHarmonicMVO(); r.setHarmonicName(lineTypeDatum.getName()); @@ -79,16 +81,16 @@ public class RStatHarmonicYServiceImpl extends ServiceImpl> MeasurementTypeClassMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicY::getHarmonicType)); //重新生成数据结构 MeasurementTypeClassMap.forEach((key, value) -> { - if(lineTypeMap.containsKey(key)){ - RArrayVO arrayVO=new RArrayVO(); + 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<>(); + List b = new ArrayList<>(); b.addAll(rm); for (RStatHarmonicY rStatHarmonicY : value) { RStatHarmonicMVO r = BeanUtil.copyProperties(rStatHarmonicY, RStatHarmonicMVO.class); @@ -98,23 +100,112 @@ public class RStatHarmonicYServiceImpl extends ServiceImpl linkedHashMap=new LinkedHashMap<>(); + Map linkedHashMap = new LinkedHashMap<>(); for (RStatHarmonicMVO harmonicMVO : b) { - linkedHashMap.put(harmonicMVO.getHarmonicName(),harmonicMVO); + linkedHashMap.put(harmonicMVO.getHarmonicName(), harmonicMVO); } - List aa=new ArrayList<>(linkedHashMap.values()); + List aa = new ArrayList<>(linkedHashMap.values()); aa.sort(Comparator.comparing(rStatHarmonicMVO -> rStatHarmonicMVO.getSort())); arrayVO.setColumns(aa); arrayVOList.add(arrayVO); } }); - Map linkedHashMap=new LinkedHashMap<>(); + Map linkedHashMap = new LinkedHashMap<>(); for (RArrayVO rStatHarmonicMVO : arrayVOList) { - linkedHashMap.put(rStatHarmonicMVO.getRowName(),rStatHarmonicMVO); + linkedHashMap.put(rStatHarmonicMVO.getRowName(), rStatHarmonicMVO); } - List aa=new ArrayList<>(linkedHashMap.values()); + List aa = new ArrayList<>(linkedHashMap.values()); arrayVOList.sort(Comparator.comparing(rArrayVO -> rArrayVO.getSort())); return aa; } + + @Override + public List getPwRStatHarmonicYAll(StatisticsBizBaseParam param) { + //对象主节点 获取所有的稳态类型 + List eventData = dicDataFeignClient.getDicDataByTypeCode( + DicDataTypeEnum.STEADY_STATIS.getCode()).getData(); + Map eventMap = eventData.stream() + .collect(Collectors.toMap(DictData::getId, Function.identity())); + + //子节点获取监测点类别 + List lineData = dicDataFeignClient.getDicDataByTypeCode( + DicDataTypeEnum.LINE_SORT.getCode()).getData(); + Map lineMap = lineData.stream() + .collect(Collectors.toMap(DictData::getId, Function.identity())); + + //获取配网id信息 + DictData distributionData = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData(); + //初始化指标类型(横向) + List arrayVOList = new ArrayList<>(); + //数据库查询 + List list = rStatHarmonicYMapper.selectList(new LambdaQueryWrapper() + .eq(RStatHarmonicY::getDataType, distributionData.getId()) + .ge(param.getStartTime() != null, RStatHarmonicY::getDataDate, param.getStartTime()) + .le(param.getEndTime() != null, RStatHarmonicY::getDataDate, param.getEndTime())); + //根据稳态指标分组 + Map> measurementMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicY::getHarmonicType)); + //重新生成数据结构 + measurementMap.forEach((key, value) -> { + List eventVO = new ArrayList<>(); + if (eventMap.containsKey(key)) { + RArrayVO arrayVO = new RArrayVO(); + DictData data = eventMap.get(key); + arrayVO.setRowName(data.getName()); + arrayVO.setSort(data.getSort()); + for (RStatHarmonicY statHarmonic : value) { + RStatHarmonicMVO r = BeanUtil.copyProperties(statHarmonic, RStatHarmonicMVO.class); + DictData data1 = lineMap.get(statHarmonic.getMeasurementTypeClass()); + r.setHarmonicName(data1.getName()); + r.setSort(data1.getSort()); + eventVO.add(r); + } + //根据监测点类别获取差集 + Map> listMap = value.stream().collect(Collectors.groupingBy(RStatHarmonicY::getMeasurementTypeClass)); + List differenceList = lineData.stream().filter(r -> !listMap.containsKey(r.getId())) + .collect(Collectors.toList()); + this.assignDict(differenceList, eventVO, arrayVO); + arrayVO.setColumns(eventVO); + eventVO.sort(Comparator.comparing(statHarmonic -> statHarmonic.getSort())); + arrayVOList.add(arrayVO); + } + }); + //处理主节点不存在的集合 + List notMeasurementList = eventData.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(lineData, statharmonicVO, arrayVO); + statharmonicVO.sort(Comparator.comparing(statHarmonic -> statHarmonic.getSort())); + arrayVOList.add(arrayVO); + } + arrayVOList.sort(Comparator.comparing(rArrayVO -> rArrayVO.getSort())); + return arrayVOList; + } + + /** + * 便利赋值 + * + * @param DictDataList 稳态指标类型集合 + * @param statharmonicVO 暂态监测点 + * @param arrayVO 初始化对象 + */ + private void assignDict(List DictDataList, List statharmonicVO, RArrayVO arrayVO) { + for (DictData dictData : DictDataList) { + RStatHarmonicMVO notStatHarmonicVO = new RStatHarmonicMVO(); + notStatHarmonicVO.setHarmonicName(dictData.getName()); + notStatHarmonicVO.setSort(dictData.getSort()); + notStatHarmonicVO.setOverLimitMeasurementAverage(0); + notStatHarmonicVO.setOverLimitMeasurementAccrued(0); + notStatHarmonicVO.setOverDay(0); + notStatHarmonicVO.setOverLimitMeasurementRatioAverage(0.0F); + notStatHarmonicVO.setOverLimitMeasurementRatioAccrued(0.0F); + notStatHarmonicVO.setAverageOverDay(0.0F); + statharmonicVO.add(notStatHarmonicVO); + } + arrayVO.setColumns(statharmonicVO); + } } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/RStatLoadTypeServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/RStatLoadTypeServiceImpl.java index 6e3b6c41f..81ab5b67d 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/RStatLoadTypeServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/RStatLoadTypeServiceImpl.java @@ -28,7 +28,7 @@ import java.util.stream.Collectors; /** *

- * 服务实现类 + * 服务实现类 *

* * @author rui.wu @@ -52,13 +52,13 @@ public class RStatLoadTypeServiceImpl extends ServiceImpl data1 = dicDataFeignClient.getDicDataByTypeCode( DicDataTypeEnum.MONITORING_LABELS.getCode()).getData(); - List dictData = data1.stream().filter(dictdatas -> dictdatas.getLevel() == 1).collect(Collectors.toList()); - dictData.sort(Comparator.comparing(r ->r.getSort())); + List dictData = data1.stream().filter(dictdatas -> dictdatas.getLevel() == 1).collect(Collectors.toList()); + dictData.sort(Comparator.comparing(r -> r.getSort())); //初始化对象 List info = new ArrayList<>(); List temp = new ArrayList<>(); //根据部门进行筛选 - StatSubstationBizBaseParam baseParam=BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class); + StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class); baseParam.setIds(deptIds); if (CollectionUtil.isNotEmpty(data)) { // 类型(1年 2季度 3月份 @@ -91,12 +91,12 @@ public class RStatLoadTypeServiceImpl extends ServiceImpl> map = temp .stream().collect(Collectors.groupingBy(RStatLoadTypeVO::getOrgNo)); map.forEach((key, value) -> { - RArrayVO arrayVO=new RArrayVO(); + RArrayVO arrayVO = new RArrayVO(); arrayVO.setRowName(value.get(0).getOrgName()); //属性赋值监测点名称 for (DictData dictDatum : dictData) { for (RStatLoadTypeVO rStatLoadTypeVO : value) { - if(dictDatum.getId().equals(rStatLoadTypeVO.getLoadType())){ + if (dictDatum.getId().equals(rStatLoadTypeVO.getLoadType())) { rStatLoadTypeVO.setLoadName(dictDatum.getName()); rStatLoadTypeVO.setSort(dictDatum.getSort()); @@ -108,7 +108,7 @@ public class RStatLoadTypeServiceImpl extends ServiceImpl differenceList = dictData.stream().filter(r -> !listMap.containsKey(r.getId())) .collect(Collectors.toList()); for (DictData data4 : differenceList) { - RStatLoadTypeVO vo=new RStatLoadTypeVO(); + RStatLoadTypeVO vo = new RStatLoadTypeVO(); vo.setSort(data4.getSort()); vo.setOrgNo(key); vo.setOrgName(value.get(0).getOrgName()); @@ -126,7 +126,7 @@ public class RStatLoadTypeServiceImpl extends ServiceImplr.getSort())); + value.sort(Comparator.comparing(r -> r.getSort())); arrayVO.setColumns(value); info.add(arrayVO); }); diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/RStatOrgBusbarVoltageServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/RStatOrgBusbarVoltageServiceImpl.java index 2b6652b9a..156b452e7 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/RStatOrgBusbarVoltageServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/RStatOrgBusbarVoltageServiceImpl.java @@ -2,25 +2,18 @@ package com.njcn.harmonic.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; -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.device.pms.api.PmsGeneratrixClient; +import com.njcn.device.pms.pojo.dto.GeneratrixAndPowerStationDTO; +import com.njcn.device.pms.pojo.param.PmsGeneratrixParam; import com.njcn.harmonic.mapper.RStatOrgBusbarVoltageQMapper; import com.njcn.harmonic.mapper.RStatOrgBusbarVoltageYMapper; import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam; -import com.njcn.harmonic.pojo.po.RStatHarmonicOrgQ; import com.njcn.harmonic.pojo.po.RStatOrgBusbarVoltageM; import com.njcn.harmonic.mapper.RStatOrgBusbarVoltageMMapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.njcn.harmonic.pojo.po.RStatOrgBusbarVoltageQ; -import com.njcn.harmonic.pojo.po.RStatOrgBusbarVoltageY; import com.njcn.harmonic.pojo.vo.RStatOrgBusbarVoltageVO; -import com.njcn.harmonic.pojo.vo.RStatSubstationOrg2VO; -import com.njcn.harmonic.pojo.vo.RStatSubstationOrgVO; import com.njcn.harmonic.service.RStatOrgBusbarVoltageService; -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.web.utils.WebUtil; @@ -30,11 +23,12 @@ import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.function.Function; import java.util.stream.Collectors; /** *

- * 服务实现类 + * 服务实现类 *

* * @author rui.wu @@ -48,53 +42,63 @@ public class RStatOrgBusbarVoltageServiceImpl extends ServiceImpl getRStatOrgBusbarVoltage(StatisticsBizBaseParam param) { + public List getRStatOrgBusbarVoltage(StatSubstationBizBaseParam param) { //获取部门信息 List data = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); - List deptIds = data.stream().map(DeptDTO::getId).collect(Collectors.toList()); + Map deptMap = data.stream().collect(Collectors.toMap(DeptDTO::getId, Function.identity())); + //获取部门id集合 + List deptIds = data.stream().map(DeptDTO::getId).collect(Collectors.toList()); List info = new ArrayList<>(); List temp = new ArrayList<>(); if (CollectionUtil.isNotEmpty(data)) { -// List temp = new ArrayList<>(); - // 类型(1年 2季度 3月份 + StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class); + baseParam.setIds(deptIds); + // 类型(1年 2季度 3月份) switch (param.getType().toString()) { case BizParamConstant.STAT_BIZ_YEAR: - // 获取年区域暂态指标分类统计表 - List rStatOrgBusbarVoltageYS = rStatOrgBusbarVoltageYMapper.selectList(new LambdaQueryWrapper() - .in(RStatOrgBusbarVoltageY::getOrgNo, deptIds) - .ge(StrUtil.isNotBlank(param.getStartTime()), RStatOrgBusbarVoltageY::getDataDate, param.getStartTime()) - .le(StrUtil.isNotBlank(param.getEndTime()), RStatOrgBusbarVoltageY::getDataDate, param.getEndTime())); - temp=BeanUtil.copyToList(rStatOrgBusbarVoltageYS, RStatOrgBusbarVoltageVO.class); + // 获取年区域电站母线电压类指标超标计 + temp = rStatOrgBusbarVoltageYMapper.getYstatOrgBusbarVoltageVO(baseParam); break; case BizParamConstant.STAT_BIZ_QUARTER: - // 获取季区域暂态指标分类统计表 - List rStatOrgBusbarVoltageQS = rStatOrgBusbarVoltageQMapper.selectList(new LambdaQueryWrapper() - .in(RStatOrgBusbarVoltageQ::getOrgNo, deptIds) - .ge(StrUtil.isNotBlank(param.getStartTime()), RStatOrgBusbarVoltageQ::getDataDate, param.getStartTime()) - .le(StrUtil.isNotBlank(param.getEndTime()), RStatOrgBusbarVoltageQ::getDataDate, param.getEndTime())); - temp=BeanUtil.copyToList(rStatOrgBusbarVoltageQS, RStatOrgBusbarVoltageVO.class); + // 获取季区域电站母线电压类指标超标计 + temp = rStatOrgBusbarVoltageQMapper.getQstatOrgBusbarVoltageVO(baseParam); break; case BizParamConstant.STAT_BIZ_MONTH: - // 获取月区域暂态指标分类统计表 - List rStatOrgBusbarVoltageMS = rStatOrgBusbarVoltageMMapper.selectList(new LambdaQueryWrapper() - .in(RStatOrgBusbarVoltageM::getOrgNo, deptIds) - .ge(StrUtil.isNotBlank(param.getStartTime()), RStatOrgBusbarVoltageM::getDataDate, param.getStartTime()) - .le(StrUtil.isNotBlank(param.getEndTime()), RStatOrgBusbarVoltageM::getDataDate, param.getEndTime())); - temp=BeanUtil.copyToList(rStatOrgBusbarVoltageMS, RStatOrgBusbarVoltageVO.class); + // 获取月区域电站母线电压类指标超标计 + temp = rStatOrgBusbarVoltageMMapper.getMstatOrgBusbarVoltageVO(baseParam); break; default: break; - } - -// Map> map = temp -// .stream().collect(Collectors.groupingBy(RStatSubstationOrgVO::getOrgNo)); } - return temp; + if (CollectionUtil.isNotEmpty(temp)) { + //获取母线集合 + List busbarIds = temp.stream().map(RStatOrgBusbarVoltageVO::getBusbarId).collect(Collectors.toList()); + PmsGeneratrixParam generatrixParam=new PmsGeneratrixParam(); + generatrixParam.setGeneratrixIds(busbarIds); + generatrixParam.setGeneratrixVoltageLevel(param.getIds()); + List generatrixDTO = pmsGeneratrixClient.getGeneratrixAndPowerStationInfo(generatrixParam).getData(); + Map generatrixMap = generatrixDTO.stream().collect( + Collectors.toMap(GeneratrixAndPowerStationDTO::getGeneratrixId, Function.identity())); + Map orgMap = temp.stream().collect(Collectors.toMap(RStatOrgBusbarVoltageVO::getOrgNo, Function.identity())); + orgMap.forEach((key, value) -> { + if (deptMap.containsKey(key)) { + DeptDTO deptDTO = deptMap.get(key); + value.setOrgName(deptDTO.getName()); + if(generatrixMap.containsKey(value.getBusbarId())){ + GeneratrixAndPowerStationDTO dto = generatrixMap.get(value.getBusbarId()); + value.setBusbarVoltageLevel(dto.getGeneratrixVoltageLevel()); + value.setPowerStationName(dto.getPowerName()); + info.add(value); + } + } + }); + } + return info; } - } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/RStatOrgMServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/RStatOrgMServiceImpl.java index cebe8d804..1525ede8f 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/RStatOrgMServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/RStatOrgMServiceImpl.java @@ -51,32 +51,32 @@ public class RStatOrgMServiceImpl extends ServiceImpl list = rStatOrgMMapper.selectList(new LambdaQueryWrapper() - .eq(RStatOrgM::getDataType,mainnetData.getId()) - .in(RStatOrgM::getOrgNo,deptIds) + .eq(RStatOrgM::getDataType, mainnetData.getId()) + .in(RStatOrgM::getOrgNo, deptIds) .ge(StrUtil.isNotBlank(param.getStartTime()), RStatOrgM::getDataDate, param.getStartTime()) .le(StrUtil.isNotBlank(param.getEndTime()), RStatOrgM::getDataDate, param.getEndTime())); Map> collect = list.stream().collect(Collectors.groupingBy(RStatOrgM::getOrgNo)); - List newList=new ArrayList<>(); + List newList = new ArrayList<>(); collect.forEach((key, value) -> { - if(deptMap.containsKey(key)){ + if (deptMap.containsKey(key)) { for (RStatOrgM rStatOrgM : value) { DecimalFormat df = new DecimalFormat("###.00"); DeptDTO deptDTO = deptMap.get(key); RStatOrgVO rStatOrgVO = new RStatOrgVO(); rStatOrgVO.setOrgName(deptDTO.getName()); Float averageOverDay = Float.parseFloat( - df.format(rStatOrgM.getOverDayAccrued() / (rStatOrgM.getEffectiveMeasurementAccrued()*1.0))); + df.format(rStatOrgM.getOverDayAccrued() / (rStatOrgM.getEffectiveMeasurementAccrued() * 1.0))); rStatOrgVO.setAverageOverDay(averageOverDay); rStatOrgVO.setEffectiveMeasurementAverage(rStatOrgM.getEffectiveMeasurementAverage()); rStatOrgVO.setEffectiveMeasurementAccrued(rStatOrgM.getEffectiveMeasurementAccrued()); rStatOrgVO.setOverLimitMeasurementAverage(rStatOrgM.getHarmonicMeasurementAverage()); rStatOrgVO.setOverLimitMeasurementAccrued(rStatOrgM.getHarmonicMeasurementAccrued()); Float harmonicMeasurementRatioAverage = Float.parseFloat( - df.format(rStatOrgM.getHarmonicMeasurementAverage() / (rStatOrgM.getEffectiveMeasurementAverage()*1.0))); + df.format(rStatOrgM.getHarmonicMeasurementAverage() / (rStatOrgM.getEffectiveMeasurementAverage() * 1.0))); rStatOrgVO.setHarmonicMeasurementRatioAverage(harmonicMeasurementRatioAverage); Float harmonicMeasurementRatioAccrued = Float.parseFloat( - df.format(rStatOrgM.getHarmonicMeasurementAccrued() / (rStatOrgM.getEffectiveMeasurementAccrued()*1.0))); + df.format(rStatOrgM.getHarmonicMeasurementAccrued() / (rStatOrgM.getEffectiveMeasurementAccrued() * 1.0))); rStatOrgVO.setHarmonicMeasurementRatioAccrued(harmonicMeasurementRatioAccrued); newList.add(rStatOrgVO); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/RStatOrgQServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/RStatOrgQServiceImpl.java index 74e7b632b..fc59524c8 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/RStatOrgQServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/RStatOrgQServiceImpl.java @@ -52,15 +52,15 @@ public class RStatOrgQServiceImpl extends ServiceImpl list = rStatOrgQMapper.selectList(new LambdaQueryWrapper() - .eq(RStatOrgQ::getDataType,mainnetData.getId()) - .in(RStatOrgQ::getOrgNo,deptIds) + .eq(RStatOrgQ::getDataType, mainnetData.getId()) + .in(RStatOrgQ::getOrgNo, deptIds) .ge(StrUtil.isNotBlank(param.getStartTime()), RStatOrgQ::getDataDate, param.getStartTime()) .le(StrUtil.isNotBlank(param.getEndTime()), RStatOrgQ::getDataDate, param.getEndTime())); Map> collect = list.stream().collect(Collectors.groupingBy(RStatOrgQ::getOrgNo)); - List newList=new ArrayList<>(); + List newList = new ArrayList<>(); collect.forEach((key, value) -> { - if(deptMap.containsKey(key)){ + if (deptMap.containsKey(key)) { for (RStatOrgQ rStatOrgQ : value) { DeptDTO deptDTO = deptMap.get(key); RStatOrgVO rStatOrgVO = new RStatOrgVO(); @@ -72,10 +72,10 @@ public class RStatOrgQServiceImpl extends ServiceImpl list = rStatOrgYMapper.selectList(new LambdaQueryWrapper() - .eq(RStatOrgY::getDataType,mainnetData.getId()) - .in(RStatOrgY::getOrgNo,deptIds) + .eq(RStatOrgY::getDataType, mainnetData.getId()) + .in(RStatOrgY::getOrgNo, deptIds) .ge(StrUtil.isNotBlank(param.getStartTime()), RStatOrgY::getDataDate, param.getStartTime()) .le(StrUtil.isNotBlank(param.getEndTime()), RStatOrgY::getDataDate, param.getEndTime())); Map> collect = list.stream().collect(Collectors.groupingBy(RStatOrgY::getOrgNo)); - List newList=new ArrayList<>(); + List newList = new ArrayList<>(); collect.forEach((key, value) -> { - if(deptMap.containsKey(key)){ + if (deptMap.containsKey(key)) { for (RStatOrgY rStatOrgY : value) { DeptDTO deptDTO = deptMap.get(key); RStatOrgVO rStatOrgVO = new RStatOrgVO(); @@ -96,10 +96,10 @@ public class RStatOrgYServiceImpl extends ServiceImpl temp = new ArrayList<>(); // 过滤出部门id List deptIds = data.stream().map(DeptDTO::getId).collect(Collectors.toList()); - StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class); + StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class); baseParam.setIds(deptIds); //获取主网id信息 DictData mainnetData = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData(); @@ -129,15 +129,15 @@ public class RStatOrgYServiceImpl extends ServiceImpl> map = temp .stream().collect(Collectors.groupingBy(RStatSubstationOrgVO::getOrgNo)); map.forEach((key, value) -> { - RStatSubstationOrg2VO vo=new RStatSubstationOrg2VO(); + RStatSubstationOrg2VO vo = new RStatSubstationOrg2VO(); vo.setOrgNo(value.get(0).getOrgNo()); vo.setOrgName(value.get(0).getOrgName()); vo.setDataDate(value.get(0).getDataDate()); @@ -279,18 +279,18 @@ public class RStatOrgYServiceImpl extends ServiceImpl getRStatSubstation(StatSubstationBizBaseParam param) { - PmsDeviceInfoParam pms=new PmsDeviceInfoParam(); + PmsDeviceInfoParam pms = new PmsDeviceInfoParam(); pms.setDeptIndex(param.getId()); pms.setStatisticalType(new SimpleDTO()); List data = pmsGeneralDeviceInfoClient.getPmsDeviceInfoWithInOrg(pms).getData(); //生成变电站id集合 - List pAddIds=new ArrayList<>(); - data.stream().forEach(e-> pAddIds.addAll(e.getPowerrIdList())); + List pAddIds = new ArrayList<>(); + data.stream().forEach(e -> pAddIds.addAll(e.getPowerrIdList())); List rSubstationIconVO = new ArrayList<>(); //根据监测点id获取变电站信息 - PmsMonitorParam dto=new PmsMonitorParam(); - List mAddIds=new ArrayList<>(); - data.stream().forEach(e-> mAddIds.addAll(e.getMonitorIdList())); + PmsMonitorParam dto = new PmsMonitorParam(); + List mAddIds = new ArrayList<>(); + data.stream().forEach(e -> mAddIds.addAll(e.getMonitorIdList())); dto.setMonitorIds(mAddIds); dto.setPowerrIds(param.getIds()); //根据变电站分组 @@ -298,17 +298,17 @@ public class RStatOrgYServiceImpl extends ServiceImpl pmsMonitorDTOMap = pmsMonitorDTOS.stream() .collect(Collectors.toMap(PmsMonitorDTO::getPowerrId, Function.identity())); - if(CollUtil.isNotEmpty(pmsMonitorDTOS)){ + if (CollUtil.isNotEmpty(pmsMonitorDTOS)) { //获取最新过滤的变电站id List ids = pmsMonitorDTOS.stream().map(PmsMonitorDTO::getPowerrId).collect(Collectors.toList()); //根据id进行筛选 - StatSubstationBizBaseParam baseParam= BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class); + StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class); baseParam.setIds(ids); String string = param.getType().toString(); switch (string) { //查询变电站稳态指标平均超标天数-年数据 case BizParamConstant.STAT_BIZ_YEAR: - rSubstationIconVO =rStatSubstationYMapper.getStatSubstationIcon2Y(baseParam); + rSubstationIconVO = rStatSubstationYMapper.getStatSubstationIcon2Y(baseParam); break; //查询变电站稳态指标平均超标天数-季数据 case BizParamConstant.STAT_BIZ_QUARTER: @@ -322,20 +322,18 @@ public class RStatOrgYServiceImpl extends ServiceImpl rSubstationInfoVOS = BeanUtil.copyToList(rSubstationIconVO, RSubstationIcon2VO.RSubstationInfoVO.class); - if(CollectionUtil.isNotEmpty(rSubstationInfoVOS)){ + if (CollectionUtil.isNotEmpty(rSubstationInfoVOS)) { Map detailVOMap = rSubstationInfoVOS.stream() - .collect(Collectors.toMap(RSubstationIcon2VO.RSubstationInfoVO::getSubstationId,Function.identity())); - detailVOMap.forEach((Key,value)->{ - if(pmsMonitorDTOMap.containsKey(Key)){ + .collect(Collectors.toMap(RSubstationIcon2VO.RSubstationInfoVO::getSubstationId, Function.identity())); + detailVOMap.forEach((Key, value) -> { + if (pmsMonitorDTOMap.containsKey(Key)) { PmsMonitorDTO dto1 = pmsMonitorDTOMap.get(Key); value.setCityName(dto1.getOrgName()); value.setSubstationName(dto1.getPowerrName()); - //获取省级公司 -// value.setProvinceName(deptFeignClient.getAreaIdByDeptId()); } }); } - return rSubstationInfoVOS; + return rSubstationInfoVOS; } return null; } @@ -357,15 +355,15 @@ public class RStatOrgYServiceImpl extends ServiceImpl - * 服务实现类 + * 服务实现类 *

* * @author rui.wu @@ -49,7 +49,7 @@ public class RStatSubstationMServiceImpl extends ServiceImpl getStatSubstationIcon2(StatisticsBizBaseParam param) { //生成变电站id集合 List rSubstationIconVO = new ArrayList<>(); - StatSubstationBizBaseParam baseParam= BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class); + StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class); //根据id进行筛选 // baseParam.setIds(this.powerrIdList(param.getId())); String string = param.getType().toString(); @@ -98,13 +98,13 @@ public class RStatSubstationMServiceImpl extends ServiceImpl ids = rSubstationIconVO.stream().map(RSubstationIcon2VO::getSubstationId).collect(Collectors.toList()); - if(CollUtil.isNotEmpty(ids)){ - PmsStatationStatInfoParam pmsParam=new PmsStatationStatInfoParam(); + if (CollUtil.isNotEmpty(ids)) { + PmsStatationStatInfoParam pmsParam = new PmsStatationStatInfoParam(); pmsParam.setPowerIds(ids); List data1 = statationStatClient.getStatationStatInfo(pmsParam).getData(); - if (CollUtil.isNotEmpty(data1)){ + if (CollUtil.isNotEmpty(data1)) { for (PmsStatationStatInfoDTO dto : data1) { for (RSubstationIcon2VO vo : rSubstationIconVO) { if (dto.getPowerId().equals(vo.getSubstationId())) { @@ -118,14 +118,14 @@ public class RStatSubstationMServiceImpl extends ServiceImpl powerrIdList(String id){ + private List powerrIdList(String id) { //获取部门下面监测点信息 - PmsDeviceInfoParam pms=new PmsDeviceInfoParam(); + PmsDeviceInfoParam pms = new PmsDeviceInfoParam(); pms.setDeptIndex(id); pms.setStatisticalType(new SimpleDTO()); List data = pmsGeneralDeviceInfoClient.getPmsDeviceInfoWithInOrg(pms).getData(); - List addids=new ArrayList<>(); - data.stream().forEach(e-> addids.addAll(e.getPowerrIdList())); + List addids = new ArrayList<>(); + data.stream().forEach(e -> addids.addAll(e.getPowerrIdList())); return addids; } } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/THDistortionServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/THDistortionServiceImpl.java index 275c28e08..e2ab752c2 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/THDistortionServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/THDistortionServiceImpl.java @@ -114,7 +114,7 @@ public class THDistortionServiceImpl implements THDistortionService { * @Date: 2022/10/10 */ @Override - public List getTHDTopTenData(StatisticsBizBaseParam statisticsBizBaseParam) { + public List getTHDTopTenData(StatisticsBizBaseParam statisticsBizBaseParam,Integer topNum) { List rMpVThdVOList = new ArrayList<> (); DeviceInfoParam deviceInfoParam = new DeviceInfoParam (); @@ -129,10 +129,9 @@ public class THDistortionServiceImpl implements THDistortionService { List collect = deviceList.stream ( ).map (GeneralDeviceDTO::getLineIndexes).flatMap (Collection::stream).distinct ( ).collect (Collectors.toList ( )); QueryWrapper wrapper = new QueryWrapper<>(); wrapper.in ("measurement_point_id",collect). - eq ("data_type", statisticsBizBaseParam.getType ()). between ("data_date", statisticsBizBaseParam.getStartTime (), statisticsBizBaseParam.getEndTime ()). orderByDesc ("v_thd"). - last (" limit 10"); + last (" limit "+topNum); List rMpVThdList = rMpVThdMapper.selectList (wrapper); rMpVThdVOList = rMpVThdList.stream ( ).map (rMpVThd -> { RMpVThdVO rMpVThdVO = new RMpVThdVO ( ); diff --git a/pqs-harmonic/harmonic-boot/src/main/resources/bootstrap.yml b/pqs-harmonic/harmonic-boot/src/main/resources/bootstrap.yml index ddc4f5433..93c421f80 100644 --- a/pqs-harmonic/harmonic-boot/src/main/resources/bootstrap.yml +++ b/pqs-harmonic/harmonic-boot/src/main/resources/bootstrap.yml @@ -34,6 +34,10 @@ spring: refresh: true main: allow-bean-definition-overriding: true + servlet: + multipart: + max-file-size: 100MB + max-request-size: 100MB #项目日志的配置 diff --git a/pqs-job/job-executor/pom.xml b/pqs-job/job-executor/pom.xml index 061e5a8f9..4a93f8a33 100644 --- a/pqs-job/job-executor/pom.xml +++ b/pqs-job/job-executor/pom.xml @@ -65,18 +65,8 @@ com.njcn harmonic-prepare ${project.version} + compile - - - - - - - - - - - diff --git a/pqs-job/job-executor/src/main/java/com/njcn/executor/JobExecutorApplication.java b/pqs-job/job-executor/src/main/java/com/njcn/executor/JobExecutorApplication.java index b2daca55e..698ab352d 100644 --- a/pqs-job/job-executor/src/main/java/com/njcn/executor/JobExecutorApplication.java +++ b/pqs-job/job-executor/src/main/java/com/njcn/executor/JobExecutorApplication.java @@ -12,7 +12,6 @@ import org.springframework.cloud.openfeign.EnableFeignClients; * @date 2022年03月22日 10:07 */ @Slf4j -@MapperScan("com.njcn.**.mapper") @EnableFeignClients(basePackages = "com.njcn") @SpringBootApplication(scanBasePackages = "com.njcn") public class JobExecutorApplication { diff --git a/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/HarmAlarmDetailJob.java b/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/HarmAlarmDetailJob.java index 73f8de819..3417dbd40 100644 --- a/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/HarmAlarmDetailJob.java +++ b/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/HarmAlarmDetailJob.java @@ -1,25 +1,29 @@ -package com.njcn.executor.handler; - -import com.njcn.prepare.harmonic.api.line.NormalLimitFeignClient; -import com.xxl.job.core.handler.annotation.XxlJob; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Component; - -/** - * pqs - * 告警异常 - */ -@Slf4j -@Component -@RequiredArgsConstructor -public class HarmAlarmDetailJob { - - private final NormalLimitFeignClient normalLimitFeignClient; - - @XxlJob("harmAlarmDetailJob") - public void harmAlarmDetailJob(){ - normalLimitFeignClient.getNormLimitData(); - } - -} +//package com.njcn.executor.handler; +// +//import com.njcn.prepare.harmonic.api.line.NormalLimitFeignClient; +//import com.xxl.job.core.handler.annotation.XxlJob; +//import lombok.RequiredArgsConstructor; +//import lombok.extern.slf4j.Slf4j; +//import org.springframework.stereotype.Component; +// +// +///** +// * pqs +// * 告警异常 +// * +// * @author cdf +// * @date 2022/4/7 +// */ +//@Slf4j +//@Component +//@RequiredArgsConstructor +//public class HarmAlarmDetailJob { +// +// private final NormalLimitFeignClient normalLimitFeignClient; +// +// @XxlJob("harmAlarmDetailJob") +// public void harmAlarmDetailJob() { +// normalLimitFeignClient.getNormLimitData(); +// } +// +//} diff --git a/pqs-job/job-executor/src/main/resources/bootstrap.yml b/pqs-job/job-executor/src/main/resources/bootstrap.yml index 263f9f63b..022513965 100644 --- a/pqs-job/job-executor/src/main/resources/bootstrap.yml +++ b/pqs-job/job-executor/src/main/resources/bootstrap.yml @@ -46,7 +46,8 @@ logging: xxl: job: admin: - addresses: http://198.120.100.195:10217/job-admin +# addresses: http://198.120.100.195:10217/job-admin + addresses: http://192.168.1.29:10217/job-admin #执行器通讯TOKEN [选填]:非空时启用; accessToken: executor: diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/api/line/DistortionRateFeignClient.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/api/line/DistortionRateFeignClient.java new file mode 100644 index 000000000..300711029 --- /dev/null +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/api/line/DistortionRateFeignClient.java @@ -0,0 +1,27 @@ +package com.njcn.prepare.harmonic.api.line; + +import com.njcn.common.pojo.constant.ServerInfo; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.prepare.harmonic.api.line.fallback.DistortionRateFeignClientFallbackFactory; +import com.njcn.prepare.harmonic.pojo.param.LineParam; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +/** + * 谐波畸变率 + * @author xiaoyao + * @version 1.0.0 + * @createTime 2022/11/4 15:58 + */ +@FeignClient( + value = ServerInfo.HARMONIC_PREPARE, + path = "/distortion", + fallbackFactory = DistortionRateFeignClientFallbackFactory.class +) +public interface DistortionRateFeignClient { + + @PostMapping("/distortionRate") + HttpResult distortionRate(@RequestBody @Validated LineParam lineParam); +} diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/api/line/HarmonicGeneralFeignClient.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/api/line/HarmonicGeneralFeignClient.java new file mode 100644 index 000000000..783fef079 --- /dev/null +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/api/line/HarmonicGeneralFeignClient.java @@ -0,0 +1,28 @@ +package com.njcn.prepare.harmonic.api.line; + +import com.njcn.common.pojo.constant.ServerInfo; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.prepare.harmonic.api.line.fallback.DistortionRateFeignClientFallbackFactory; +import com.njcn.prepare.harmonic.pojo.param.LineParam; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +/** + * 稳态综合评估 + * @author xiaoyao + * @version 1.0.0 + * @createTime 2022/11/7 15:11 + */ + +@FeignClient( + value = ServerInfo.HARMONIC_PREPARE, + path = "/general", + fallbackFactory = DistortionRateFeignClientFallbackFactory.class +) +public interface HarmonicGeneralFeignClient { + + @PostMapping("/generalData") + HttpResult generalData(@RequestBody @Validated LineParam lineParam); +} diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/api/line/HarmonicMetricFeignClient.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/api/line/HarmonicMetricFeignClient.java new file mode 100644 index 000000000..9733f79de --- /dev/null +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/api/line/HarmonicMetricFeignClient.java @@ -0,0 +1,27 @@ +package com.njcn.prepare.harmonic.api.line; + +import com.njcn.common.pojo.constant.ServerInfo; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.prepare.harmonic.api.line.fallback.HarmonicMetricFeignClientFallbackFactory; +import com.njcn.prepare.harmonic.pojo.param.LineParam; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +/** + * @author xiaoyao + * @version 1.0.0 + * @createTime 2022/11/7 15:12 + */ + +@FeignClient( + value = ServerInfo.HARMONIC_PREPARE, + path = "/metric", + fallbackFactory = HarmonicMetricFeignClientFallbackFactory.class +) +public interface HarmonicMetricFeignClient { + + @PostMapping("/metricData") + HttpResult metricData(@RequestBody @Validated LineParam lineParam); +} diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/api/line/NormalLimitFeignClient.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/api/line/NormalLimitFeignClient.java index 9c6a71700..371bceafd 100644 --- a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/api/line/NormalLimitFeignClient.java +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/api/line/NormalLimitFeignClient.java @@ -3,10 +3,8 @@ package com.njcn.prepare.harmonic.api.line; import com.njcn.common.pojo.constant.ServerInfo; import com.njcn.common.pojo.response.HttpResult; import com.njcn.prepare.harmonic.api.line.fallback.NormalFeignClientFallbackFactory; -import com.njcn.prepare.harmonic.pojo.param.LineParam; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; /** * 自定义报表 @@ -14,9 +12,9 @@ import org.springframework.web.bind.annotation.RequestBody; * @date 2022/10/20 */ @FeignClient( - value = ServerInfo.HARMONIC_PREPARE,//对应模块名 - path = "/normalLimit",//对应controller请求类 - fallbackFactory = NormalFeignClientFallbackFactory.class//服务降级处理类 + value = ServerInfo.HARMONIC_PREPARE, + path = "/normalLimit", + fallbackFactory = NormalFeignClientFallbackFactory.class ) public interface NormalLimitFeignClient { diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/CoustomReportFeignClientFallbackFactory.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/CoustomReportFeignClientFallbackFactory.java index f2a94cdf8..a88d40d8a 100644 --- a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/CoustomReportFeignClientFallbackFactory.java +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/CoustomReportFeignClientFallbackFactory.java @@ -36,7 +36,7 @@ public class CoustomReportFeignClientFallbackFactory implements FallbackFactory< return new CoustmReportFeignClient() { @Override public HttpResult batchReport(@RequestBody LineParam reportParam){ - log.error("{}异常,降级处理,异常为:{}", "Date数据转Day数据: ", throwable.toString()); + log.error("{}异常,降级处理,异常为:{}", "生成自定义报表: ", throwable.toString()); throw new BusinessException(finalExceptionEnum); } }; diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/DistortionRateFeignClientFallbackFactory.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/DistortionRateFeignClientFallbackFactory.java new file mode 100644 index 000000000..f9e83540f --- /dev/null +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/DistortionRateFeignClientFallbackFactory.java @@ -0,0 +1,40 @@ +package com.njcn.prepare.harmonic.api.line.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.pq.utils.DeviceEnumUtil; +import com.njcn.prepare.harmonic.api.line.DistortionRateFeignClient; +import com.njcn.prepare.harmonic.pojo.param.LineParam; +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; + +/** + * @author xiaoyao + * @version 1.0.0 + * @createTime 2022/11/7 14:37 + */ +@Slf4j +@Component +public class DistortionRateFeignClientFallbackFactory implements FallbackFactory { + @Override + public DistortionRateFeignClient create(Throwable throwable) { + Enum exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK; + if (throwable.getCause() instanceof BusinessException) { + BusinessException businessException = (BusinessException)throwable.getCause(); + exceptionEnum = DeviceEnumUtil.getExceptionEnum(businessException.getResult()); + } + + Enum finalExceptionEnum = exceptionEnum; + return new DistortionRateFeignClient() { + @Override + public HttpResult distortionRate(@RequestBody @Validated LineParam lineParam){ + log.error("{}异常,降级处理,异常为:{}", "谐波畸变率: ", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; + } +} diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/HarmonicGeneralFeignClientFallbackFactory.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/HarmonicGeneralFeignClientFallbackFactory.java new file mode 100644 index 000000000..01c971378 --- /dev/null +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/HarmonicGeneralFeignClientFallbackFactory.java @@ -0,0 +1,40 @@ +package com.njcn.prepare.harmonic.api.line.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.pq.utils.DeviceEnumUtil; +import com.njcn.prepare.harmonic.api.line.HarmonicGeneralFeignClient; +import com.njcn.prepare.harmonic.pojo.param.LineParam; +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; + +/** + * @author xiaoyao + * @version 1.0.0 + * @createTime 2022/11/7 15:17 + */ +@Slf4j +@Component +public class HarmonicGeneralFeignClientFallbackFactory implements FallbackFactory { + @Override + public HarmonicGeneralFeignClient create(Throwable throwable) { + Enum exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK; + if (throwable.getCause() instanceof BusinessException) { + BusinessException businessException = (BusinessException)throwable.getCause(); + exceptionEnum = DeviceEnumUtil.getExceptionEnum(businessException.getResult()); + } + + Enum finalExceptionEnum = exceptionEnum; + return new HarmonicGeneralFeignClient() { + @Override + public HttpResult generalData(@RequestBody @Validated LineParam lineParam){ + log.error("{}异常,降级处理,异常为:{}", "稳态综合评估: ", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; + } +} diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/HarmonicMetricFeignClientFallbackFactory.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/HarmonicMetricFeignClientFallbackFactory.java new file mode 100644 index 000000000..0acf887c1 --- /dev/null +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/HarmonicMetricFeignClientFallbackFactory.java @@ -0,0 +1,40 @@ +package com.njcn.prepare.harmonic.api.line.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.pq.utils.DeviceEnumUtil; +import com.njcn.prepare.harmonic.api.line.HarmonicMetricFeignClient; +import com.njcn.prepare.harmonic.pojo.param.LineParam; +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; + +/** + * @author xiaoyao + * @version 1.0.0 + * @createTime 2022/11/7 15:14 + */ +@Slf4j +@Component +public class HarmonicMetricFeignClientFallbackFactory implements FallbackFactory { + @Override + public HarmonicMetricFeignClient create(Throwable throwable) { + Enum exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK; + if (throwable.getCause() instanceof BusinessException) { + BusinessException businessException = (BusinessException)throwable.getCause(); + exceptionEnum = DeviceEnumUtil.getExceptionEnum(businessException.getResult()); + } + + Enum finalExceptionEnum = exceptionEnum; + return new HarmonicMetricFeignClient() { + @Override + public HttpResult metricData(@RequestBody @Validated LineParam lineParam){ + log.error("{}异常,降级处理,异常为:{}", "稳态指标评估: ", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; + } +} diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/controller/line/DistortionRateController.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/controller/line/DistortionRateController.java new file mode 100644 index 000000000..fe0ab38b3 --- /dev/null +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/controller/line/DistortionRateController.java @@ -0,0 +1,45 @@ +package com.njcn.prepare.harmonic.controller.line; + +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.prepare.harmonic.pojo.param.LineParam; +import com.njcn.prepare.harmonic.service.line.DistortionRateService; +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 lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author xiaoyao + * @version 1.0.0 + * @createTime 2022/11/4 15:58 + */ +@Slf4j +@Api(tags = "谐波畸变率") +@RestController +@RequestMapping("/distortion") +@RequiredArgsConstructor +public class DistortionRateController extends BaseController { + + private final DistortionRateService distortionRateService; + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/distortionRate") + @ApiOperation("谐波畸变率排名") + @ApiImplicitParam(name = "lineParam", value = "参数", required = true) + public HttpResult distortionRate(@RequestBody @Validated LineParam lineParam){ + String methodDescribe = getMethodDescribe("distortionRate"); + distortionRateService.distortionRate(lineParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } +} diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/controller/line/HarmonicGeneralController.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/controller/line/HarmonicGeneralController.java new file mode 100644 index 000000000..ace376049 --- /dev/null +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/controller/line/HarmonicGeneralController.java @@ -0,0 +1,45 @@ +package com.njcn.prepare.harmonic.controller.line; + +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.prepare.harmonic.pojo.param.LineParam; +import com.njcn.prepare.harmonic.service.line.HarmonicGeneralService; +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 lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author xiaoyao + * @version 1.0.0 + * @createTime 2022/11/3 9:00 + */ +@Slf4j +@Api(tags = "稳态综合评估") +@RestController +@RequestMapping("/general") +@RequiredArgsConstructor +public class HarmonicGeneralController extends BaseController { + + private final HarmonicGeneralService harmonicGeneralService; + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/generalData") + @ApiOperation("稳态综合评估日数据计算") + @ApiImplicitParam(name = "lineParam", value = "参数", required = true) + public HttpResult generalData(@RequestBody @Validated LineParam lineParam){ + String methodDescribe = getMethodDescribe("generalData"); + harmonicGeneralService.generalData(lineParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } +} diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/controller/line/HarmonicMetricController.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/controller/line/HarmonicMetricController.java new file mode 100644 index 000000000..3e6e288b7 --- /dev/null +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/controller/line/HarmonicMetricController.java @@ -0,0 +1,46 @@ +package com.njcn.prepare.harmonic.controller.line; + +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.prepare.harmonic.pojo.param.LineParam; +import com.njcn.prepare.harmonic.service.line.HarmonicMetricService; +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 lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author xiaoyao + * @version 1.0.0 + * @createTime 2022/11/3 8:59 + */ + +@Slf4j +@Api(tags = "稳态指标评估") +@RestController +@RequestMapping("/metric") +@RequiredArgsConstructor +public class HarmonicMetricController extends BaseController { + + private final HarmonicMetricService harmonicMetricService; + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/metricData") + @ApiOperation("稳态指标评估日数据计算") + @ApiImplicitParam(name = "lineParam", value = "参数", required = true) + public HttpResult metricData(@RequestBody @Validated LineParam lineParam){ + String methodDescribe = getMethodDescribe("metricData"); + harmonicMetricService.metricData(lineParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } +} diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/mapper/line/RMpPollutionDMapper.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/mapper/line/RMpPollutionDMapper.java index 07e4d82d9..74efba5c1 100644 --- a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/mapper/line/RMpPollutionDMapper.java +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/mapper/line/RMpPollutionDMapper.java @@ -5,6 +5,7 @@ import com.njcn.prepare.harmonic.pojo.po.RMpPollutionD; import org.apache.ibatis.annotations.Param; import java.util.List; +import java.util.Map; /** *

@@ -16,6 +17,6 @@ import java.util.List; */ public interface RMpPollutionDMapper extends BaseMapper { - int insertPollution(@Param("item") RMpPollutionD item); + int insertPollution(@Param("item") Map item); } diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/mapper/line/RMpVThdMapper.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/mapper/line/RMpVThdMapper.java new file mode 100644 index 000000000..1ddac9c9c --- /dev/null +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/mapper/line/RMpVThdMapper.java @@ -0,0 +1,20 @@ +package com.njcn.prepare.harmonic.mapper.line; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.prepare.harmonic.pojo.po.RMpVThd; +import org.apache.ibatis.annotations.Param; + +import java.util.Map; + +/** + *

+ * 谐波畸变率排名 Mapper 接口 + *

+ * + * @author xiaoyao + * @since 2022-11-07 + */ +public interface RMpVThdMapper extends BaseMapper { + + int insertRate(@Param("item") Map item); +} diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/mapper/line/mapping/ExcelRptTempMapper.xml b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/mapper/line/mapping/ExcelRptTempMapper.xml index 3193e7530..976991c0a 100644 --- a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/mapper/line/mapping/ExcelRptTempMapper.xml +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/mapper/line/mapping/ExcelRptTempMapper.xml @@ -2,7 +2,7 @@ - SELECT DISTINCT t1.* FROM diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/mapper/line/mapping/RMpPollutionDMapper.xml b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/mapper/line/mapping/RMpPollutionDMapper.xml index c4b3450d2..fe03a2ea3 100644 --- a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/mapper/line/mapping/RMpPollutionDMapper.xml +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/mapper/line/mapping/RMpPollutionDMapper.xml @@ -3,11 +3,8 @@ - INSERT INTO r_mp_pollution_d ( line_Id, data_date, freq_dev, v_dev, v_unbalance, - v_all, plt, i_all, i_neg, v_inharm) VALUES - ( #{item.lineId}, #{item.dataDate}, #{item.freqDev}, #{item.vDev}, #{item.vUnbalance}, - #{item.vAll}, #{item.plt}, #{item.iAll}, #{item.iNeg}, #{item.vInharm} ) - ON DUPLICATE KEY UPDATE freq_dev = #{item.freqDev}, v_dev = #{item.vDev}, v_unbalance = #{item.vUnbalance}, - v_all = #{item.vAll}, plt = #{item.plt}, i_all = #{item.iAll}, i_neg = #{item.iNeg}, v_inharm = #{item.vInharm} + INSERT INTO r_mp_pollution_d ( line_id, data_date, pollution_type, `value`) VALUES + ( #{item.lineId}, #{item.dataDate}, #{item.pollutionType}, #{item.value} ) + ON DUPLICATE KEY UPDATE `value` = #{item.value} diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/mapper/line/mapping/RMpVThdMapper.xml b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/mapper/line/mapping/RMpVThdMapper.xml new file mode 100644 index 000000000..7390297c4 --- /dev/null +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/mapper/line/mapping/RMpVThdMapper.xml @@ -0,0 +1,11 @@ + + + + + + INSERT INTO r_mp_v_thd ( measurement_point_id, data_type, data_date, v_thd) VALUES + ( #{item.lineId}, #{item.dataType}, #{item.dataDate}, #{item.vThd} ) + ON DUPLICATE KEY UPDATE v_thd = #{item.vThd} + + + diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/pojo/po/DataFlickerPO.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/pojo/po/DataFlickerPO.java index 6516168e4..246e78409 100644 --- a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/pojo/po/DataFlickerPO.java +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/pojo/po/DataFlickerPO.java @@ -40,4 +40,8 @@ public class DataFlickerPO { @Column(name = "pst") private Double pst; + + //自定义字段 + @Column(name = "count") + private Integer count; } diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/pojo/po/DataPltPO.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/pojo/po/DataPltPO.java index 5a7d9d82c..f8ea7d9df 100644 --- a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/pojo/po/DataPltPO.java +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/pojo/po/DataPltPO.java @@ -32,4 +32,7 @@ public class DataPltPO { @Column(name = "flicker_all_time") private Integer flickerAllTime; + //自定义字段 + @Column(name = "mean") + private Double mean; } diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/pojo/po/DataVPO.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/pojo/po/DataVPO.java index 06b9e0007..fff09d0af 100644 --- a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/pojo/po/DataVPO.java +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/pojo/po/DataVPO.java @@ -211,4 +211,12 @@ public class DataVPO { //自定义字段-总计算次数 @Column(name = "all_time") private Integer allTime; + + //自定义字段 + @Column(name = "mean") + private Double mean; + + //自定义字段 + @Column(name = "count") + private Integer count; } diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/pojo/po/RMpPollutionD.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/pojo/po/RMpPollutionD.java index 8d7775306..c64828178 100644 --- a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/pojo/po/RMpPollutionD.java +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/pojo/po/RMpPollutionD.java @@ -20,7 +20,7 @@ public class RMpPollutionD implements Serializable { private static final long serialVersionUID = 1L; /** - * 监测点id + * 单位id */ @TableId(value = "line_id", type = IdType.AUTO) private String lineId; @@ -31,44 +31,14 @@ public class RMpPollutionD implements Serializable { private LocalDateTime dataDate; /** - * 频率偏差 + * 污区图统计类型 */ - private Float freqDev; + private String pollutionType; /** - * 电压偏差 + * 统计值 */ - private Float vDev; - - /** - * 三相电压不平衡度 - */ - private Float vUnbalance; - - /** - * 谐波电压(电压总谐波畸变率、各次谐波电压含有率) - */ - private Float vAll; - - /** - * 长时闪变 - */ - private Float plt; - - /** - * 谐波电流 - */ - private Float iAll; - - /** - * 负序电流 - */ - private Float iNeg; - - /** - * 间谐波电压含有率 - */ - private Float vInharm; + private Float value; public String getLineId() { return lineId; @@ -84,76 +54,28 @@ public class RMpPollutionD implements Serializable { public void setDataDate(LocalDateTime dataDate) { this.dataDate = dataDate; } - public Float getFreqDev() { - return freqDev; + public String getPollutionType() { + return pollutionType; } - public void setFreqDev(Float freqDev) { - this.freqDev = freqDev; + public void setPollutionType(String pollutionType) { + this.pollutionType = pollutionType; } - public Float getvDev() { - return vDev; + public Float getValue() { + return value; } - public void setvDev(Float vDev) { - this.vDev = vDev; - } - public Float getvUnbalance() { - return vUnbalance; - } - - public void setvUnbalance(Float vUnbalance) { - this.vUnbalance = vUnbalance; - } - public Float getvAll() { - return vAll; - } - - public void setvAll(Float vAll) { - this.vAll = vAll; - } - public Float getPlt() { - return plt; - } - - public void setPlt(Float plt) { - this.plt = plt; - } - public Float getiAll() { - return iAll; - } - - public void setiAll(Float iAll) { - this.iAll = iAll; - } - public Float getiNeg() { - return iNeg; - } - - public void setiNeg(Float iNeg) { - this.iNeg = iNeg; - } - public Float getvInharm() { - return vInharm; - } - - public void setvInharm(Float vInharm) { - this.vInharm = vInharm; + public void setValue(Float value) { + this.value = value; } @Override public String toString() { - return "RMpPollutionD{" + - "lineId=" + lineId + - ", dataDate=" + dataDate + - ", freqDev=" + freqDev + - ", vDev=" + vDev + - ", vUnbalance=" + vUnbalance + - ", vAll=" + vAll + - ", plt=" + plt + - ", iAll=" + iAll + - ", iNeg=" + iNeg + - ", vInharm=" + vInharm + - "}"; + return "RStatPollutionOrgD{" + + "lineId=" + lineId + + ", dataDate=" + dataDate + + ", pollutionType=" + pollutionType + + ", value=" + value + + "}"; } } diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/pojo/po/RMpVThd.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/pojo/po/RMpVThd.java new file mode 100644 index 000000000..753299b3c --- /dev/null +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/pojo/po/RMpVThd.java @@ -0,0 +1,81 @@ +package com.njcn.prepare.harmonic.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.TableId; +import java.io.Serializable; + +/** + *

+ * 谐波畸变率排名 + *

+ * + * @author xiaoyao + * @since 2022-11-07 + */ +@TableName("r_mp_v_thd") +public class RMpVThd implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 监测点ID + */ + @TableId(value = "measurement_point_id", type = IdType.AUTO) + private String measurementPointId; + + /** + * 排名类型,字典表(0日,1月,2季,3年) + */ + private String dataType; + + /** + * 时间 + */ + private LocalDateTime dataDate; + + /** + * 谐波畸变率 + */ + private Float vThd; + + public String getMeasurementPointId() { + return measurementPointId; + } + + public void setMeasurementPointId(String measurementPointId) { + this.measurementPointId = measurementPointId; + } + public String getDataType() { + return dataType; + } + + public void setDataType(String dataType) { + this.dataType = dataType; + } + public LocalDateTime getDataDate() { + return dataDate; + } + + public void setDataDate(LocalDateTime dataDate) { + this.dataDate = dataDate; + } + public Float getvThd() { + return vThd; + } + + public void setvThd(Float vThd) { + this.vThd = vThd; + } + + @Override + public String toString() { + return "RMpVThd{" + + "measurementPointId=" + measurementPointId + + ", dataType=" + dataType + + ", dataDate=" + dataDate + + ", vThd=" + vThd + + "}"; + } +} diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/Impl/line/DistortionRateServiceImpl.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/Impl/line/DistortionRateServiceImpl.java new file mode 100644 index 000000000..ae592e4d2 --- /dev/null +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/Impl/line/DistortionRateServiceImpl.java @@ -0,0 +1,74 @@ +package com.njcn.prepare.harmonic.service.Impl.line; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.LocalDateTimeUtil; +import com.njcn.device.pq.api.LineFeignClient; +import com.njcn.device.pq.pojo.po.Overlimit; +import com.njcn.influxdb.utils.InfluxDbUtils; +import com.njcn.prepare.harmonic.mapper.line.RMpVThdMapper; +import com.njcn.prepare.harmonic.pojo.param.LineParam; +import com.njcn.prepare.harmonic.pojo.po.DataVPO; +import com.njcn.prepare.harmonic.service.line.DistortionRateService; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.influxdb.dto.QueryResult; +import org.influxdb.impl.InfluxDBResultMapper; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @author xiaoyao + * @version 1.0.0 + * @createTime 2022/11/7 9:19 + */ +@Slf4j +@Service +@AllArgsConstructor +public class DistortionRateServiceImpl implements DistortionRateService { + + private final InfluxDbUtils influxDbUtils; + + private final LineFeignClient lineFeignClient; + + private final RMpVThdMapper rMpVThdMapper; + + @Override + public void distortionRate(LineParam lineParam) { + List lineIdOutList; + if (CollUtil.isEmpty(lineParam.getLineIds())){ + List overLimitList = getAllLineOutData(); + lineIdOutList = overLimitList.stream().map(Overlimit::getId).collect(Collectors.toList()); + }else { + lineIdOutList = new ArrayList<>(lineParam.getLineIds()); + } + LocalDateTime local = LocalDateTimeUtil.parse(lineParam.getDataDate() + "T00:00:00"); + for (String lineId : lineIdOutList){ + List rateOut = getDistortionRateInfluxDb(lineId,lineParam.getDataDate()); + if (rateOut.size() > 0){ + Map inMap = new HashMap<>(); + inMap.put("lineId",lineId); + inMap.put("dataType","0"); + inMap.put("dataDate",local); + inMap.put("vThd",rateOut.get(0).getVThd()); + rMpVThdMapper.insertRate(inMap); + } + } + } + + private List getDistortionRateInfluxDb(String lineId, String date){ + String processParam = " and line_id = '"+lineId+"' and time >= '"+date+" 00:00:00' and time <= '"+date+" 23:59:59' tz('Asia/Shanghai')"; + QueryResult result = influxDbUtils.query("SELECT line_id, max(v_thd) as v_thd FROM data_v WHERE phasic_type != 'T' and value_type = 'MAX'"+processParam); + InfluxDBResultMapper resultMapper = new InfluxDBResultMapper(); + return resultMapper.toPOJO(result, DataVPO.class); + } + + private List getAllLineOutData() { + return lineFeignClient.getAllLineOverLimit("harmonic-boot","").getData(); + } +} diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/Impl/line/HarmonicGeneralServiceImpl.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/Impl/line/HarmonicGeneralServiceImpl.java new file mode 100644 index 000000000..22e2dd97e --- /dev/null +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/Impl/line/HarmonicGeneralServiceImpl.java @@ -0,0 +1,188 @@ +package com.njcn.prepare.harmonic.service.Impl.line; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DateUtil; +import com.njcn.device.pq.api.LineFeignClient; +import com.njcn.device.pq.pojo.po.Overlimit; +import com.njcn.influxdb.utils.InfluxDbUtils; +import com.njcn.prepare.harmonic.pojo.param.LineParam; +import com.njcn.prepare.harmonic.pojo.po.DataFlickerPO; +import com.njcn.prepare.harmonic.pojo.po.DataVPO; +import com.njcn.prepare.harmonic.service.line.HarmonicGeneralService; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.influxdb.InfluxDB; +import org.influxdb.dto.BatchPoints; +import org.influxdb.dto.Point; +import org.influxdb.dto.QueryResult; +import org.influxdb.impl.InfluxDBResultMapper; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.*; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; + +/** + * 稳态综合评估 + * @author xiaoyao + * @version 1.0.0 + * @createTime 2022/11/3 11:06 + */ +@Slf4j +@Service +@AllArgsConstructor +public class HarmonicGeneralServiceImpl implements HarmonicGeneralService { + + private final InfluxDbUtils influxDbUtils; + + private final LineFeignClient lineFeignClient; + + @Override + public void generalData(LineParam lineParam) { + List lineIdOutList; + if (CollUtil.isEmpty(lineParam.getLineIds())){ + List overLimitList = getAllLineOutData(); + lineIdOutList = overLimitList.stream().map(Overlimit::getId).collect(Collectors.toList()); + }else { + lineIdOutList = new ArrayList<>(lineParam.getLineIds()); + } + Date dateOut = DateUtil.parse(lineParam.getDataDate()); + List records = new ArrayList<>(); + for (String lineId : lineIdOutList){ + Map tags = new HashMap<>(); + tags.put("line_id",lineId); + Map fields = getGeneralData(lineId,lineParam.getDataDate()); + if (CollUtil.isEmpty(fields)){ + continue; + } + Point point = influxDbUtils.pointBuilder("pqs_comasses", dateOut.getTime(), TimeUnit.MILLISECONDS,tags, fields); + BatchPoints batchPoints = BatchPoints.database(influxDbUtils.getDbName()).tag("line_id", lineId).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); + batchPoints.point(point); + records.add(batchPoints.lineProtocol()); + } + influxDbUtils.batchInsert(influxDbUtils.getDbName(),"", InfluxDB.ConsistencyLevel.ALL, records); + } + + private Map getGeneralData(String lineId, String date){ + InfluxDBResultMapper mapper = new InfluxDBResultMapper(); + BigDecimal hundred = BigDecimal.valueOf(100); + Map outMap = new HashMap<>(); + String processParam = " and line_id = '"+lineId+"' and time >= '" + +date+" 00:00:00' and time <= '"+date+" 23:59:59' group by time(1m) fill(none) tz('Asia/Shanghai')"; + + String vuDevSql = "select count(vu_dev) from data_v where phasic_type != 'T' and quality_flag = '0' and value_type = 'AVG' and "; + QueryResult vuDevResult1 = influxDbUtils.query(vuDevSql + "vu_dev >=10" + processParam); + QueryResult vuDevResult2 = influxDbUtils.query(vuDevSql + "vu_dev <10 and vu_dev >=7" + processParam); + QueryResult vuDevResult3 = influxDbUtils.query(vuDevSql + "vu_dev <7 and vu_dev >=4" + processParam); + QueryResult vuDevResult4 = influxDbUtils.query(vuDevSql + "vu_dev <4 and vu_dev >=2" + processParam); + QueryResult vuDevResult5 = influxDbUtils.query(vuDevSql + "vu_dev <2 and vu_dev >=0" + processParam); + BigDecimal vuDev1 = BigDecimal.valueOf(mapper.toPOJO(vuDevResult1, DataVPO.class).size()); + BigDecimal vuDev2 = BigDecimal.valueOf(mapper.toPOJO(vuDevResult2, DataVPO.class).size()); + BigDecimal vuDev3 = BigDecimal.valueOf(mapper.toPOJO(vuDevResult3, DataVPO.class).size()); + BigDecimal vuDev4 = BigDecimal.valueOf(mapper.toPOJO(vuDevResult4, DataVPO.class).size()); + BigDecimal vuDev5 = BigDecimal.valueOf(mapper.toPOJO(vuDevResult5, DataVPO.class).size()); + BigDecimal vuDevAll = vuDev1.add(vuDev2).add(vuDev3).add(vuDev4).add(vuDev5); + if (vuDevAll.compareTo(BigDecimal.ZERO)!=0){ + outMap.put("vu_dev1",vuDev1.multiply(hundred).divide(vuDevAll,3, RoundingMode.HALF_UP)); + outMap.put("vu_dev2",vuDev2.multiply(hundred).divide(vuDevAll,3, RoundingMode.HALF_UP)); + outMap.put("vu_dev3",vuDev3.multiply(hundred).divide(vuDevAll,3, RoundingMode.HALF_UP)); + outMap.put("vu_dev4",vuDev4.multiply(hundred).divide(vuDevAll,3, RoundingMode.HALF_UP)); + outMap.put("vu_dev5",vuDev5.multiply(hundred).divide(vuDevAll,3, RoundingMode.HALF_UP)); + } + + String freqDevSql = "select count(freq_dev) from data_v where phasic_type != 'T' and quality_flag = '0' and value_type = 'AVG' and "; + QueryResult freqDevResult1 = influxDbUtils.query(freqDevSql + "freq_dev >=0.3" + processParam); + QueryResult freqDevResult2 = influxDbUtils.query(freqDevSql + "freq_dev <0.3 and freq_dev >=0.2" + processParam); + QueryResult freqDevResult3 = influxDbUtils.query(freqDevSql + "freq_dev <0.2 and freq_dev >=0.1" + processParam); + QueryResult freqDevResult4 = influxDbUtils.query(freqDevSql + "freq_dev <0.1 and freq_dev >=0.05" + processParam); + QueryResult freqDevResult5 = influxDbUtils.query(freqDevSql + "freq_dev <0.05 and freq_dev >=0" + processParam); + BigDecimal freqDev1 = BigDecimal.valueOf(mapper.toPOJO(freqDevResult1, DataVPO.class).size()); + BigDecimal freqDev2 = BigDecimal.valueOf(mapper.toPOJO(freqDevResult2, DataVPO.class).size()); + BigDecimal freqDev3 = BigDecimal.valueOf(mapper.toPOJO(freqDevResult3, DataVPO.class).size()); + BigDecimal freqDev4 = BigDecimal.valueOf(mapper.toPOJO(freqDevResult4, DataVPO.class).size()); + BigDecimal freqDev5 = BigDecimal.valueOf(mapper.toPOJO(freqDevResult5, DataVPO.class).size()); + BigDecimal freqDevAll = freqDev1.add(freqDev2).add(freqDev3).add(freqDev4).add(freqDev5); + if (freqDevAll.compareTo(BigDecimal.ZERO)!=0){ + outMap.put("freq_dev1",freqDev1.multiply(hundred).divide(freqDevAll,3, RoundingMode.HALF_UP)); + outMap.put("freq_dev2",freqDev2.multiply(hundred).divide(freqDevAll,3, RoundingMode.HALF_UP)); + outMap.put("freq_dev3",freqDev3.multiply(hundred).divide(freqDevAll,3, RoundingMode.HALF_UP)); + outMap.put("freq_dev4",freqDev4.multiply(hundred).divide(freqDevAll,3, RoundingMode.HALF_UP)); + outMap.put("freq_dev5",freqDev5.multiply(hundred).divide(freqDevAll,3, RoundingMode.HALF_UP)); + } + + String vThdSql = "select count(v_thd) from data_v where phasic_type != 'T' and quality_flag = '0' and value_type = 'CP95' and "; + QueryResult vThdResult1 = influxDbUtils.query(vThdSql + "v_thd >=6" + processParam); + QueryResult vThdResult2 = influxDbUtils.query(vThdSql + "v_thd <6 and v_thd >=4" + processParam); + QueryResult vThdResult3 = influxDbUtils.query(vThdSql + "v_thd <4 and v_thd >=2" + processParam); + QueryResult vThdResult4 = influxDbUtils.query(vThdSql + "v_thd <2 and v_thd >=1" + processParam); + QueryResult vThdResult5 = influxDbUtils.query(vThdSql + "v_thd <1 and v_thd >=0" + processParam); + BigDecimal vThd1 = BigDecimal.valueOf(mapper.toPOJO(vThdResult1, DataVPO.class).size()); + BigDecimal vThd2 = BigDecimal.valueOf(mapper.toPOJO(vThdResult2, DataVPO.class).size()); + BigDecimal vThd3 = BigDecimal.valueOf(mapper.toPOJO(vThdResult3, DataVPO.class).size()); + BigDecimal vThd4 = BigDecimal.valueOf(mapper.toPOJO(vThdResult4, DataVPO.class).size()); + BigDecimal vThd5 = BigDecimal.valueOf(mapper.toPOJO(vThdResult5, DataVPO.class).size()); + BigDecimal vThdAll = vThd1.add(vThd2).add(vThd3).add(vThd4).add(vThd5); + if (vThdAll.compareTo(BigDecimal.ZERO)!=0){ + outMap.put("v_thd1",vThd1.multiply(hundred).divide(vThdAll,3, RoundingMode.HALF_UP)); + outMap.put("v_thd2",vThd2.multiply(hundred).divide(vThdAll,3, RoundingMode.HALF_UP)); + outMap.put("v_thd3",vThd3.multiply(hundred).divide(vThdAll,3, RoundingMode.HALF_UP)); + outMap.put("v_thd4",vThd4.multiply(hundred).divide(vThdAll,3, RoundingMode.HALF_UP)); + outMap.put("v_thd5",vThd5.multiply(hundred).divide(vThdAll,3, RoundingMode.HALF_UP)); + } + + String vUnbalanceSql="select count(v_unbalance) from data_v where phasic_type != 'T' and quality_flag = '0' and value_type = 'CP95' and "; + QueryResult vUnbalanceResult1 = influxDbUtils.query(vUnbalanceSql + "v_unbalance >=4" + processParam); + QueryResult vUnbalanceResult2 = influxDbUtils.query(vUnbalanceSql + "v_unbalance <4 and v_unbalance >=2" + processParam); + QueryResult vUnbalanceResult3 = influxDbUtils.query(vUnbalanceSql + "v_unbalance <2 and v_unbalance >=1" + processParam); + QueryResult vUnbalanceResult4 = influxDbUtils.query(vUnbalanceSql + "v_unbalance <1 and v_unbalance >=0.5" + processParam); + QueryResult vUnbalanceResult5 = influxDbUtils.query(vUnbalanceSql + "v_unbalance <0.5 and v_unbalance >=0" + processParam); + BigDecimal vUnbalance1 = BigDecimal.valueOf(mapper.toPOJO(vUnbalanceResult1, DataVPO.class).size()); + BigDecimal vUnbalance2 = BigDecimal.valueOf(mapper.toPOJO(vUnbalanceResult2, DataVPO.class).size()); + BigDecimal vUnbalance3 = BigDecimal.valueOf(mapper.toPOJO(vUnbalanceResult3, DataVPO.class).size()); + BigDecimal vUnbalance4 = BigDecimal.valueOf(mapper.toPOJO(vUnbalanceResult4, DataVPO.class).size()); + BigDecimal vUnbalance5 = BigDecimal.valueOf(mapper.toPOJO(vUnbalanceResult5, DataVPO.class).size()); + BigDecimal vUnbalanceAll = vUnbalance1.add(vUnbalance2).add(vUnbalance3).add(vUnbalance4).add(vUnbalance5); + if (vUnbalanceAll.compareTo(BigDecimal.ZERO)!=0){ + outMap.put("v_unbalance1",vUnbalance1.multiply(hundred).divide(vUnbalanceAll,3, RoundingMode.HALF_UP)); + outMap.put("v_unbalance2",vUnbalance2.multiply(hundred).divide(vUnbalanceAll,3, RoundingMode.HALF_UP)); + outMap.put("v_unbalance3",vUnbalance3.multiply(hundred).divide(vUnbalanceAll,3, RoundingMode.HALF_UP)); + outMap.put("v_unbalance4",vUnbalance4.multiply(hundred).divide(vUnbalanceAll,3, RoundingMode.HALF_UP)); + outMap.put("v_unbalance5",vUnbalance5.multiply(hundred).divide(vUnbalanceAll,3, RoundingMode.HALF_UP)); + } + + String pstSql="select count(pst) from data_flicker where phasic_type != 'T' and quality_flag = '0' and "; + QueryResult pstResult1 = influxDbUtils.query(pstSql + "pst >=0.8" + processParam); + QueryResult pstResult2 = influxDbUtils.query(pstSql + "pst <0.8 and pst >=0.6" + processParam); + QueryResult pstResult3 = influxDbUtils.query(pstSql + "pst <0.6 and pst >=0.4" + processParam); + QueryResult pstResult4 = influxDbUtils.query(pstSql + "pst <0.4 and pst >=0.2" + processParam); + QueryResult pstResult5 = influxDbUtils.query(pstSql + "pst <0.2 and pst >=0" + processParam); + BigDecimal pst1 = BigDecimal.valueOf(mapper.toPOJO(pstResult1, DataFlickerPO.class).size()); + BigDecimal pst2 = BigDecimal.valueOf(mapper.toPOJO(pstResult2, DataFlickerPO.class).size()); + BigDecimal pst3 = BigDecimal.valueOf(mapper.toPOJO(pstResult3, DataFlickerPO.class).size()); + BigDecimal pst4 = BigDecimal.valueOf(mapper.toPOJO(pstResult4, DataFlickerPO.class).size()); + BigDecimal pst5 = BigDecimal.valueOf(mapper.toPOJO(pstResult5, DataFlickerPO.class).size()); + BigDecimal pstAll = pst1.add(pst2).add(pst3).add(pst4).add(pst5); + if (pstAll.compareTo(BigDecimal.ZERO)!=0){ + outMap.put("data_pst1",pst1.multiply(hundred).divide(pstAll,3, RoundingMode.HALF_UP)); + outMap.put("data_pst2",pst2.multiply(hundred).divide(pstAll,3, RoundingMode.HALF_UP)); + outMap.put("data_pst3",pst3.multiply(hundred).divide(pstAll,3, RoundingMode.HALF_UP)); + outMap.put("data_pst4",pst4.multiply(hundred).divide(pstAll,3, RoundingMode.HALF_UP)); + outMap.put("data_pst5",pst5.multiply(hundred).divide(pstAll,3, RoundingMode.HALF_UP)); + } + + if (!CollUtil.isEmpty(outMap)){ + outMap.put("event1",100.0); + outMap.put("event2",0.0); + outMap.put("event3",0.0); + outMap.put("event4",0.0); + outMap.put("event5",0.0); + } + return outMap; + } + + private List getAllLineOutData() { + return lineFeignClient.getAllLineOverLimit("harmonic-boot","").getData(); + } +} diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/Impl/line/HarmonicMetricServiceImpl.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/Impl/line/HarmonicMetricServiceImpl.java new file mode 100644 index 000000000..3f20ca437 --- /dev/null +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/Impl/line/HarmonicMetricServiceImpl.java @@ -0,0 +1,88 @@ +package com.njcn.prepare.harmonic.service.Impl.line; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DateUtil; +import com.njcn.device.pq.api.LineFeignClient; +import com.njcn.device.pq.pojo.po.Overlimit; +import com.njcn.influxdb.utils.InfluxDbUtils; +import com.njcn.prepare.harmonic.pojo.param.LineParam; +import com.njcn.prepare.harmonic.pojo.po.DataPltPO; +import com.njcn.prepare.harmonic.pojo.po.DataVPO; +import com.njcn.prepare.harmonic.service.line.HarmonicMetricService; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.influxdb.InfluxDB; +import org.influxdb.dto.BatchPoints; +import org.influxdb.dto.Point; +import org.influxdb.dto.QueryResult; +import org.influxdb.impl.InfluxDBResultMapper; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; + +/** + * 稳态指标评估 + * @author xiaoyao + * @version 1.0.0 + * @createTime 2022/11/3 9:08 + */ +@Slf4j +@Service +@AllArgsConstructor +public class HarmonicMetricServiceImpl implements HarmonicMetricService { + + private final InfluxDbUtils influxDbUtils; + + private final LineFeignClient lineFeignClient; + + @Override + public void metricData(LineParam lineParam) { + List lineIdList; + if (CollUtil.isEmpty(lineParam.getLineIds())){ + List overLimitList = getAllLineData(); + lineIdList = overLimitList.stream().map(Overlimit::getId).collect(Collectors.toList()); + }else { + lineIdList = new ArrayList<>(lineParam.getLineIds()); + } + Date dateOut = DateUtil.parse(lineParam.getDataDate()); + List records = new ArrayList<>(); + for (String lineId : lineIdList){ + Map tags = new HashMap<>(); + tags.put("line_id",lineId); + Map fields = getMetricData(lineId,lineParam.getDataDate()); + Point point = influxDbUtils.pointBuilder("pqs_asses", dateOut.getTime(), TimeUnit.MILLISECONDS,tags, fields); + BatchPoints batchPoints = BatchPoints.database(influxDbUtils.getDbName()).tag("line_id", lineId).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); + batchPoints.point(point); + records.add(batchPoints.lineProtocol()); + } + influxDbUtils.batchInsert(influxDbUtils.getDbName(),"", InfluxDB.ConsistencyLevel.ALL, records); + } + + private Map getMetricData(String lineId,String date){ + String processParam = " and line_id = '"+lineId+"' and time >= '"+date+" 00:00:00' and time <= '"+date+" 23:59:59' tz('Asia/Shanghai')"; + QueryResult vuDevResult = influxDbUtils.query("select abs(vu_dev) as vu_dev from data_v where phasic_type != 'T' and value_type = 'AVG'"+processParam); + QueryResult vThdResult = influxDbUtils.query("select mean(v_thd) from data_v where phasic_type != 'T' and value_type = 'CP95'"+processParam); + QueryResult freqDevResult = influxDbUtils.query("select abs(freq_dev) as freq_dev from data_v where phasic_type = 'T' and value_type = 'AVG'"+processParam); + QueryResult vUnResult = influxDbUtils.query("select mean(v_unbalance) from data_v where phasic_type = 'T' and value_type = 'CP95'"+processParam); + QueryResult pltResult = influxDbUtils.query("select mean(plt) from data_plt where phasic_type != 'T'"+processParam); + InfluxDBResultMapper resultMapper = new InfluxDBResultMapper(); + List vuDev = resultMapper.toPOJO(vuDevResult, DataVPO.class); + List vThd = resultMapper.toPOJO(vThdResult, DataVPO.class); + List freqDev = resultMapper.toPOJO(freqDevResult, DataVPO.class); + List vUn = resultMapper.toPOJO(vUnResult, DataVPO.class); + List plt = resultMapper.toPOJO(pltResult, DataPltPO.class); + Map outMap = new HashMap<>(); + outMap.put("vu_dev",(vuDev.size()>0)?vuDev.stream().collect(Collectors.averagingDouble(DataVPO::getVuDev)):0.0); + outMap.put("v_thd_cp95",(vThd.size()>0)?vThd.get(0).getMean():0.0); + outMap.put("freq_dev",(freqDev.size()>0)?freqDev.stream().collect(Collectors.averagingDouble(DataVPO::getFreqDev)):0.0); + outMap.put("v_unbalance_cp95",(vUn.size()>0)?vUn.get(0).getMean():0.0); + outMap.put("data_plt",(plt.size()>0)?plt.get(0).getMean():0.0); + return outMap; + } + + private List getAllLineData() { + return lineFeignClient.getAllLineOverLimit("harmonic-boot","").getData(); + } +} \ No newline at end of file diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/Impl/line/OnlineRateServiceImpl.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/Impl/line/OnlineRateServiceImpl.java index 3460dc4a2..2f43b5d46 100644 --- a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/Impl/line/OnlineRateServiceImpl.java +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/Impl/line/OnlineRateServiceImpl.java @@ -60,13 +60,13 @@ public class OnlineRateServiceImpl implements OnlineRateService { Map tags = new HashMap<>(); Map fields = new HashMap<>(); Date newDate = Date.from(pqsCommunicate.getTime()); - OnLineRateDTO onLineRate = onLineMinute(newDate,dateOut,pqsCommunicate.getType(),pqsCommunicate.getLineId(),lineParam.getDataDate()); - tags.put("dev_id",pqsCommunicate.getLineId()); + OnLineRateDTO onLineRate = onLineMinute(newDate,dateOut,pqsCommunicate.getType(),pqsCommunicate.getDevId(),lineParam.getDataDate()); + tags.put("dev_id",pqsCommunicate.getDevId()); fields.put("online_min",onLineRate.getOnLineMinute()); fields.put("offline_min",onLineRate.getOffLineMinute()); fields.put("online_rate",onLineRate.getRate()); Point point = influxDbUtils.pointBuilder("pqs_onlinerate", dateOut.getTime(), TimeUnit.MILLISECONDS,tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbUtils.getDbName()).tag("dev_id", pqsCommunicate.getLineId()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); + BatchPoints batchPoints = BatchPoints.database(influxDbUtils.getDbName()).tag("dev_id", pqsCommunicate.getDevId()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); batchPoints.point(point); records.add(batchPoints.lineProtocol()); } diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/Impl/line/PollutionServiceImpl.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/Impl/line/PollutionServiceImpl.java index 4eede772f..857de28b6 100644 --- a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/Impl/line/PollutionServiceImpl.java +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/Impl/line/PollutionServiceImpl.java @@ -5,6 +5,7 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.date.TimeInterval; 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.response.HttpResult; import com.njcn.common.utils.LogUtil; @@ -23,9 +24,6 @@ import com.njcn.system.enums.DicDataTypeEnum; import com.njcn.system.pojo.po.DictData; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.influxdb.InfluxDB; -import org.influxdb.dto.BatchPoints; -import org.influxdb.dto.Point; import org.influxdb.dto.QueryResult; import org.influxdb.impl.InfluxDBResultMapper; import org.springframework.stereotype.Service; @@ -34,7 +32,6 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.time.LocalDateTime; import java.util.*; -import java.util.concurrent.TimeUnit; import java.util.function.BinaryOperator; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -82,9 +79,22 @@ public class PollutionServiceImpl implements PollutionService { public void processPollutionData(LineParam lineParam) { TimeInterval timer = new TimeInterval(); List pollutionList; - //Line_id集合不存在以及时间类型为日的情况下执行influxdb计算 - if (CollUtil.isEmpty(lineParam.getLineIds()) && Integer.valueOf(BizParamConstant.STAT_BIZ_DAY).equals(lineParam.getType())){ - List overLimitList = getAllLinesLimitData(); + LocalDateTime local = LocalDateTimeUtil.now(); + if (StrUtil.isNotBlank(lineParam.getDataDate())){ + local = LocalDateTimeUtil.parse(lineParam.getDataDate() + "T00:00:00"); + } + List dictData = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.POLLUTION_STATIS.getCode()).getData(); + //时间类型为日的情况下执行influxdb计算 + if (Integer.valueOf(BizParamConstant.STAT_BIZ_DAY).equals(lineParam.getType())){ + List overLimitList = new ArrayList<>(); + if (CollUtil.isEmpty(lineParam.getLineIds())){ + overLimitList = getAllLinesLimitData(); + }else { + for (String lineId : lineParam.getLineIds()){ + Overlimit overlimit = lineFeignClient.getOverLimitData(lineId).getData(); + overLimitList.add(overlimit); + } + } List lineList = overLimitList.stream().map(Overlimit::getId).collect(Collectors.toList()); //指标数据获取 List harmonicVoltageList = getHarmonicVoltage(overLimitList,lineParam.getDataDate()); @@ -93,7 +103,7 @@ public class PollutionServiceImpl implements PollutionService { List voltageDeviationList = getVoltageDeviation(overLimitList,lineParam.getDataDate()); List threePhaseVoltageList = getThreePhaseVoltageUnbalance(overLimitList,lineParam.getDataDate()); List negativeSequenceList = getNegativeSequenceCurrent(overLimitList,lineParam.getDataDate()); - List interharmonicVoltageList = getInterharmonicVoltage(overLimitList,lineParam.getDataDate()); + List interHarmonicVoltageList = getInterharmonicVoltage(overLimitList,lineParam.getDataDate()); List voltageFlickerList = getVoltageFlicker(overLimitList,lineParam.getDataDate()); LogUtil.njcnDebug(log, "监测点污染指标数据查询耗时:{}", timer.intervalRestart()); @@ -103,131 +113,77 @@ public class PollutionServiceImpl implements PollutionService { pollutionDTO.setLineId(item); lineIdList.add(pollutionDTO); }); - pollutionList = processPollutionList(lineIdList,harmonicVoltageList,harmonicCurrentList,frequencyDeviationList,voltageDeviationList,threePhaseVoltageList,negativeSequenceList,interharmonicVoltageList,voltageFlickerList); - - Date dateOut = new Date(); - //入表harmonic_pollution - if (StrUtil.isNotBlank(lineParam.getDataDate())){ - dateOut = DateUtil.parse(lineParam.getDataDate()); - } - insertPolluction(pollutionList,dateOut.getTime()); - LogUtil.njcnDebug(log, "监测点污染指标数据harmonic_pollution插入耗时:{}", timer.intervalRestart()); - }else { - //获取harmonic_pollution数据 - pollutionList = getDataPolluction(lineParam); + pollutionList = processPollutionList(lineIdList,harmonicVoltageList,harmonicCurrentList,frequencyDeviationList,voltageDeviationList,threePhaseVoltageList,negativeSequenceList,interHarmonicVoltageList,voltageFlickerList); + //原逻辑修改,influxDb不再进行存储日数据,改为Mysql直存 + /*insertPolluction(pollutionList,dateOut.getTime());*/ + //MySql入表 r_mp_pollution_d + insertPollutionDayMySql(pollutionList, dictData, local); + LogUtil.njcnDebug(log, "监测点污染指标数据MySql插入耗时:{}", timer.intervalRestart()); } - //MySql入表污区图表等 - LocalDateTime local = LocalDateTimeUtil.now(); - if (StrUtil.isNotBlank(lineParam.getDataDate())){ - local = LocalDateTimeUtil.parse(lineParam.getDataDate() + "T00:00:00"); - } - if (Integer.valueOf(BizParamConstant.STAT_BIZ_DAY).equals(lineParam.getType())){ + //原逻辑修改,influxDb不再进行存储日数据,改为Mysql直存 + /*if (Integer.valueOf(BizParamConstant.STAT_BIZ_DAY).equals(lineParam.getType())){ insertLinePollution(pollutionList,local); + }*/ + Date dateOut = DateUtil.parse(lineParam.getDataDate()); + LocalDateTime localEnd = LocalDateTimeUtil.now(); + LambdaQueryWrapper lambdaQuery = new LambdaQueryWrapper<>(); + if (Integer.valueOf(BizParamConstant.STAT_BIZ_DAY).equals(lineParam.getType())){ + localEnd = LocalDateTimeUtil.parse(lineParam.getDataDate() + "T23:59:59"); + }else if (Integer.valueOf(BizParamConstant.STAT_BIZ_MONTH).equals(lineParam.getType())){ + Date dateOutb = DateUtil.beginOfMonth(dateOut); + Date dateOute = DateUtil.endOfMonth(dateOut); + local = LocalDateTimeUtil.parse(DateUtil.formatDate(dateOutb) + "T00:00:00"); + localEnd = LocalDateTimeUtil.parse(DateUtil.formatDate(dateOute) + "T23:59:59"); + }else if (Integer.valueOf(BizParamConstant.STAT_BIZ_QUARTER).equals(lineParam.getType())){ + Date dateOutb = DateUtil.beginOfQuarter(dateOut); + Date dateOute = DateUtil.endOfQuarter(dateOut); + local = LocalDateTimeUtil.parse(DateUtil.formatDate(dateOutb) + "T00:00:00"); + localEnd = LocalDateTimeUtil.parse(DateUtil.formatDate(dateOute) + "T23:59:59"); + }else if (Integer.valueOf(BizParamConstant.STAT_BIZ_YEAR).equals(lineParam.getType())){ + Date dateOutb = DateUtil.beginOfYear(dateOut); + Date dateOute = DateUtil.endOfYear(dateOut); + local = LocalDateTimeUtil.parse(DateUtil.formatDate(dateOutb) + "T00:00:00"); + localEnd = LocalDateTimeUtil.parse(DateUtil.formatDate(dateOute) + "T23:59:59"); } - insertPolluctionMySql(pollutionList, local, lineParam.getType()); + lambdaQuery.ge(RMpPollutionD::getDataDate, local).le(RMpPollutionD::getDataDate,localEnd); + List pollutionDayList = rMpPollutionDMapper.selectList(lambdaQuery); + //MySql入表变电站、单位 + insertPolluctionMySql(pollutionDayList, dictData, local, lineParam.getType()); LogUtil.njcnDebug(log, "监测点污染指标数据完成耗时:{}", timer.intervalRestart()); } /** * MySql入表 */ - private void insertPolluctionMySql(List pollutionList, LocalDateTime local, Integer type){ + private void insertPolluctionMySql(List pollutionDayList,List dictData, LocalDateTime local, Integer type){ HttpResult>> substationOut = lineFeignClient.getLineBySubstationRelation(1); HttpResult>> unitOut = deptLineFeignClient.getLineByDeptRelation(1); Map> substationMap = substationOut.getData(); Map> unitMap = unitOut.getData(); - List polluctionList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.POLLUTION_STATIS.getCode()).getData(); - - insertSubstation(polluctionList,substationMap,pollutionList,local,type); - insertUnit(polluctionList,unitMap,pollutionList,local,type); - } - - private List getDataPolluction(LineParam lineParam){ - List lineList; - if (CollUtil.isEmpty(lineParam.getLineIds())){ - List overLimitList = getAllLinesLimitData(); - lineList = overLimitList.stream().map(Overlimit::getId).collect(Collectors.toList()); - }else { - lineList = new ArrayList<>(lineParam.getLineIds()); - } - List pollutionDTOList = new ArrayList<>(); - InfluxDBResultMapper resultMapper = new InfluxDBResultMapper(); - for (String lineId : lineList){ - String sql="SELECT * FROM harmonic_pollution where line_id = '" + lineId +"' "+processDate(lineParam.getDataDate(),lineParam.getType()); - QueryResult dataPolluctionResult = influxDbUtils.query(sql); - List threePhaseList = resultMapper.toPOJO(dataPolluctionResult, DataPolluctionPO.class); - for (DataPolluctionPO dataPolluction : threePhaseList){ - PollutionDTO pollutionDTO = new PollutionDTO(); - pollutionDTO.setLineId(dataPolluction.getLineId()); - pollutionDTO.setFreqDev(dataPolluction.getFreqDev()); - pollutionDTO.setVDev(dataPolluction.getVDev()); - pollutionDTO.setVUnbalance(dataPolluction.getVUnbalance()); - pollutionDTO.setVAll(dataPolluction.getVAll()); - pollutionDTO.setPlt(dataPolluction.getPlt()); - pollutionDTO.setIAll(dataPolluction.getIAll()); - pollutionDTO.setINeg(dataPolluction.getINeg()); - pollutionDTO.setVInharm(dataPolluction.getVInharm()); - pollutionDTOList.add(pollutionDTO); - } - } - return pollutionDTOList; + insertSubstation(dictData,substationMap,pollutionDayList,local,type); + insertUnit(dictData,unitMap,pollutionDayList,local,type); } /*MySql入表 r_mp_pollution_d*/ - private void insertLinePollution(List pollutionList, LocalDateTime local){ + private void insertPollutionDayMySql(List pollutionList,List dictDataList, LocalDateTime local){ for (PollutionDTO pollution : pollutionList){ - RMpPollutionD rMpPollution = new RMpPollutionD(); - rMpPollution.setLineId(pollution.getLineId()); - rMpPollution.setFreqDev(pollution.getFreqDev().floatValue()); - rMpPollution.setvDev(pollution.getVDev().floatValue()); - rMpPollution.setvUnbalance(pollution.getVUnbalance().floatValue()); - rMpPollution.setvAll(pollution.getVAll().floatValue()); - rMpPollution.setPlt(pollution.getPlt().floatValue()); - rMpPollution.setiAll(pollution.getIAll().floatValue()); - rMpPollution.setiNeg(pollution.getINeg().floatValue()); - rMpPollution.setvInharm(pollution.getVInharm().floatValue()); - rMpPollution.setDataDate(local); - rMpPollutionDMapper.insertPollution(rMpPollution); + Map inMap = new HashMap<>(); + inMap.put("lineId",pollution.getLineId()); + inMap.put("dataDate",local); + for (DictData dictData : dictDataList){ + processDataLineId(dictData, pollution, inMap); + rMpPollutionDMapper.insertPollution(inMap); + } } } /*MySql入表 r_stat_pollution_substation*/ - private void insertSubstation(List polluctionList,Map> substationMap,List pollutionList,LocalDateTime local, Integer type){ + private void insertSubstation(List dictDataList,Map> substationMap,List pollutionDayList,LocalDateTime local, Integer type){ for (String key : substationMap.keySet()){ - List processList = new ArrayList<>(); + List processList = new ArrayList<>(); List substationList = substationMap.get(key); for(String lineid : substationList){ - for (PollutionDTO pollution : pollutionList){ - if (lineid.equals(pollution.getLineId())){ - processList.add(pollution); - } - } - } - Map inMap = new HashMap<>(); - inMap.put("orgId",key); - inMap.put("dataDate",local); - for (DictData dictData : polluctionList){ - inMap = processData(dictData,processList,inMap); - if (Integer.valueOf(BizParamConstant.STAT_BIZ_DAY).equals(type)){ - rStatPollutionOrgDMapper.insertPollution(inMap); - }else if (Integer.valueOf(BizParamConstant.STAT_BIZ_MONTH).equals(type)){ - rStatPollutionOrgMMapper.insertPollution(inMap); - }else if (Integer.valueOf(BizParamConstant.STAT_BIZ_QUARTER).equals(type)){ - rStatPollutionOrgQMapper.insertPollution(inMap); - }else if (Integer.valueOf(BizParamConstant.STAT_BIZ_YEAR).equals(type)){ - rStatPollutionOrgYMapper.insertPollution(inMap); - } - } - } - } - - /*MySql入表 r_stat_pollution_org*/ - private void insertUnit(List polluctionList,Map> unitMap,List pollutionList,LocalDateTime local, Integer type){ - for (String key : unitMap.keySet()){ - List processList = new ArrayList<>(); - List unitList = unitMap.get(key); - for(String lineid : unitList){ - for (PollutionDTO pollution : pollutionList){ + for (RMpPollutionD pollution : pollutionDayList){ if (lineid.equals(pollution.getLineId())){ processList.add(pollution); } @@ -236,8 +192,11 @@ public class PollutionServiceImpl implements PollutionService { Map inMap = new HashMap<>(); inMap.put("substationId",key); inMap.put("dataDate",local); - for (DictData dictData : polluctionList){ - inMap = processData(dictData,processList,inMap); + for (DictData dictData : dictDataList){ + processData(dictData, processList, inMap); + if (!inMap.containsKey("pollutionType")){ + continue; + } if (Integer.valueOf(BizParamConstant.STAT_BIZ_DAY).equals(type)){ rStatPollutionSubstationDMapper.insertPollution(inMap); }else if (Integer.valueOf(BizParamConstant.STAT_BIZ_MONTH).equals(type)){ @@ -251,40 +210,85 @@ public class PollutionServiceImpl implements PollutionService { } } - private Map processData(DictData dictData,List processList,Map map){ + /*MySql入表 r_stat_pollution_org*/ + private void insertUnit(List dictDataList,Map> unitMap,List pollutionDayList,LocalDateTime local, Integer type){ + for (String key : unitMap.keySet()){ + List processList = new ArrayList<>(); + List unitList = unitMap.get(key); + for(String lineid : unitList){ + for (RMpPollutionD pollution : pollutionDayList){ + if (lineid.equals(pollution.getLineId())){ + processList.add(pollution); + } + } + } + Map inMap = new HashMap<>(); + inMap.put("orgId",key); + inMap.put("dataDate",local); + for (DictData dictData : dictDataList){ + processData(dictData, processList, inMap); + if (!inMap.containsKey("pollutionType")){ + continue; + } + if (Integer.valueOf(BizParamConstant.STAT_BIZ_DAY).equals(type)){ + rStatPollutionOrgDMapper.insertPollution(inMap); + }else if (Integer.valueOf(BizParamConstant.STAT_BIZ_MONTH).equals(type)){ + rStatPollutionOrgMMapper.insertPollution(inMap); + }else if (Integer.valueOf(BizParamConstant.STAT_BIZ_QUARTER).equals(type)){ + rStatPollutionOrgQMapper.insertPollution(inMap); + }else if (Integer.valueOf(BizParamConstant.STAT_BIZ_YEAR).equals(type)){ + rStatPollutionOrgYMapper.insertPollution(inMap); + } + } + } + } + + private void processDataLineId(DictData dictData, PollutionDTO pollution, Map map){ if ("Freq_Dev".equals(dictData.getCode())){ map.put("pollutionType",dictData.getId()); - map.put("value",processList.stream().max(Comparator.comparing(PollutionDTO::getFreqDev)).get().getFreqDev()); + map.put("value",pollution.getFreqDev()); } if ("V_Dev".equals(dictData.getCode())){ map.put("pollutionType",dictData.getId()); - map.put("value",processList.stream().max(Comparator.comparing(PollutionDTO::getVDev)).get().getVDev()); + map.put("value",pollution.getVDev()); } if ("V_Unbalance".equals(dictData.getCode())){ map.put("pollutionType",dictData.getId()); - map.put("value",processList.stream().max(Comparator.comparing(PollutionDTO::getVUnbalance)).get().getVUnbalance()); + map.put("value",pollution.getVUnbalance()); } if ("V_All".equals(dictData.getCode())){ map.put("pollutionType",dictData.getId()); - map.put("value",processList.stream().max(Comparator.comparing(PollutionDTO::getVAll)).get().getVAll()); + map.put("value",pollution.getVAll()); } if ("Plt".equals(dictData.getCode())){ map.put("pollutionType",dictData.getId()); - map.put("value",processList.stream().max(Comparator.comparing(PollutionDTO::getPlt)).get().getPlt()); + map.put("value",pollution.getPlt()); } if ("I_All".equals(dictData.getCode())){ map.put("pollutionType",dictData.getId()); - map.put("value",processList.stream().max(Comparator.comparing(PollutionDTO::getIAll)).get().getIAll()); + map.put("value",pollution.getIAll()); } if ("I_Neg".equals(dictData.getCode())){ map.put("pollutionType",dictData.getId()); - map.put("value",processList.stream().max(Comparator.comparing(PollutionDTO::getINeg)).get().getINeg()); + map.put("value",pollution.getINeg()); } if ("V_Inharm".equals(dictData.getCode())){ map.put("pollutionType",dictData.getId()); - map.put("value",processList.stream().max(Comparator.comparing(PollutionDTO::getVInharm)).get().getVInharm()); + map.put("value",pollution.getVInharm()); + } + } + + private void processData(DictData dictData, List processList, Map map){ + List processDataList = new ArrayList<>(); + for (RMpPollutionD rMpPollution : processList){ + if (dictData.getId().equals(rMpPollution.getPollutionType())){ + processDataList.add(rMpPollution); + } + } + if (!CollUtil.isEmpty(processDataList)){ + map.put("pollutionType",dictData.getId()); + map.put("value",processDataList.stream().max(Comparator.comparing(RMpPollutionD::getValue)).get().getValue()); } - return map; } /** @@ -623,31 +627,6 @@ public class PollutionServiceImpl implements PollutionService { return process(outMap); } - /** - * 监测点污染指标数据入表 harmonic_pollution - */ - private void insertPolluction(List list, long time){ - List records = new ArrayList(); - list.forEach(item->{ - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id",item.getLineId()); - fields.put("freq_dev",item.getFreqDev()); - fields.put("v_dev",item.getVDev()); - fields.put("v_unbalance",item.getVUnbalance()); - fields.put("i_neg",item.getINeg()); - fields.put("v_all",item.getVAll()); - fields.put("i_all",item.getIAll()); - fields.put("v_inharm",item.getVInharm()); - fields.put("plt",item.getPlt()); - Point point = influxDbUtils.pointBuilder("harmonic_pollution", time, TimeUnit.MILLISECONDS,tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbUtils.getDbName()).tag("line_id", item.getLineId()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbUtils.getDbName(),"", InfluxDB.ConsistencyLevel.ALL, records); - } - /** * 参数拼装处理 */ @@ -742,4 +721,75 @@ public class PollutionServiceImpl implements PollutionService { private List getAllLinesLimitData() { return lineFeignClient.getAllLineOverLimit("harmonic-boot","").getData(); } + + /*private List getDataPolluction(LineParam lineParam){ + List lineList; + if (CollUtil.isEmpty(lineParam.getLineIds())){ + List overLimitList = getAllLinesLimitData(); + lineList = overLimitList.stream().map(Overlimit::getId).collect(Collectors.toList()); + }else { + lineList = new ArrayList<>(lineParam.getLineIds()); + } + List pollutionDTOList = new ArrayList<>(); + InfluxDBResultMapper resultMapper = new InfluxDBResultMapper(); + for (String lineId : lineList){ + String sql="SELECT * FROM harmonic_pollution where line_id = '" + lineId +"' "+processDate(lineParam.getDataDate(),lineParam.getType()); + QueryResult dataPolluctionResult = influxDbUtils.query(sql); + List threePhaseList = resultMapper.toPOJO(dataPolluctionResult, DataPolluctionPO.class); + for (DataPolluctionPO dataPolluction : threePhaseList){ + PollutionDTO pollutionDTO = new PollutionDTO(); + pollutionDTO.setLineId(dataPolluction.getLineId()); + pollutionDTO.setFreqDev(dataPolluction.getFreqDev()); + pollutionDTO.setVDev(dataPolluction.getVDev()); + pollutionDTO.setVUnbalance(dataPolluction.getVUnbalance()); + pollutionDTO.setVAll(dataPolluction.getVAll()); + pollutionDTO.setPlt(dataPolluction.getPlt()); + pollutionDTO.setIAll(dataPolluction.getIAll()); + pollutionDTO.setINeg(dataPolluction.getINeg()); + pollutionDTO.setVInharm(dataPolluction.getVInharm()); + pollutionDTOList.add(pollutionDTO); + } + } + return pollutionDTOList; + }*/ + + /*MySql入表 r_mp_pollution_d*/ + /*private void insertLinePollution(List pollutionList, LocalDateTime local){ + for (PollutionDTO pollution : pollutionList){ + RMpPollutionD rMpPollution = new RMpPollutionD(); + rMpPollution.setLineId(pollution.getLineId()); + rMpPollution.setFreqDev(pollution.getFreqDev().floatValue()); + rMpPollution.setvDev(pollution.getVDev().floatValue()); + rMpPollution.setvUnbalance(pollution.getVUnbalance().floatValue()); + rMpPollution.setvAll(pollution.getVAll().floatValue()); + rMpPollution.setPlt(pollution.getPlt().floatValue()); + rMpPollution.setiAll(pollution.getIAll().floatValue()); + rMpPollution.setiNeg(pollution.getINeg().floatValue()); + rMpPollution.setvInharm(pollution.getVInharm().floatValue()); + rMpPollution.setDataDate(local); + rMpPollutionDMapper.insertPollution(rMpPollution); + } + }*/ + + /*private void insertPolluction(List list, long time){ + List records = new ArrayList(); + list.forEach(item->{ + Map tags = new HashMap<>(); + Map fields = new HashMap<>(); + tags.put("line_id",item.getLineId()); + fields.put("freq_dev",item.getFreqDev()); + fields.put("v_dev",item.getVDev()); + fields.put("v_unbalance",item.getVUnbalance()); + fields.put("i_neg",item.getINeg()); + fields.put("v_all",item.getVAll()); + fields.put("i_all",item.getIAll()); + fields.put("v_inharm",item.getVInharm()); + fields.put("plt",item.getPlt()); + Point point = influxDbUtils.pointBuilder("harmonic_pollution", time, TimeUnit.MILLISECONDS,tags, fields); + BatchPoints batchPoints = BatchPoints.database(influxDbUtils.getDbName()).tag("line_id", item.getLineId()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); + batchPoints.point(point); + records.add(batchPoints.lineProtocol()); + }); + influxDbUtils.batchInsert(influxDbUtils.getDbName(),"", InfluxDB.ConsistencyLevel.ALL, records); + }*/ } diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/Impl/line/ReportServiceImpl.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/Impl/line/ReportServiceImpl.java index a8aef2217..2ac99f388 100644 --- a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/Impl/line/ReportServiceImpl.java +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/Impl/line/ReportServiceImpl.java @@ -312,7 +312,7 @@ public class ReportServiceImpl implements ReportService { for (List columnValue : values) { for (int i = 0; i < columnValue.size(); i++) { if (columns.get(i).equals("value")) { - data.setValue(columnValue.get(i).toString()); + data.setValue(String.format("%.3f", columnValue.get(i))); } } } diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/line/DistortionRateService.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/line/DistortionRateService.java new file mode 100644 index 000000000..b7d835c56 --- /dev/null +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/line/DistortionRateService.java @@ -0,0 +1,13 @@ +package com.njcn.prepare.harmonic.service.line; + +import com.njcn.prepare.harmonic.pojo.param.LineParam; + +/** + * @author xiaoyao + * @version 1.0.0 + * @createTime 2022/11/7 9:18 + */ +public interface DistortionRateService { + + void distortionRate(LineParam lineParam); +} diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/line/HarmonicGeneralService.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/line/HarmonicGeneralService.java new file mode 100644 index 000000000..389373dfe --- /dev/null +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/line/HarmonicGeneralService.java @@ -0,0 +1,13 @@ +package com.njcn.prepare.harmonic.service.line; + +import com.njcn.prepare.harmonic.pojo.param.LineParam; + +/** + * @author xiaoyao + * @version 1.0.0 + * @createTime 2022/11/3 11:02 + */ +public interface HarmonicGeneralService { + + void generalData(LineParam lineParam); +} diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/line/HarmonicMetricService.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/line/HarmonicMetricService.java new file mode 100644 index 000000000..b0c445b07 --- /dev/null +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/line/HarmonicMetricService.java @@ -0,0 +1,13 @@ +package com.njcn.prepare.harmonic.service.line; + +import com.njcn.prepare.harmonic.pojo.param.LineParam; + +/** + * @author xiaoyao + * @version 1.0.0 + * @createTime 2022/11/3 9:05 + */ +public interface HarmonicMetricService { + + void metricData(LineParam lineParam); +} diff --git a/pqs-prepare/harmonic-prepare/src/main/resources/bootstrap.yml b/pqs-prepare/harmonic-prepare/src/main/resources/bootstrap.yml index 1da0f78b0..255b645c2 100644 --- a/pqs-prepare/harmonic-prepare/src/main/resources/bootstrap.yml +++ b/pqs-prepare/harmonic-prepare/src/main/resources/bootstrap.yml @@ -45,9 +45,9 @@ logging: ##mybatis配置信息 -#mybatis-plus: -# #别名扫描 -# type-aliases-package: com.njcn.user.pojo +mybatis-plus: + #别名扫描 + type-aliases-package: com.njcn.prepare.harmonic.pojo mqtt: client-id: @artifactId@${random.value}